测试体系的建立是为了确保软件测试的全部活动按计划、按标准的进行,是测试人员的行动纲领和职责指导。也就是有这样的一个体系、流程来指导他们的工作,培养了他们的主人翁责任感。让测试工作开展得有条不紊。
主要的内容有:测试流程,测试方针、测试规程、文档模版、质量标准、测试工具、测试技术和方法等内容。
测试体系的主要目标(5W3H):目的是告诉与测试活动相关的人员在什么样的时间,什么样的地点,由谁来做,做什么样的事情,为什么做,如何做,怎么样才算完成,缺陷任何分析和预防等。可以简称:5W3H.
1、为什么要测试系统(Why) ?
测试新功能:每发布一个新的版本,首先要去测试它的新功能。创建回归测试的测试套件验证缺陷修改:在这个测试周期中要验证上个测试周期的缺陷修改情况。验证系统性能检测新硬件
2、如何测试系统(How)? 系统测试:检查系统总体功能
压力测试:在反复相同的操作下、或其他压力条件下,比如:低内存空间/低磁盘空间等,检测软件的反应。
安装测试:检验系统安装得是否正确,而且与已安装的软件不发生冲突。
安全测试:测试系统存取权限和授权的级别
边界测试:利用数据边界和系统边界检验程序
3、什么时候进行测试(When)? 在开发流程的哪个阶段开始测试?
在需求规格说明书一出来,或项目管理计划一出来,测试人员就开始有事做:写测试计划、编写测试用例、执行测试、测试报告和缺陷分析。很多老板以为要编码结束后才开始测试工作,所以不肯有专职的测试人员,怕他们在项目前期没有事做。
前提条件和附属条件是什么?
多长时间需要进行一次测试?
交货的时间表是什么?
什么时候停止测试? 什么时候停止测试是很有学问的,很多公司多半是在没有时间、没有资金是,老板或项目经理说了停止就停止。事实上根据bug预测、bug发现率与错误修正率的时间曲线来决定的。只有当这个曲线达到水平线后方才可以停止。4、谁来实施测试(Who) ?硬件:具备什么样的服务器、客户端及其网络环境。
软件:安装什么样的软件环境最适合作这些测试。
体系架构:测试的类别有很多,不同的人进行不同的测试,比如开发人员做单元测试,测试人员作功能测试、集成测试、非功能性测试,而让市场、需求人员、客户去做验收测试
数据:需要什么样的测试数据来实施这一次的测试,这些测试数据的设计。
人力资源:按测试计划的要求安排相关的人力资源。5、在哪里进行测试(Where) ?在开发服务器上测试?
开发人员可能会叫你在测试服务器上测试,事实上这样对测试效率和测试人员的情绪影响是很大的,因为开发服务器是一个极不稳定的环境。而且也没明显的测试阶段。
建立一个测试实验室 ?
对于有很多项目的公司,建立一个测试实验室是很必要的,主要用来做环境的兼容性测试,压力、性能测试,验收测试等等。
为了减轻测试者本地机器的负荷,使之在进行测试的同时可以做其他测试,
远程定时执行测试的机制。6、测试什么(What) ?自动测试中应用程序的主要特点是什么?
按重要性将这些特点排序?
自动测试各部分的相对重要性?
总体质量目标是什么(可用性,功能,可靠性,性能等等)?
7、怎么样才算完成(How)?
要定义测试的完成条件和完成标准, 以便达到这些条件和标准后应该立即停止测试,否则在经济和时间上是不允许的,因为测试可以永远下去.
8、缺陷如何分析和预防(How)?
测试过后应该对测试出的错误类别,错误特点作分析和提出预防措施,以便在将来的项目中有意识的去避免,这就是CMM5中说的缺陷预防.