匆忙中的测试流程
一、需求分析
软件需求分析所要做的工作是深入描述软件的功能和性能,确定需求设计的限制和软件同其它系统元素的接口细节,定义软件的其它有效性需求。
需求分析可分为需求提出、需求描述及需求评审三个阶段。主要内容包括任务概述,需求规定,运行环境规定等。
通过需求分析,逐步细化对软件的要求,描述软件要处理的数据域,并给软件开发提供一种可转化为数据设计、结构设计和过程设计的数据和功能表示。在软件完成后,制定软件规格说明,为评价软件质量提供依据。
二、测试计划
由测试经理组织项目经理和开发经理确定测试接交时间,得到相关资料,组织测试团队进行需求分析并制定《测试计划》。
《测试计划》主要是根据项目开发计划和测试需求分析结果来制定。一般包括项目介绍,测试目地,测试依据,测试内容,测试策略,测试人员安排,测试软硬件环境,测试日程安排等;
三、测试设计
测试设计主要是指测试用例的设计,测试用例主要是对测试起引导作用,内容包括测试目标、测试环境、输入数据、测试步骤、预期结果等。如下表:
测试用例模板:
项目/软件 | 版本 | ||||||
作者 | 功能模块名 | ||||||
用例编号 | 编制人 | ||||||
修改历史 | 编制时间 | ||||||
功能特性 | |||||||
测试目的 | |||||||
预置条件 | |||||||
测试数据 | |||||||
操作描述 | |||||||
期望结果 | |||||||
实际结果 | |||||||
测试人员 | 开发人员 | 测试日期 | |||||
四、测试环境的搭配
测试环境是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称。保证每一个被提交的缺陷都可以在任何时候被准确的重现。
五、测试执行/实施
测试执行主要是对测试用例的执行,测试执行可细分为:单元测试→集成测试→系统测试→验收测试。
1、单元测试
单元测试又称模块测试,是针对软件设计的最小单位─程序模块,进行正确性检验的测试工作,其目的在于发现各模块内部可能存在的各种差错,多个模块可以平行地独立进行单元测试。
2、集成测试
集成测试就是在单元测试的基础上,需要将所有模块按照设计要求组装成为系统。主要考虑的问题有:
–在把各个模块连接起来的时侯,穿越模块接口的数据是否会丢失;
–一个模块的功能是否会对另一个模块的功能产生不利的影响;
–各个子功能组合起来,能否达到预期要求的父功能;
–全局数据结构是否有问题;
–单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。
在单元测试的同时可进行集成测试,发现并排除在模块连接中可能出现的问题,最终构成要求的软件系统。
3、系统测试
系统测试是与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列测试。系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统的定义不符合或与之矛盾的地方。
4、验收测试
验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。 验收测试是向未来的用户表明系统能够像预定要求那样工作,验证软件的功能和性能如同用户所合理期待的那样。
六、测试缺陷管理
测试缺陷管理主要是对测试过程发现的BUG或不错进行的管理。产生的缺陷报告主要由软件版本号,缺陷号,发现日期,测试者,缺陷描述及缺陷重现步骤,缺陷的重要级别,缺陷出现的频率,缺陷当前的状态,解决提议,验证人及验证日期。
1、缺陷状态
新信息(New):测试中新报告的软件缺陷;
打开(Open):被确认并分配给相关开发人员处理;
修正(Fixed):开发人员已完成修正,等待测试人员验证;
拒绝(Declined):拒绝修改缺陷;
延期(Deferred):不在当前版本修复的错误,下一版修复
关闭(Closed):错误已被修复。
2、缺陷管理一般流程
ü 测试人员提交新的Bug入库,错误状态为New。
ü 高级测试人员验证错误,如果确认是错误,分配给相应的开发人员,设置状态为Open。如果不是错误,则拒绝,设置为Declined(拒绝)状态。
ü 开发人员查询状态为Open的Bug,如果不是错误,则置状态为Declined;如果是Bug则修复并置状态为Fixed。不能解决的Bug,要留下文字说明及保持Bug为Open状态。对于不能解决和延期解决的Bug,不能由开发人员自己决定,一般要通过某种会议(评审会)通过才能认可。
ü 测试人员查询状态为Fixed的Bug,然后验证Bug是否已解决,如解决置Bug的状态为Closed,如没有解决置状态为Reopen。
3、缺陷流程管理要点
为了保证错误的正确性,需要有丰富测试经验的测试人员验证发现的错误是否是真正的错误,书写的测试步骤是否准确,可以重复。
每次对错误的处理都要保留处理信息,包括处理姓名,时间,处理方法,处理意见,Bug状态。
拒绝或延期错误不能由程序员单方面决定,应该由项目经理,测试经理和设计经理共同决定。
错误修复后必须由报告错误的测试人员验证后,确认已经修复,才能关闭错误。
加强测试人员与程序员的交流,对于某些不能重复的错误,可以请测试人员补充详细的测试步骤和方法,以及必要的测试用例
七、测试报告
测试报告文档是测试阶段最后的文档产出物,主要内容包括测试的目地,软件背景,参考资料,测试摘要,测试结果及发现,分析摘要,测试所产生的文档。
经甲师傅评定:测试申请,版本构建之类的内容没有提到了,各个阶段的交付也没有写;
测试流程里面不用具体讲各种测试文档怎么写,主要是明确各种文档主要是做什么,写了有什么好处。
TAG: