1、概述
本规范是对项目软件测试的一份指导性文件,对软件测试过程中所涉及到的测试理论、测试类型、测试方法、测试标准、测试流程以及软件产品开发单位所承担的职责进行总体规范,以有效保证软件产品的质量。
2、测试目的
测试的目的就是在软件交付前,尽可能多地发现软件中的错误,保证软件质量达到要求标准。即使经过了最严格的测试之后,仍然可能还有没被发现的错误潜藏在程序中。测试只能查找出程序中的错误,不能证明程序中没有错误。
3、测试流程
3.1文档资料准备
准备原型图,需求分析,概要设计,详细设计等相关文档,目的是为了测试人员能够快速准确的了解项目或产品的详情,更好的制定测试计划,也是设计测试用例必不可少的前置条件。
3.2编写测试计划,评审测试计划
测试计划为了合理规划整体测试时间和策略,细化测试具体工作和人员安排为接下来的测试工作做好指引,保障产品或项目顺利交付。测试计划应由测试人员、产品人员、开发人员和项目人员评价审核是否合理以及是否需要修改和补充。
3.3用例设计及评审
测试人员根据测试计划等文档资料设计出合理适用的测试用例,测试经理确认测试用例是否充分覆盖。设计测试用例(以边界值法、等价类划分法为主)。对功能界面要求注意与功能相关的信息显示及显示位置是否正确。
3.4测试实施
根据测试目的的不同,分几个阶段进行测试。
3.4.1单元测试
单元测试主要以开发人员为主对单个单元模块进行测试,主要是白盒测试:分析代码逻辑和标准以及调优。测试人员辅助对单元模块进行功能测试。
3.4.2系统测试
系统测试应力图测试完整,保证产品的正确性、产品整体运行的稳定性、与其他软件产品数据接口间的正确性,以及与需求说明书的一致性。
3.4.3验收测试
验收测试把软件系统作为单一的实体进行测试,测试内容与系统测试基本类似,但是它是在用户积极参与下进行的,而且可能主要使用实际数据(系统将来要处理的信息)进行测试。验收测试的目的是验证系统确实能够满足用户的需要,在这个测试步骤中发现的往往是系统需求说明书中的错误。
3.5测试总结
在测试过程中,测试人员应随时准确详细地记录软件的错误和不妥之处。每个错误(建议)所属的模块、出错描述、错误等级、问题状态、测试日期、测试人、测试版本、图片(需要时)都应该在相应的栏目中填写清楚。最后总体汇总分析所有数据出具报表,确认产品质量是否达到交付标准。
3.6测试注意事项
一定要注意测试中的错误集中发生现象(80%的错误集中出现在20%的模块里),这和程序员的编程水平和习惯有很大的关系。对测试错误结果一定要有一个确认的过程。制定严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见。妥善保存一切测试过程文档(错误记录),意义是不言而喻的,测试的重现性往往要靠测试文档。
3.7测试缺陷判断
P1非常严重的缺陷,例如,软件的意外退出 甚至操作系统崩溃,造成数据丢失。
P2较严重的缺陷,例如,软件的某个菜单不起作用或者产生错误的结果;
P3 一般缺陷,例如,出现多余的功能及按钮,操作逻辑不合理,不符合用户习惯;
P4轻微缺陷,例如,软件的某些字符,图片显示不清晰,布局不合理;
3.8测试缺陷处理
对于测试过程中发现的产品问题,由测试人员及时反馈到开发人员,项目经理应及时组织修改,并定期将修改的版本提交给测试人员进行下一轮的测试。在例外情况下,测试发现的一些缺陷在不影响下一阶段开发、不影响用户使用的情况下,经项目经理批准可以延期处理。对于有争议的产品问题,可以由项目经理和产品经理确定。
4、测试策略
4.1在需求、详细设计、测试计划完成之后,需要有计划性的分出产品的功能点便于测试设计和执行。
4.2要充分考虑测试计划的实用性,即测试计划与实际之间的接近程度和可操作性。从而减少潜在的缺陷。人员分工要明确,必要做到交叉测试,避免漏测。
4.3黑盒测试
黑盒测试也称功能测试,是以用户的角度,从输入数据和输出数据的对应关系来检测每个功能是否都能正常使用,不考虑内部逻辑,主要针对产品界面和软件功能进行的测试 (如:功能不正确或遗漏 界面错误 输入和输出错误 性能错误 终止错误等)。
4.4白盒测试
白盒测试也称逻辑结构测试,测试人员依据程序内部逻辑结构相关信息对代码进行分析,可以检测每条分支和路径发现隐藏的错误,做到代码最优化。
4.5测试依据
测试计划、测试用例、需求分析文档、设计说明书、上阶段测试记录、以及用户反馈意见记录资料等。
5、测试相关文档
测试相关文档应该统一标准命名归类,方便今后查阅和管理。
5.1测试负责人制定测试计划,把握总体测试进度保障质量。
5.2测试结束后,测试负责人编写测试报告便于项目负责人了解产品质量详情。在产品交付给客户的同时测试人员应提供产品使用手册等相关资料。
5.3 软件需求规格说明书是软件达到的各项功能的目标。是测试人员各项工作的依据,没有需求就无法判断测试结果是正确的。
5.4 软件设计说明(概要与详细设计)
软件设计说明(概要与详细设计)包含软件的一些框架、字段、数据库设计等。软件设计说明对测试工作开展有很大影响,没有软件设计说明 很多问题将无法溯源,测试准备的前期工作也是根据软件设计说明来制定的。
5.5 页面原型是项目人员快速熟悉项目的最佳路径
在需求不够明确,设计说明书不够全面的情况下,页面原型也是后期测试用例编写思想的重要根据。