软件测试规范
1 目的
确保软件产品质量,使产品能够顺利交付和通过验收的一项重要措施。
1 适用范围
适用于项目开发过程中的单元测试、集成测试、系统测试、业务测试、验收测试以及一些专项测试。
2 职责
项目测试负责人组织编制《测试计划》、《测试方案》,指导和督促测试人员完成各阶段的测试工作。项目组测试人员按照《测试计划》、《测试方案》完成所承担的测试任务,并按要求填写《问题报告及维护记录》。
测试经理依照确认规程和准则对工作产品进行确认,提出对确认规程和准则的修改意见项目负责人组织测试环境的建立。
项目经理审核负责控制整个项目的时间和质量。研发人员确认修改测试人员提交的bug。
3 工作流程
3.1 测试依据
详细设计是模块测试的依据。因此设计人员应向测试人员提供《系统需求规格书名书》、《详细设计》、《概要设计》等有关资料。测试人员必须认真阅读,真正弄懂系统需求和详细设计。
3.2 制订《测试方案》
在测试之前,由项目负责人根据《测试计划》的要求,组织人员编制相应的《测试方案》,《测试方案》应包括以下内容:
测试目的;
所需人员及相应培训要求;
测试环境、工具和测试软件;
测试用例、测试数据和预期的结果。
3.3 单元测试
项目开发实现过程中,每个程序单元(程序单元的划分视具体开发工具而定,一般定为函数或子程序级)编码调试通过后,要及时进行单元测试。
单元测试由单元开发者自己进行,使用白盒测试方法,根据程序单元的控制流程,争取达到分支覆盖。对于交互式运行的产品,不便于进行自动测试的,可以采用功能测试的方法进行。
单元测试针对程序模块,从程序的内部结构出发设计测试用例。多个模块可以进行单元测试。
单元测试内容包括模块接口测试、局部数据结构测试、路径测试、错误处理测试等;
单元测试组织原则一遍根据开发进度安排对已开发完成的单一模块进行测试;
单元测试停止标准:完成了所有规定单元的测试,单元测试中发现的bug已经得到修改。
3.4 集成测试
编码开发完成,项目组内部应进行组装测试。
集成测试由项目负责人组织策划(编写测试计划、测试用例)并实施。集成测试着重对各功能模块之间的接口进行测试,验证各功能模块是否能协调工作、参数传递及功能调用是否正常。测试采用交叉方法,即个人开发的软件应由其他的项目组成员进行测试。集成测试过程应填写《问题报告及维护记录》,测试结果应形成《测试报告》。
3.5 系统测试
在项目开发完成之后,应对整个系统软件和硬件进行系统测试。对性能、可靠性、健壮性、压力承受力等方面分别进行评价,以验证系统是否满足规定的需要。
系统测试由测试负责人组织策划(编写测试计划、测试用例)并实施,系统测试过程应形成《问题报告及维护记录》。
系统测试一般进行如下几种情况的测试:
正常情况非正常情况
破坏性测试边界情况非法情况强度测试性能测试兼容性测试
用户友好性测试
界面设计规范测试:
光标的初始位置字体是否统一
字号是否符合规定标题颜色
按钮的名称是否规范
界面布局是否合理,整体效果如何
输入值测试:
数据类型数据长度
约束条件是否满足,是否完整TAB和Enter键是否起作用
键盘操作能否全部代替鼠标操作输入(光标)是否按照顺序前进
按钮测试:
将按钮放开和封闭是否严格、准确,不能使用的按钮必须封闭
检查“退出”、“取消”等具有共性按钮的功能
异常情况测试:
在完成正常功能测试后,安正常处理的相同操作顺序,执行与正常处理不同的动作例如
正常处理中要求输入日期的字段,这时输入字符或数字
正常处理中输入字段有范围要求,这时输入超过范围的值
正常处理中用两个值限定范围,这时用一个值或不限定正常处理中要求用“Tab”键,这时安“Enter”键或其他键
正常处理中单选框、多选框、下拉框等,十一偶那个非指定键操作
使用不同于指定的按钮操作
3.6 业务测试
在组装测试与系统测试结束后,均可由最终用户或测试人员对系统进行测试。业务测试着重测试业务流程,功能、用户界面等方面。
项目、测试负责人负责组织相关人员制定测试方案和测试用例,并进行测试。
测试的结果应形成《问题报告及维护记录》。
3.7 验收测试
3.7.1 验收测试的条件
按照项目计划规定的验收测试进度安排进行测试准备在验收测试前,各项内部的测试活动都受到监控并争取执行
3.7.2 交付版本的要求
按照集成测试用例完成了整个系统的集成测试集成版本满足设计定义的各项功能、性能要求提交的数据库脚本样本需要完整,没有冗余数据
在集成测试中发现的bug已经得到解决,各级缺陷修改率达到标准
软件需求分析说明书中定义的所有功能都已经实现,性
能指标全部达到性能需求指标
提交阶段性测试报告,包括功能和性能测试报告所有文档齐备完整
3.7.3 版本发布的准则
软件产品通过了单元测试、集成测试、业务测试、系统测试、性能测试
测试部提交文档:测试计划、测试方案、测试用例、测试分析报告
所有测试项必须符合以下标准
致命错误:无功能错误:无
功能缺陷:项目经理、技术经理、测试负责人审核通过
界面缺陷:项目经理、技术经理、测试负责人审核通过
建议:项目经理、技术经理、测试负责人审核通过
以上几项其中之一不满足要求,视为不合格
在产品交付和用户验收之前,通过验收测试来确认在规定的使用环境下整个产品的运行情况是否满足规定的要求。
在产品交付之前,由指定的验收负责人组织制定测试方案和测试用例,主持验收。
验收测试过程应形成《问题报告及维护记录》。
3.8 用户现场测试
将软件部署到用户实际生产环境后,由于环境差异,需要在用户现场进行确认测试,保证系统功能、性能完备,可正常运行。测试内容:
根据软件系统规模,准备现场测试用例,涵盖所有重要功能点,若规模小,需要将全部功能点全部测试一遍对于后台已定义好的工作流、功能栏目路径以及用户信息等数据,不可进行修改和删除操作,新增的测试数据也需要在测试完成后给予清楚
重点检查上传、下载的数据是否可以正常的打开或保存
确认界面美观,基本信息和链接无错误
考虑用户实际的软件环境和网络环境,以客户端最为复杂的软硬件环境作为测试机器,检查有无异常情况出现针对前期发现的bug进行回归测试,以保证发布版本为最新版本
3.9 编写测试文档3.9.1 测试点
将测试模块分解成多国功能点,测试点应涵盖功能点,也涵盖了正常测试和异常测试。
3.9.2 输入数据
输入数据包括界面输入数据、数据库的初始数据及其他外部输入数据。特别是数据库的初始所需属性一一列出,全面是指:数据能达到模块所涉及的全部功能,典型是指这个数据能充分反映功能特点。
3.9.3 测试描述
描述测试步骤,包括:操作员所执行的动作(包括鼠标、键盘、加载外部数据等操作);系统的反应,包括:光标定位、光标聚焦、显示字段值、按钮的封闭和放开、功能键的封闭和放开、系统提示和系统消息等。
3.9.4 预期输出数据
按准备的输入数据和设计要求的处理过程,模块应输出的数据。 输出数据包括:屏幕输出数据、输出到数据库的数据、输出到其他外部介质上的数据,并指出断点结果或最终结果。
3.9.5 实际输出
填写本测试点程序运行后的实际输出。
3.9.6 正确与否
程序运行后,实际输出结果和预期输出结果一致时,为正常,否则为不正常。
3.9.7 测试结论
填写本次测试的结论,是合格或不合格。若不合格时,应总结
存在的问题,可以让修改者一目了然。
4 缺陷管理
4.1 缺陷的定义及其基本属性
缺陷是指在软件开发过程中的针对软件产品和开发过程中的问题,这些问题已经影响或可能会影响软件产品的质量。缺陷应该具备以下属性,也就是往缺陷管理库或者缺陷列表中提交的缺陷应该具备以下属性:属性名称缺陷标识缺陷类型缺陷验证程度缺陷所处的模块或子系统缺陷出现几率缺陷的重现步骤附件备注
描述
标记某个缺陷的一组符号,每个缺陷必须有一个唯一的标识
根据缺陷的自然属性划分的缺陷种类因缺陷引起的故障对软件产品的影响程度缺陷分步的模块或子系统指发现错误的几率详细的缺陷重现步骤
与缺陷相关的附件(截图、附件、用例等)对缺陷的其他描述
4.2 缺陷分类
根据缺陷的定义,将缺陷分为如下列:
文档缺陷:是指对文档的静态检查过程中发现的缺陷。检查活动包括同行评审、产品审计等。评审的缺陷要根据被评审对象的类型来确定,被评审的对象包括最终出产物和中间过程产出物,比如需求文档、设计文档、计划、报告、用例等
代码缺陷:是指对代码进行同行评审、审计或代码走查
过程中发现的缺陷
测试缺陷:是指由测试活动发现的测试对象(被测对象一般是指可运行的代码、系统,不包括静态测试发现的问题)的缺陷,测试活动包括单元测试、集成测试、系统测试、性能测试等
过程缺陷:有称为不符合项问题,是指通过过程审计、过程分析、管理评审、质量评估、质量审核等活动发现的关于过程的缺陷和问题。过程缺陷的发现者一般是测试人员、项目经理等
4.3 文档缺陷分类
缺陷分类描述不完整不一致
描述
文档内容缺失,或文档应该包括的范围没有涵盖
一致性问题有两类:
一是与源头说明书不一致,比如需求和客户业务需求不一致、设计与需求不一致等二是上下文或者与前提不一致
文档描述是错误的,不可实现或导致错误的输出或结果
该缺陷将会导致用户功能的错误、不满足、不可用
描述错误功能问题
不清楚或有歧义内容的描述不清楚、不能准确表达、或表达的
意思有歧义逻辑错误接口问题
内容组织逻辑不清楚、逻辑错误
与最终用户接口问题、与外部系统的接口问题、内部子系统或模块的接口问题
输入输出问题不细化性能问题安全性问题
输入输出不完整、不正确、不可测试或验证内容还需要进一步细化
文档的设计或实现方式存在性能问题文档的设计或实现方式存在安全性问题
4.4 代码缺陷分类
缺陷分类
常量变量定义问题不满足设计或需求编写代码不符合规范条件判断处理循环处理错误异常处理算法逻辑问题注释问题代码冗余性能问题
描述
4.5 系统测试缺陷分类
缺陷类型功能错误
描述
影响了重要的特性、用户界面、产品接口或全局数据结构,并且设计文档需要争取的变更。如逻辑、循环、递归、功能等缺陷
结构错误脚本错误页面链接错误页面文字错误页面图形错误ALT错误排版错误业务逻辑不合理
Web应用程序结构化页面无法显示,或者显示错误
Web应用程序当中出现脚本错误,包括客户端对数据进行校验和运算的各种情况下产生的错误Web应用程序页面出现空链接、错误链接、死链接
Web应用程序页面出现的中外文拼写、使用、以及不同语种页面的编码错误
Web应用程序页面出现图片内容使用不当,或者无法显示
Web应用程序页面当中超文本标识语言、文本标签解释错误
Web应用程序页面排版不符合要求或者不符合使用习惯
应用程序的实现流程和规定业务流程不一致,或者实现流程无法正确完成。包括流程数据的部分并行、争用、同步等操作,引起的流程断裂、死锁、以及其他异常情况
应用程序实现流程在实际情况下虽然可以完成,但是存在不必要的反复、等待、冗余等影响使用效率的情况其他未分类错误系统改进建议
业务逻辑不方便其他错误建议
4.6 缺陷等级定义
缺陷的严重程度对以上所述的缺陷类型都是适合的,缺陷的严重程度反映的是对缺陷的发现对象可能造成的影响或后果来定义的。
缺陷等级缺陷性质
系统中对应的错误分类系统崩溃系统死锁
描述
一级致命错误
导致对被描述的主要对象的理解错误、不可行、不可运转、对业务和整个系统造成重大损失或损害;对使用、维护或保管人员有危险或不安全,以及对产品的基本功能有致命影响的缺陷
对被描述的部分对象的理解或实现错误,部分的模块或系统不可行或不能运转或部分模块和系统缺失,对整个系统有重大影响或可能造成部分的损失或损害;严重影响使用安全系统中部分单元模块或单个功能描述和实现有错误、有偏差、不一致或有缺失,不影响模块的正常运行,或有影响,但可以有替代的办法或避免办法
基本不影响系统的运行和功能的实现。但是与标准、规范和定义不一致
不在定义、标准、范围的定义和约束之内,但是从提出者来看是需要完善的建议
二级严重缺陷严重错误
三级一般缺陷
次要错误布局不合理
文字错误
四级微小缺陷微不足道
五级建议缺陷新特性
4.7 缺陷优先级定义
缺陷优先级特急加急高中低
描述
需要立刻进行修改一天到两天之内必须修改介于中和加急之间
缺陷需要正常排队等待修复或列入软件发布清单留到组后解决,如果项目的进度跟紧张可以在产品发布以前不解决
4.8 缺陷状态定义
缺陷状态初始状态(New)打回
(FeedBack)已分配
(Assigned)已解决
(Resolved)关闭(Closed)重新打开(Reopen)遗留(Later)
描述
测试或开发人员提交一个新的缺陷,等待开发人员或项目经理分配修改负责人要求缺陷的报告者再次对缺陷进行说明是指已经分配给属主,等待修改。缺陷被属主修改,等待测试人员验证测试人员验证缺陷已经修复测试人员验证,缺陷没有修改正确
经项目经理和技术经理验证此缺陷在本版本中不用修改
4.9 缺陷完成度
缺陷完成度打开(Open)已解决(Fixed)
描述
缺陷没有被解决缺陷已经修改
遗留此缺陷步骤本阶段解决(Suspended)重新打开(Reopen)不做修改(Won’tfix)
重新打开某个缺陷不对这个缺陷进行修改
重复与某个缺陷重复(Duplicate)需求如此不可重现
经理和开发人员经过需求和设计的核实后决定不需要修改
被指派的开发人员想要再现缺陷进行修改个时候,发现缺陷始终不能再现
4.10 缺陷管理流程
5 处理机制
5.1 退回机制
若在测试过程中发生如下情况,将系统退回到申请部门:
经过测试后,发现与需求说明规格说明书中定义的功能项存在较大的差异
单一模块,测试过程中发现缺陷输了较多或者无法继续进行系统其它功能模块的测试,继续测试无意义测试过程中,频繁死机或系统崩溃
主业务流程出现断点
5.2 异常情况处理机制
非正常情况下,需要进行特别处理的情形,此情况需要主管领导签字确认:
上线时间紧急的情况下,未经测试部充分测试就需要部署到用户现场
作为总包时,子商进度明显延迟,尚未进行验收测试就需要上线
5.3 报告机制
若出现以下情况,需要及时向部门领导和项目经理汇报的情况:
测试后期出现重大逻辑错误,修改测试影响上线时间测试过程中用户需求出现重大变更测试负责人定期汇报测试情况
6 测试完成的标准
6.1 被测试出的、在软件错误级别分类中定义的:
一级缺陷,致命错误,100%得到修改并且复测通过二级缺陷,严重错误,100%得到修改并且复测通过三级缺陷,一般错误,95%得到修改并且复测通过四级缺陷,轻微错误,95%得到修改并且复测通过
6.2 用户可以接受未修改的软件错误
6.3 测试超过了预定时间表,由项目经理决定是否停止
测试
6.4 测试结论及评价标准
测试结论拒绝发布测试通过版本
评价标准
遗留了一级、二级缺陷
不能遗留以一、二类缺陷
三类 一般缺陷95%得到修改并且通过复测四类轻微缺陷85%得到修改并且通过复测不能遗留以一、二类缺陷
推荐使用版本
三类 一般缺陷95%得到修改并且通过复测四类轻微缺陷90%得到修改并且通过复测
可以证实发布版本
不能遗留以一、二类缺陷
三类 一般缺陷97%得到修改并且通过复测四类轻微缺陷90%得到修改并且通过复测
6.5 输出
《阶段性测试报告》《性能测试报告》《测试总结报告》《测试问题列表》
7 其他约束9 记录
序 号1234
名 称测试计划测试方案
问题报告及维护记录测试总结报告
编 号