如何实施SQA?

原创 2002年04月10日 10:20:00

如何实施SQA?

何晓源 王慧文(转载自计算机世界报)
 
   SQA(软件质量保证)是CMM2级中的一个重要关键过程区域,它是贯穿于整个软件过程的第三方独立审查活动,在CMM的过程中充当重要角色。

  SQA的目的是向管理者提供对软件过程进行全面监控的手段,包括评审和审计软件产品和活动,验证它们是否符合相应的规程和标准,同时给项目管理者提供这些评审和审计的结果。因此,满足SQA是达到CMM2级要求的重要步骤之一。

背景

  对任何制造业企业来说,质量保证活动都是必不可少的。第一个正式的质量保证和控制职能部门于1916年在贝尔实验室出现,此后迅速风靡整个制造业。软件的质量标准首先出现在20世纪70年代军方的软件开发合同中,此后得到了广泛的应用。在软件越来越普及的今天,"软件质量保证"更成为软件开发企业和最终用户所关心的问题。

  实践证明,软件质量保证活动在提高软件质量方面卓有成效。IBM360/370系统软件的开发经验证明了这一点,IBM的有关报告指出,在8年的时间里,软件质量提高了3~5倍,而SQA是其质量体系中的一个重要组成部分。

目标

  SQA组织并不负责生产高质量的软件产品和制定质量计划,这些都是软件开发人员的工作。SQA组织的责任是审计软件经理和软件工程组的质量活动并鉴别活动中出现的偏差。

  软件质量保证的目标是以独立审查的方式监控软件生产任务的执行,给开发人员和管理层提供反映产品质量的信息和数据,辅助软件工程组得到高质量的软件产品,其主要工作包括以下三个方面:

  ● 通过监控软件的开发过程来保证产品的质量;
  ● 保证生产出的软件和软件开发过程符合相应的标准与规程;
  ● 保证软件产品、软件过程中存在的不符合问题得到处理,必要时将问题反映给高级管理者。

  从软件质量保证的目标中可以看出,SQA人员的工作与软件开发工作是紧密结合的,需要与项目人员沟通。因此SQA人员与项目人员的合作态度是完成软件质量保证目标的关键,如果合作态度是敌意的或者是挑剔的,则软件质量保证的目标就难以顺利实现。

任务

  软件质量保证的主要作用是给管理者提供实现软件过程的保证,因此SQA组织要保证如下内容的实现:

  ● 选定的开发方法被采用;
  ● 选定的标准和规程得到采用和遵循;
  ● 进行独立的审查;
  ● 偏离标准和规程的问题得到及时的反映和处理;
  ● 项目定义的每个软件任务得到实际的执行。

  相应地,软件质量保证的主要任务有以下方面:

● SQA审计与评审

  其中,SQA审计包括对软件工作产品、软件工具和设备的审计,评价这几项内容是否符合组织规定的标准。SQA评审的主要任务是保证软件工程组的活动与预定义的软件过程一致,确保软件过程在软件产品的生产中得到遵循。

● SQA报告

  SQA人员应记录工作的结果,并写入到报告之中,发布给相关的人员。SQA报告的发布应遵循3条基本原则:SQA和高级管理者之间应有直接沟通的渠道、SQA报告必须发布给软件工程组但不必发布给项目管理人员、在可能的情况下向关心软件质量的人发布SQA报告。

● 处理不符合问题

  这是SQA的一个重要的任务,SQA人员要对工作过程中发现的不符合问题进行处理,及时向有关人员及高级管理者反映。在处理问题的过程中要遵循两个原则:其一,对符合标准过程的活动,SQA人员应该积极地报告活动的进展情况以及这些活动在符合标准方面的效果;其二,对不符合标准过程的活动,SQA要报告其不符合性以及它对产品的影响,同时提出改进建议。

实施

  软件质量保证任务的实现需要考虑几方面的问题。首先,要考虑SQA人员的素质。SQA人员的责任是审查软件设计、开发人员的活动,验证他们是否将选定的标准、方法和规程应用到活动中去,因此,SQA工作的有效执行需要SQA人员掌握专业的技术,例如质量控制知识、统计学知识等。其次,SQA人员的经验对任务的实现同样重要。应该选择那些经验丰富的人来做SQA,同时为SQA人员进行专门的培训,以使他们能够胜任这项工作。第三,组织应当建立文档化的开发标准和规程,使SQA人员在工作时有一个依据、判断的标准,如果没有这些标准,SQA人员就无法准确地判断开发活动中的问题,容易引发不必要的争论。第四,高级管理者必须重视软件质量保证活动。在一些组织的软件生产过程中,高级管理者不重视软件质量保证活动,对SQA人员发现的问题不及时处理。如此一来,软件质量保证就流于形式,很难发挥它应有的作用。第五,SQA人员在工作过程中一定要抓住问题的重点与本质,不要陷入对细节的争论之中。SQA人员应集中审查定义的软件过程是否得到了实现,及时纠正那些疏漏或执行得不完全的步骤,以此来保证软件产品的质量。

  此外,做好软件质量保证工作还应该有一个计划,用以规定软件质量保证活动的目标,执行审查所参照的标准和处理的方式。对于一般性项目,可采用通用的软件质量保证计划,而对于那些有着特殊质量要求的项目,则必须根据项目自身的特点制定专门的计划。

  总之,软件质量保证是软件过程中的独立审查活动,它从一个侧面反映了现行软件过程能力的成熟度水平。软件质量保证活动是贯穿整个软件过程的,那种到编码之后才开始关心质量的做法是极其错误的。

如何实施SQA

     SQA(软件质量保证)是CMM2级中的一个重要关键过程区域,它是贯穿于整个软件过程的第三方独立审查活动,在CMM的过程中充当重要角色。  SQA的目的是向管理者提供对软件过程进行全面监控的手...
  • Shimizu
  • Shimizu
  • 2005年04月05日 14:23
  • 6287

如何制定SQA计划

一个SQA能够担当50人左右团队的质量保证活动。或者是同时监管4个有效工程项目。项目数量越多,所需要检查的过程域即越多。如果没有终点的去检查,检察效果势必越来越差。因此好的计划指导,是质量保证活动不遗...
  • Arqui
  • Arqui
  • 2007年09月25日 18:13
  • 2200

SQA和软件测试的区别

下面从二者的异同点进行区别,希望对关注软件测试人和开发人员有个清晰的认识。很多公司只有软件测试部门,而没有真正的QA部门。 相同点 不同点 QATESTQATEST保证和提高产品质量 关注过程 SQA...
  • qianhoubing
  • qianhoubing
  • 2010年04月18日 17:50
  • 1513

再论项目经理和项目SQA的监控职责

在前几篇文章中,我撰写了“项目经理和SQA的职责和培养”。最近在项目过程中,经常遇到项目经理和项目SQA经常为了监控的结果争吵:项目经理认为,SQA的检查结果太僵化,不适合项目,SQA认为是按照现有...
  • zhanghs202
  • zhanghs202
  • 2011年01月19日 16:29
  • 797

SQA报告

    在软件开发实施过程中,SQA是一个独立的角色,而SQA报告也是其工作的一个重点。如何把握好SQA报告的客观性与SQA报告的合适度是一个相当重要的问题。    在SQA工作中,SQA报告有些时候...
  • Shimizu
  • Shimizu
  • 2005年04月05日 14:38
  • 6540

SQA 问题集锦

什么是软件的“质量”?高质量的软件是适当的、无错误的,能在预算内按时交货,满足需求/或期望,并且是可维护的。所以,质量是一个主观的术语。它取决于谁是客户以及客户对项目计划的影响。对一个软件开发项目来说...
  • coderzhou
  • coderzhou
  • 2004年12月10日 11:08
  • 2146

这才是打开软件品质保证工程师(SQA)职责的正确姿势

综合IEEE SQA的定义、ISO9000-3 的相关章节、CMM要求,更为清晰及详细的SQA职责定义应该如下(Daniel Galin《Software Quality Assurance》) ...
  • u011938906
  • u011938906
  • 2017年06月02日 18:00
  • 545

如何做好SQA

1. 引言 在CMM标准下,SQA(质量保证)人员独立于软件项目组负责软件质量保证,具体的职责在我们的《软件质量保证》(机构标准v1.1)KPA文档中定义如下: 1) 实施软件质量保证活动; 2) 定...
  • Alexcheng
  • Alexcheng
  • 2006年10月30日 15:58
  • 943

Interview Question Site Link

Questions (and some answers) specifically for QA / Testinghttp://www.geocities.com/xtremetesting/Int...
  • golden730
  • golden730
  • 2007年07月05日 10:13
  • 483

软件质量保证------我们需要什么样的QA

 本篇总结分共5页,分以下几个内容: 1.         SQA真的能提高软件的质量么? 2.         SQA要保证什么?SQA能提高什么? 3.         CMMI和公司开发能力 4...
  • zhanghs202
  • zhanghs202
  • 2008年02月25日 15:57
  • 1922
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何实施SQA?
举报原因:
原因补充:

(最多只允许输入30个字)