论软件测试体系的建设
配置管理
软件测试过程是一个复杂性的劳动,测试过程中会产生大量文档。我们主要通过购买工具的方式实行对文档的管理。在文档的管理方面,我们按照公共类、项目类、软件缺陷类、开发人员类、测试工具类:
1. 公共类主要放置测试模板及测试规程说明,测试经验共享文档,开发技术规范等。
2. 项目类主要包括项目各阶段文档,如测试计划、测试用例设计等。
3. 开发人员类是针对每个开发人员易犯错误的总结。
4. 测试工具类主要放置常用的测试工具。
对于每个测试人员来说,由于我们测试管理软件采用的是B/S 结构,所以每个测试人员可以通过internet 网查看和下载公共类、软件缺陷类、开发人员类文档和自己权限范围类的项目文档。
工作流程
为了使测试工作有序,提高工作效率。我们形成了一套测试工作的流程。当一项目启动。测试经理将向所有测试人员介绍项目情况,由测试人员申请测试项目主管,测试经理和项目经理根据实际情况择优选用一测试人员作为测试项目主管。测试项目主管和测试部门经理共同商定该项目各阶段所需的测试人员,随着项目的进行,各阶段测试人员相继加入。每个阶段首先相关测试人员首先对文档进行验证(如下图3),并编写相关测试用例,随后按项目实际情况加入进行测试。
需求分析----------------------------------------- ----需求验证
概要设计 ------------------ 概要设计验证
详细设计 ----------- 详细设计验证
编码-----代码审查
总体来说,项目整个测试过程按V 模型进行,V 模型是测试组织中常用到的一种模型,它指的是根据需求进行验收测试,根据概要设计进行系统测试,根据详细设计进行集成测试,根据编码进行单元测试(如下图4)。对于测试过程中,原则上要求每个测试人员要求必须每天提供测试文档让文档管理员放入测试管理系统中。对于测试阶段和维护阶段测试人员测出的软件缺陷,要求按错误登记分类及时录入系统中,方便开发人员及时查阅,对于软件缺陷,我们通过系统的6 个生命周期状态(打开、工作、验证、取消、关闭、延期)进行管理。开发人员总能通过测试管理软件中的缺陷子系统及时知道自己开发部分所存在的软件缺陷。各阶段测试人员工作完毕相继离开此项目。项目进行完毕时,测试项目主管的使命结束。
需求分析 验收测试
概要设计 系统测试
详细设计 集成测试
编码 单元测试
绩效管理与激励制度
对于测试人员来说,在绩效管理和激励制度上,我们通常按照测试人员业绩和贡献进行激励。主要表现在两个方面:
1. 为部门提供所负责部分测试技术质量、数量和对其他人员的培训效果。
2. 项目部分,对于每参与一个项目的测试,测试人员要一定绩效工资。在项目中,对测试人员绩效考核在于他发现问题个数、等级及说服开发人员修改问题个数和等级;同时在项目投放市场时自己负责发现问题的多少和级别来确定。
存在问题和不足
对这种体系实施一定时间后,经一段时间后,我们发现存在三方面问题:
1. 由于我公司采用独立的测试部门,很容易形成测试人员和开发人员的对立。所以在对测试人员的培训时强调了注意原则性的同时,要注用一定的灵活性,要让开发人员意识到测试人员是他们的朋友,而不是敌人,同时在对测试人员的考核上把说服开发人员改正问题个数作为重要考核内容。但即使这样,形成对立的事情还是时有发生,以后双方沟通问题还应加强。
2. 项目结束后,再测试时人员组织问题和责任划定问题。在项目结束后,我公司通常采用以后再需测试时仍由原该项目测试主管负责进行,但此时组织工作可能不如以前容易,因为此时相关测试人员已经有其他工作安排,同时多次测试的责任和绩效不好划定。在这方面我们公司还需制定具体问题细则。
3. 项目较多时,一测试人员可能在一段时间内完成几个测试项目,容易产生几个项目时间规划对于一个测试人员的时间冲突问题。避免测试人员在多个项目中时间上的交叉也是以后测试经理规划时应注意的问题。