标准查询网-电话:010-62993931

SQA和SQC缺一不可

点击数: 【字体: 收藏 打印文章 查看评论
 


  在软件企业的质量保证体系建设过程中,一般需要独立完成以下几个流程:项目管理流程、软件开发流程、软件测试流程、质量保证流程、配置管理流程。这些流程需要相辅相成,通过项目管理流程将所有的活动贯穿起来,共同来保证软件产品的质量。在众多的流程中,软件开发流程为质量保证体系中的主流程,其他流程为辅助流程。

QA、QC的职责

在开始讨论QA、QC的职责之前,我们先假定一个前提条件,即:企业内部的质量保证体系已经建设完毕,即上述的5个流程已经编写完毕,并且通过了试运行,目前正在按部就班地执行。

QA(Quality Assurance)即“质量保证”,QC(Quality Control)是“质量控制”。QA监控公司质量保证体系的运行状况,对公司的质量保证体系的质量负责。QC对每一个阶段或者关键点的产出物(工件)进行检测,对产出物的质量负责。

如果将软件的生产比喻成一条产品加工生产线的话,那QA只负责生产线本身的质量保证,而不管生产线中单个产品的实际质量情况,QA通过保证生产线的质量来间接保证软件产品的质量。

针对软件企业的软件开发过程而言,QA可以进一步明确为SQA,即:软件质量保证,只负责软件开发流程的质量,企业内相对应的角色为软件质量保证人员,有的企业就直接称之为SQA。QC可以进一步明确为SQC,即:软件质量控制,只负责软件开发过程中各个阶段产出的工件的质量,产出的工件可能是相关的文档或者代码等,企业内相对应的角色为软件测试人员。

SQA、SQC的良性协作

SQA和SQC虽然主要的工作都是为了保证软件的质量,但是着眼点不尽相同。SQA通过控制过程来保证软件产品的质量,而SQC是通过控制每个阶段的“结果”来保证软件产品的质量。

如果企业中只有SQA而没有SQC,企业得到了一个很好的流程(生产线),但是如果我们的生产源头没有得到有效控制,进入生产线的材料是残次品,那不管我们的流程控制得多好,最终的产品的质量都不会高。

因为在软件产品的开发过程当中,几乎所有的原材料都是自己生产的,如需求规格说明书、概要设计、详细设计等,单靠过程的控制无法得到无缺陷的“原材料”。由于软件开发的固有特性,我们在每一步的生产加工过程中,都会引入新的缺陷,不管流程多么完美。所以,在每一阶段完成后,都需要对上一阶段的工作产品进行检验,评估这个阶段的工作产品是否符合预定的质量要求,只有这样才能保证最终软件产品的质量。

如果企业当中只有SQC而没有SQA的角色,在每一个阶段SQC都找出了相应的缺陷,如果单从质量保证的观点来看,在理想情况下,上述的软件企业的质量的确是没有问题,因为在每一个阶段,通过大量专业SQC(测试)的努力工作,找出了软件产品中的全部缺陷,这样的产品质量当然没有问题了。

但是我们从另外一个角度看:首先软件中的缺陷在理论上是不可能被全部找出来的,这主要由于软件测试的不可遍布性。其次,维护一个上述的软件测试团队,成本是相当高的,目前国际上还没有哪个商业性的公司能够维护得起。另外,如果在软件生产的过程中,只单一强调对结果的检验环节,而忽视过程控制,会造成持续的返工,极大地推迟交付产品的日期,最终造成软件开发的失败。提高软件的质量,不是持续不断地进行测试,而是要改变软件开发的方式,改变我们的流程,在过程中保证软件产品的质量。

所以SQA和SQC缺一不可,两种角色必须相互配合,在“过程”和“结果”都正确的基础上,才能有效改善软件产品的质量。

作者:贺忻 来源:中国质量新闻网 发布时间:2005年11月14日
相关信息
没有相关内容
用户信息中心
本月排行TOP10
  • 还没有任何项目!
联系我们  |  关于我们  |  友情链接  |  版权声明  |  管理登录
Copyright ©2010 - 2015 北京中标金质科技有限责任公司 电话:010-62993931 地址:北京市海淀区后屯南路26号专家国际公馆5-20室
备案编号:京公网安备11010802008867号 京ICP备09034504号 新出发京零字第海140366号