要想软件质量高,SQA 作用不可少

先看一组10年前关于各大公司中SQA组织的统计数据:

50%的公司中,SQA主要做软件测试,稍带着做质量度量;

35%的公司中,SQA主要负责质量评估和度量;

10%的公司中,只有测试,没有专职的SQA;

5%的公司中,只有一两个SQA,SQA的存在只是表演性质。

这是世界500强公司的数据。如果在实施GJB5000的单位里,SQA处于表演性质的,就不仅仅只有5%,50%可能都说少了。

为什么说实施GJB5000的单位里的SQA只是表演性质呢?这些单位的SQA主要源于GJB5000A中的过程域——过程和产品质量保证过程。这个过程要求QA客观地评价产品和过程,确保发现的不符合项得到解决。所以大多数单位的SQA只要负责审核过程和产品,发现几个问题,有了QA记录,就基本满足标准要求了。

实际上,传统的SQA的职责可不只这些,它有10大职责:

  1. 质量度量

  2. 质量评估/预测

  3. 质量统计/根本原因分析

  4. 质量方法(如QFD、六西格玛)培训

  5. 参加软件审查会议,培训审查方法

  6. 确保满足质量标准

  7. 过程符合性检查

  8. 标准遵从性测试

  9. 质量专题培训

  10. 从外部获取质量基准数据

以上传统SQA的职责中的第6、7两条职责对应的就是CMMI/GJB5000A中的产品和过程审核的职责。另外,第2条职责对应ML4级的QPM、第3条职责对应ML5级CAR。除此之外,其它的职责,即便是在CMMI/GJB5000A二级也是可以实现的。

如果SQA能够履行以上职责,那么SQA的价值也就会体现出来了。SQA的价值包括但不限于以下几点:

  • SQA可以评估软件的质量,并且有权叫停有质量问题的软件交付

  • SQA对质量问题的根本原因分析,可以帮助组织进行过程改进

  • SQA推广的质量方法(如QFD、六西格玛),可以帮助组织提高软件质量

  • SQA可以开展专题研究,比如开发质量评估/预测工具

  • SQA可以有效地防止整体进度延误

  • SQA可以有效地降低成本

SQA的上述价值如果体现出来,那么势必会使软件的质量有较大幅度的提高。事实上,几乎每一个平均缺陷去除效率水平超过90%的公司都有一个正式且活跃的SQA组织。

当然,如果要让SQA能够履行这些职责,体现SQA的价值,需要对SQA进行专业培训,使其具备以下的专业技能:

  • 统计分析

  • 功能点分析

  • 测试技能

  • 六西格玛

  • 复杂度分析

  • 根本原因分析

所以,不要再忽视SQA的作用了。真正用好SQA,他会帮你完成一个又一个质量高、进度快、成本低的项目,你所有的投入都会物有所值。

参考书目:《软件工程最佳实践》

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章