
基于角色的软件质量保证.docx
4页基于角色的软件质量保证随着软件项目的增大,软件开发过程所涉及到的人员也越来越多,而各自的分工、职责也越来越细如何有效地组织好人力物力,使得整个软件开发过程能够有条不紊地进行是当前软件开发所面临的普遍问题在软件开发质量掌握的群体协同工作模型中有三个重要的角色:质量保证组、开发组以及测试组这三种角色在软件开发过程中对整个软件质量的好坏起着关键性的作用,而它们之间的相互联系也是非常亲密的 在软件开发质量掌握的群体工作模型中,我们需要分开质量保证组、开发组和测试组这三种角色,保持他们工作的相对独立性,但是他们之间又是相互联系的 质量保证组在软件开发过程中所起到的作用就是对软件质量进行监督和指导其重点工作放在对软件过程各个阶段进行审查和评审,并且制定评审和审查的规程,规定评审和审查的内容、组织形式、进度支配以及评审组织和任务承办单位的职责评审是由有关专业人员或用户通过正式会议,评价或批准软件需求、设计、管理等文档审查是由小组或专业人员检查程序、文档等是否符合有关的技术规程的全部要求 各阶段的评审组通常由质量保证组、开发组和测试组等单位的负责人和来自不同方面的有经验的资深专家组成。
开发组对软件的实现起打算性的作用其工作主要是需求分析说明、软件概要设计文档、软件具体设计文档以及软件程序等的编写和对测试过程中发觉的问题进行纠正等在需求分析阶段,他们的主要工作就是依据用户提出的要求进行整理、分析,并且完成需求分析报告在软件设计阶段,他们的主要工作就是依据需求分析说明对软件进行设计规划,包括软件结构、模块划分、算法以及接口等的设计,并力求保证设计的思路和用户的需求相吻合在软件实现阶段,他们的主要工作就是完成软件的编码工作,期间还要供应与程序代码有关的完整的数据、文档等在软件测试阶段,他们的主要任务就是把测试人员所提出的错误进行修改 测试组对软件质量的保证起非常重要的作用,通常他们是程序问题的第一个发觉者,使得软件在出厂前错误发生率降到最低同样,测试组在软件开发过程的不同阶段所应做的工作也有所不同在软件需求分析和设计阶段,测试组就应当着手编写概要测试计划和具体测试计划等,并且应当有一个具体的测试大纲和测试用例在软件测试阶段,其主要的工作是对软件进行实际的测试,而测试的方法会因不同的系统而有所不同测试中发觉问题,要填写软件问题报告软件测试的每一个阶段,测试组都应当提交一份软件测试报告,以对软件测试过程中所发觉的问题等进行总结分析和汇报。
测试组的工作包括制定软件测试计划、设计测试大纲和测试用例、提交测试问题报告和测试结果报告,它们同样也需要提交给质量保证组进行评审 在以往的软件开发过程中,往往忽视了区分质量保证人员、开发人员以及测试人员的不同职责和作用的重要性较为普遍的问题是过分依靠开发人员,一些开发人员一身兼多职:既是开发工作的骨干,又是测试工作的主力,同时还要兼顾质量保证这样做的后果是显而易见的,它使得人为因素增加,制度规范约束力降低,缺乏有效的相互制约和监督,这对软件质量是极为不利的 在软件项目小组里面,各种人员负责的工作应当说是非常明确的软件质量保证组的工作就是要监督整个开发过程软件的质量问题而对于软件开发组来说,他们所关心的问题就是软件实现的详细细节问题,甚至微小到程序中的每一行代码所完成的功能,都是他们应当考虑的问题对项目测试组来说,他们就是要找出软件中存在的尽可能多的错误从某种意义上来说,错误发觉得越多,则软件的质量就在原来的基础上提高越大所以,一个软件质量的好坏并不能够完全由项目的某个功能小组来打算,而是全部人相互协作,协调全都共同努力的结果为此,项目中各小组之间人员的协同工作就变得尤为重要,这就是我们经常所说的团队合作。
团队合作不仅仅要求全部参与者具有无私奉献的精神与合作意识,从技术上讲,还需要有规范化和工程化的管理方法 在软件开发过程中,各种角色人员之间的联系是相当亲密的如在软件实现阶段,开发组所开发出来的代码单元必需经过软件测试组进行测试,而测试组的测试结果又必需被软件质量保证组所监督,在这里就发生了很多需要相互沟通的事情。
