软件测试方法
1编写目的
本文档是测试组的日常工作规范,主要包括测试中提交问题、问题处理的规范,以指导测试人员按照正确的Bug 提交流程、Bug 书写格式、Bug 问题处理来保证测试工作的有效进行。
2测试原则
2.1判断bug的原则
1.软件未达到产品规格说明书(需求)标明的功能。
2.软件功能超出规格说明书指明的范围。
3.软件未达到规格说明书虽未指出但应达到的目标(隐含需求)。
4.软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不
好。
需要注意的是,测试人员报告Bug时,应当保证Bug是可以重现的。对于有时不可重现的Bug,应当反复测试,直到最终确定Bug的发生场景为止。
2.2描述bug的原则
1.简洁:只解释事实和演示、描述Bug必需的细节;
2.单一:每一个记录中针对一个Bug;
3.清晰:要清楚地描述出Bug的发生场景,包括前置条件和操作的详细步骤;
4.再现:按照预定步骤可以重现相同状况;
5.在报告Bug时只描述事实,不做评价;
6.必要的时候可以添加注释(remarks);
7.可以上传屏幕抓图和其他附件。
2.3测试流程
2.4测试bug的方法
2.4.1单元测试
阶段目标:检查各模块内部可能存在的各种缺陷,验证设计的模块的功能是否基本实现。
测试环境:开发环境
输入配置:《单元测试计划》、源代码、《软件需求规格说明书》、《设计说明书》、《测试用例》。
输出配置:《BUG一览表》。
准备就绪准则:
1)编码完成、经过静态审查、评审;
2)输入配置均经过评审;
3)测试环境、测试程序、测试数据、测试工具等经过确认。
对于测试计划、测试用例,准备使用前通过同行评审。
当软件需求、软件设计或代码更改时,适当更改测试计划、测试用例,并在各有关测试类型中适当进行回归测试。
主要任务:
1)进行白盒测试、可辅以黑盒测试,语句覆盖应达到100%;
2)局部数据结构测试(对数据类型、长度、变量初始化测试;检查相关全局变量);
3)重要路径测试(对重要分支/条件、控制流程进行测试、检查分支的判断条件、计算方
法等);
4)边界测试(输入、输出数据的最大值、最小值,数据流判断条件的比较值、循环的最
大次数、列表的最大长度等都属于边界值,对等于、大于、小于边界值的情况都要进
行测试);
5)错误处理测试(要求能预见各种可能的出错情况,并设置适当的出错处理,提示的错
误应与实际相符,出错处理应在系统干预之前);
6)运行时间测试(如果对模块运行时间有要求,应进行关键路径测试,以确定最坏情况下
和平均意义下影响模块运行时间的因素,提高软件性能)。
测试通过准则:
1)完成了上述主要任务;
2)程序中所有的逻辑路径至少进行过一次测试;
3)对于各模块的输入和输出可以进行,程序的主干路径畅通;
4)模块中设置了错误出口,运行中不至于崩溃或死循环;
5)用户界面不完美但能够工作;
6)各模块的测试用例至少执行了一遍;
7)修正了80%以上的缺陷,且未遗留1、2级缺陷。
2.4.2集成测试
阶段目标:发现并排除各模块连接中可能出现的问题,验证软件的主要功能是否基本实现。
测试环境:开发环境
输入配置:被测软件、《集成测试计划》、《需求规格说明书》、《设计说明书》、、《测试用例》及其它相关文档。
输出配置:《BUG一览表》
准备就绪准则:
1)单元测试通过评审,软件组装完毕;
2)输入配置均经过评审;
3)测试环境、测试程序、测试数据、测试工具等经过确认
对于测试计划、测试用例,准备使用前通过同行评审
当软件需求、软件设计或代码更改时,适当更改测试计划、测试用例,并在各有关测试类
型中适当进行回归测试
主要任务:
1)连接各个模块时,验证穿越模块接口的数据是否会丢失;
2)一个模块的功能是否会对另一模块的功能产生不利影响;
3)各个子功能组合起来,能否达到预期要求的父功能;
4)全局数据结构是否合理;
5)单个模块的误差是否会累积放大到不可接受的程度
测试通过准则:
1)完成了上述主要任务;
2)模块组装的顺序符合设计要求;
3)模块之间的数据传输可以进行;
4)组装后软件的主要功能可以正常启动和退出;
5)用户界面不完美但能够工作;
6)有关模块接口的测试用例至少执行了一遍;
7)修正了3级缺陷80%以上、4级缺陷60%以上,且未遗留1、2级缺陷。
2.4.3系统测试
系统测试采用黑盒测试的策略对整合版本进行系统测试。
对系统的功能性(功能实现是否正确;是否满足需求、设计)、安全性(身份鉴别、访问控制、日志管理、数据保密性、数据备份与恢复)、可靠性(容错性、数据保护、系统运行
稳定性)、易用性(易理解性、易学性、易操作性)、效率(查询效率、统计效率)等方面进行测试。
安全性:
1)身份标识和鉴别功能;
2)登录失败处理功能,系统对登录失败用户提供错误提示信息;
3)正常访问控制和处理能力,系统可以对不同的用户配置不同的操作权限和数据访问
权限;
4)日志管理功能,系统具有日志查询和归档功能;
5)日志内容完整性,日志内容基本完整,包括操作人员、操作类型、操作内容、操作
时间等信息;
6)数据保密性,数据在传输过程中,用户名和密码采用了加密措施;
7)数据存储保密性,系统的数据采用何种加密措施,实现实时存储保密性;
8)数据的备份与恢复,提供专用数据备份与恢复手段,数据备份的周期时间。
可靠性测试:
1)测试系统是否可以屏蔽用户的误操作;对错误有正确提示;
2)测试系统输入错误数据时,系统是否不会崩溃、异常退出或丢失数据;
3)测试系统有错误操作时,系统是否不崩溃、异常退出或丢失数;
4)测试系统,通过输入的不同(如数据格式或长度等符合、不符合软件设定的要求),验
证系统人机接口有效性检验功能是否正确。
易用性测试:
1)测试系统的用户界面显示信息是否正确。
2)测试系统的用户界面显示信息是否利于用户理解。
3)测试系统的用户界面是否直观清楚。
4)测试系统的用户界面是否易用户于浏览。
5)测试系统提示的格式是否一致。
6)测试系统的菜单的格式是否一致。
7)测试系统帮助的格式是否一致。
8)测试系统提示、菜单、帮助中的术语是否一致。
9)测试系统输入界面和输出界面在外观、布局、交互方式上是否一致。
10)测试系统功能类似的相关界面是否在在外观、布局、交互方式上是否一致。
11)测试系统多个连续界面依次出现的情况下,界面的外观、操作方式是否一致。
12)测试系统是否易用操作。