在软件开发质量控制的群体工作模型中,我们需要分开质量保证组、开发组和测试组这三种角色,保持他们工作的相对独立性,但是他们之间又是相互联系的。
质量保证组在软件开发过程中所起到的作用就是对软件质量进行监督和指导。其重点工作放在对软件过程各个阶段进行审查和评审,并且制定评审和审查的规程,规定评审和审查的内容、组织形式、进度安排以及评审组织和任务承办单位的职责。评审是由有关专业人员或用户通过正式会议,评价或批准软件需求、设计、管理等文档。审查是由小组或专业人员检查程序、文档等是否符合有关的技术规程的全部要求。
各阶段的评审组通常由质量保证组、开发组和测试组等单位的负责人和来自不同方面的有经验的资深专家组成。
开发组对软件的实现起决定性的作用。其工作主要是需求分析说明、软件概要设计文档、软件详细设计文档以及软件程序等的编写和对测试过程中发现的问题进行纠正等。在需求分析阶段,他们的主要工作就是根据用户提出的要求进行整理、分析,并且完成需求分析报告。在软件设计阶段,他们的主要工作就是根据需求分析说明对软件进行设计规划,包括软件结构、模块划分、算法以及接口等的设计,并力求保证设计的思路和用户的需求相吻合。在软件实现阶段,他们的主要工作就是完成软件的编码工作,期间还要提供与程序代码有关的完整的数据、文档等。在软件测试阶段,他们的主要任务就是把测试人员所提出的错误进行修改。
测试组对软件质量的保证起十分重要的作用,通常他们是程序问题的第一个发现者,使得软件在出厂前错误发生率降到最低。同样,测试组在软件开发过程的不同阶段所应做的工作也有所不同。在软件需求分析和设计阶段,测试组就应该着手编写概要测试计划和详细测试计划等,并且应该有一个详细的测试大纲和测试用例。在软件测试阶段,其主要的工作是对软件进行实际的测试,而测试的方法会因不同的系统而有所不同。测试中发现问题,要填写软件问题报告。软件测试的每一个阶段,测试组都应该提交一份软件测试报告,以对软件测试过程中所发现的问题等进行总结分析和汇报。测试组的工作包括制定软件测试计划、设计测试大纲和测试用例、提交测试问题报告和测试结果报告,它们同样也需要提交给质量保证组进行评审。
在以往的软件开发过程中,往往忽视了区分质量保证人员、开发人员以及测试人员的不同职责和作用的重要性。较为普遍的问题是过分依赖开发人员,一些开发人员一身兼多职:既是开发工作的骨干,又是测试工作的主力,同时还要兼顾质量保证。这样做的后果是显而易见的,它使得人为因素增加,制度规范约束力降低,缺乏有效的互相制约和监督,这对软件质量是极为不利的。
在软件开发过程中,各种角色人员之间的联系是相当密切的。如在软件实现阶段,开发组所开发出来的代码单元必须经过软件测试组进行测试,而测试组的测试结果又必须被软件质量保证组所监督,在这里就发生了许多需要互相沟通的事情。
0
顶一下0
埋一下引用地址:



