【IT168 技术文章】
笔者从个人的角度来讲一讲我所认知SQA,使更多的人了解SQA的工作,从而加强开发人员同SQA的无间的合作,共同提高产品的质量和项目的完成。
目的、基本知识
作为项目开发过程中的SQA,我们只有通过开发项目的整个过程,来认识SQA的作用,来真正了解SQA的工作,知道SQA的目的是协助软件工程(开发)小组获取高质量的软件产品,SQA是通过过程控制来协助提高质量。
了解SQA,这同时也是作为一个项目经理所必然要掌握的知识要点之一。
软件质量保证(Software Quality Assurance,通常缩写为SQA)。
SQA的措施主要有,基于非执行的测试(也称为复审)、基于执行的测试和程序正确性证明。复审主要用于保证在编码之前各阶段产生的文档的质量;基于执行的测试需要在程序编写出来之后进行,它是保证软件质量的最后一道防线;程序正确性证明使用数学方法来严格验证程序是否与对它的说明完全一致。
参加软件质量保证工作的人员,可以分为下述两类。
?软件工程师通过采用可靠的技术方法和度量、进行正式的技术复审以及完成计划周密的测试来保证软件质量。
?SQA小组的职责是,辅助软件工程小组以获取高质量的软件产品。其从事的软件质量保证活动主要是计划、监督、记录、分析和报告。简而言之,SQA小组的作用是,通过确保软件过程的质量保证软件产品的质量。
摘自《软件工程》
从以上这些方面可以说明:SQA小组并不负责生产高质量的软件产品和制定质量计划,这些都是软件开发人员的工作。SQA组织的责任是审计软件经理和软件工程组的质量活动并鉴别活动中出现的偏差。
SQA的工作
文档把关
文档的编写,是软件开发过程中最关键的问题,可以说,文档编写是开发人员很头疼但又不得不执行的一件事,实际情况中,开发人员不仅仅要明白文档的编写更要了解文档所要执行的目的,要自己看得明白,不止是说当前看得明白,要保证以后相当长的一段时间内也可以;更要让开发小组的开发协作人员和将来的维护人员还有可能是用户的验收人员能了然,让他们也能尽快明白。
所以,文档务必编订完整,清楚,细致,一个好脑瓜,不如一个烂笔头,说的就是这件事。
编写中文档一定要进行把关。对于文档的把关,从文字和技术两方面同时进行。每方面都应严格执行,一般程序人员认为是文字方面不重要,实际上文字和技术就如同人的脸面和人的身体一样,不可分隔,文如面技如体,应认真的同等对待。
对于文章内容的实质的重要性,在这里就不再一一进行说明。
对于设计文档的技术的重要性,就如同精神的精髓,一家大户的门窗,正所谓点睛之笔,差之一厘,失之千里。设计时当把握好文档的度。
对于关键文档的把关,一般通过专门评审会来正式执行。
过程控制
阶段评审
SQA在重要的阶段(立项、需求、设计、编码等阶段)以评审会集体评审的方式进行阶段评审,进行阶段把关。为保阶段质量,有权完全不通过,完全返工;有条件通过,修改完毕后进入下一阶段;完全通过等三种权力。
评审会由文档专家、技术专家、业务专家、管理专家及其他方面人员组成,主要任务是保证软件工程项目组的活动与预定义的软件开发设计过程一致, 确保软件过程在软件产品的生产中得到遵循。
要保证每一个阶段中的产品是高质量的,防止产品出现问题,过程扩大、功能遗漏、过程失控等。
过程审计
SQA人员在软件开发的过程中必须全程参加,跟踪执行过程中各细节的审计,对整体过程,按计划好的项目规范逐一进行跟踪监控:记录工作的过程和结果,写入报告,发送给相关的人员。
SQA将对项目经理、系统分析员、程序员、测试经理、测试员的工作过程进行审计,SQA有权与高级管理者进行直接沟通,SQA报告(品质建议书),可以不通过管理者,直接发送给相关的开发设计人员。