2017-09-21  6,131 views 评论

系统测试、BUG管理规范制度

系统测试、BUG管理规范制度V1.0

一、总则

1、目的

侧重测试工作流程及规范的控制,明确产品研发的各阶段测试组应完成的工作。测试技术和策略等问题不在本文档描述范围内。

本规范作为所有测试组成员工作前必须掌握的工作规范,也供给其它部门其它组查阅参考,以便于组间的协调沟通,更好的合作完成产品的研发工作。

  1. 使用范围

技术部测试团队及流程接续相关人员

3、责权

角色名称 相关主要责任
测试负责人
  • 组建测试小组
  • 协调测试小组内外部的沟通
  • 组织编制测试大纲(含测试用例)和计划
  • 组织测试准入检查
  • 测试过程中的进度控制、风险管理
  • 测试过程报告
  • 编写测试报告
  • 召集测试评审
测试人员
  • 识别测试需求
  • 参与编制测试大纲(含测试用例)和计划
  • 协助测试准入检查
  • 执行测试用例,测试结果记录
  • 测试缺陷记录与跟踪
  • 协助测试评审
支持人员
  • 为测试工作提供技术支持,比如环境安装、版本布署、测试工具支持等

备注:该角色可选,可根据项目实际情况设置,一般情况下由研发人员担任。

【注】:当某个项目仅有一个测试人员时,该测试人员同时也为该项目内的测试负责人,需要担负起测试负责人的职责。

二、管理内容及要求(根据部门工作情况撰写)

测试类型和测试方法

测试类型

测试工作通常分为4个类型,功能测试、联合测试、性能测试及稳定性测试。公司现在情况主要是功能测试,偶尔需要性能测试。

测试类型 测试意义
功能测试
  • 确保功能符合需求定义
  • 确保所有功能可以正常完成工作
联合测试
  • 一个新功能或一个产品的新版本发布时,要确保与之相配合的产品可以正常配合使用
性能测试
  • 在产品有性能要求的部分,进行性能测试和调优,确保产品性能符合需求
稳定性测试
  • 模拟用户真正的使用情况,设计相应的测试用例,确保产品可以稳定可靠的长时间运行

测试方法

测试类型 测试方法
功能测试/

联合测试

  • 以手工黑盒测试为主,手工执行功能测试用例。
  • 正规测试和随机测试相结合:

根据需求文档撰写测试方案及测试用例来进行常规测试,考虑到测试用例有可能写的不全面,所以在进行常规测试过程中,可以加入随机测试。同时,对预测试出来的缺陷,将其执行过程写成一个测试用例,添加到测试用例集合中,以完善测试用例;

  • 采用测试工具JIRA进行测试用例的管理和缺陷记录、跟踪。
性能测试
  • 性能测试要求满足两种情况:

1)产品在特定工况下可以达到的最高性能(例如:测试时将日志等影响性能的选项关闭);

2)模拟用户真正的使用环境(如:日志功能打开,在一定的用户数量的情况下),

产品真实可以达到的性能;

稳定性测试
  • 稳定性测试要求模拟用户真正的使用情况,设计相应的测试用例,确保产品可以稳定可靠的长时间运行

【注】:黑盒测试过程的参考准则:

(1)必须采用边界值分析法;

(2)必要时采用等价类划分法补充测试用例;

(3)采用错误判断法,追加测试用例;

(4)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,应当补充更多的测试用例;

(5)测试数据应准备充分,应采用有效数据、无效数据、边界数据分别测试验证;

测试提交文件及裁剪说明

阶段 提交文件 必须提交 模板定义 裁剪条件说明
测试需求 测试需求分析报告 项目组自定义 无特殊需求,可省略
测试计划 测试大纲 项目组自定义 各项目组根据测试任务的规模可自定义模板,如遇时间紧急需省略,必须口头评审
测试计划 项目组自定义 如果测试大纲或设计开发计划中已包括了测试计划的内容,则本文档可省略,如遇时间紧急需省略,必须口头评审
测试大纲计划评审记录 项目组自定义 各项目酌情选用,如遇时间紧急需省略,必须口头评审,口头评审则省略
测试用例 公司模板 采用统一测试用例模板,如遇时间紧急需省略,必须口述
测试用例评审记录 项目组自定义 各项目酌情选用
测试实施 测试准入检查表 公司模板 各项目酌情选用
测试记录 项目组自定义 各项目组根据测试任务的规模可自定义模板,如遇时间紧急或是项目特殊,可用其他方式记录。
测试收尾 测试报告 公司模板 采用公司统一测试报告模板,如遇时间紧急或是项目特殊,可用其他方式记录。
测试报告评审记录 公司模板 各项目酌情选用
测试工作改进报告 项目组自定义 各项目酌情选用
测试成果提交 项目组自定义 各项目酌情选用

敏捷测试模式

敏捷测试概念

敏捷测试即是不断修正质量指标,正确建立测试策略,确认客户的有效需求得以圆满实现和确保整个生产的过程安全的、及时的发布最终产品。

敏捷增量测试方法

测试是敏捷开发过程重要的环节,自始自终测试贯穿于每个迭代。整个产品的敏捷开发生命周期可以分为 4 个阶段,即初始阶段,项目的建设阶段,产品发布阶段和产品的维护阶段,在关键的项目建设阶段中,测试被分成两个部分,验证测试和系统测试。

验证测试:静态测试和关键的功能测试。

系统测试:功能测试、联合测试、性能测试、稳定性测试。

敏捷测试流程

敏捷测试流程依据业务场景制定测试策略。在每次敏捷测试的过程中包括验证测试和联合测试。并且不断的进行迭代测试。在系统的所有业务场景都经过敏捷测试过后,进入系统测试阶段。进行所有业务场景的功能测试、联合测试、性能测试、稳定性测试。

敏捷测试流程图

测试传递项报告

敏捷测试

测试总结

测试通过

进入下一次敏捷迭代

测试计划

提交测试

N

Y

Y

N

满足准入条件

系统测试条件

Y

软件测试总结

软件评估

满足发布条件

产品发布

测试用例维护

系统测试和回归测试

测试是否通过

Y

Y

根据缺陷性质来判断更新提交测试的依据:

  1. 严重级别为Urgent和High的修改后立即更新,要保证更新后不能影响其他功能测试。
  2. 功能级别为Medium以下的可以酌情挑选修改。

传统瀑布模式

测试需求分析

过程要点 详细说明
启动条件 需求阶段的工作启动
工作内容 由测试负责人根据项目任务复杂程度组织或指定测试人员进行测试需求分析,从客户角度考虑软件测试需要达到的验证状态,并确定是否要形成测试需求分析报告
结束条件 需求分析完成
例外 对于简单设计更改、衍生产品等只需例行测试的,可不进行测试需求分析
责任人 项目经理
参与人 测试负责人

成立测试小组或确认测试人员

过程要点 详细说明
启动条件 测试任务明确,前期工作启动
工作内容
  • 确认项目的测试人员,若整个项目的测试需要若干个测试人员,则需要成立一个测试小组;
  • 为测试小组任命一名测试负责人,若只有一个测试人员,则该测试人员同时也为该测试组的测试负责人,同时确定测试小组的其它构成人选;
  • 小组内进行必要的培训。
结束条件 测试小组成立
例外
  • 若以前的测试任务已成立过测试小组,则可以复用以前的组织人员和形式
责任人 项目经理
参与人 测试负责人

 

编制测试计划

过程要点 详细说明
启动条件 项目阶段性计划确定

需求规格说明书、详细设计说明书等已评审

工作内容 测试大纲至少包括以下关键内容:

  • 测试目标——对本次测试的要求和要达到的目标
  • 测试范围——需要测试小组测试的范围,和各个测试需求的测试优先级
  • 工作分工——明确测试小组内部及外部配合方的相关责任和工作关系
  • 测试策略——整体测试的总体测试策略、环境、方法和工具等
  • 完成标准——达到何种条件可以认为测试完成
  • 交付文件——测试完成时应提交的文件,比如测试大纲(含测试用例)、测试报告等等

测试计划至少应包括以下关键内容:

  • 主要任务——每项任务的时间计划、前置条件及资源
  • 主要里程碑——关键任务及完成时间点
  • 在项目研发过程中,要适时的对测试计划进行跟踪,以评估此计划的完整性、可行性,在项目结束时还要最后评估一下测试计划的质量
结束标准 测试计划评审通过或得到相关各方的审批
输出文件 测试计划、测试计划评审记录
例外
  • 对于多个系统参与的同一个测试任务,可由主项目组或牵头方统一编制测试大纲和计划,不用每个系统单独编制和出具
  • 测试计划可以在测试大纲中直接详细列明,而不用单独编制
责任人 测试负责人
参与人 项目经理、测试人员

编制测试大纲、设计测试用例

在技术规格书评审通过以后,测试小组需要针对项目的测试范围编制测试大纲、设计测试用例。在实际测试过程中,测试用例可根据实际需要进行更新和调整。在测试用例的设计过程中,具体的任务和责任人如下:

过程要点 详细说明
启动条件 本次测试范围、业务需求已经明确

需求规格说明是、详细设计说明书已通过评审

工作内容
  • 准备本次测试的测试用例
  • 测试用例在该产品的测试用例库中进行选择,如有需要,可以进行增加;
  • 每个测试用例须包括用例编号、测试概述、测试数据、操作步骤说明、预期结果等要素;
  • 测试用例须覆盖所有的测试需求和功能点;
  • 采用统一的模板进行用例设计。
结束标准 测试用例覆盖所有的待测试需求或功能点,并且评审通过
输出文件 测试大纲、测试用例、测试大纲评审记录
责任人 测试人员
参与人 研发人员、项目经理、测试负责人

测试实施阶段

测试准入检查

过程要点 详细描述
启动条件 测试实施准备工作完成
工作内容
  • 测试负责人根据本项目的特点,事先确定测试准入标准中哪些条目可以进行裁剪,并与项目经理及研发人员商讨确认
  • 准入标准中“计划准入标准”是指编制测试计划、测试大纲、测试用例设计时就需要具备的前提条件,应提前进行检查;“执行准入标准”是指在执行测试之前需要进行的检查。以上两类检查应分两次进行
  • 测试负责人和测试人员根据测试准入标准,逐项进行检查,并填写测试准入检查表
  • 对于不满足条件的检查项,要求相关方面进行解决,解决后重新进行检查
  • 必须要通过的检查项,而没检查通过的,视为准入检查不通过,不能进入下一阶段工作
结束条件 测试准入检查通过
输出文件 测试准入检查表
责任人 测试负责人
参与人 测试人员、项目经理、研发人员

 

执行测试用例

过程要点 详细描述
启动条件 测试执行阶段准入检查通过
工作内容
  • 测试人员根据计划,执行相应的测试用例,并做好测试记录
  • 测试人员进行缺陷登记,并跟踪解决情况,及时复测,关闭缺陷
  • 测试负责人跟踪测试用例执行情况,了解影响测试用例执行的因素,及时跟进有关的协调、报告测试状态
  • 测试负责人根据项目的情况,选择有关的报告形式,将测试进展情况及时通报给有关各方
结束条件 测试用例执行完成
责任人 测试人员、测试负责人
参与人 研发人员、项目经理

 

回归测试

在每轮测试结束之后,当研发人员解决完相关问题,重新提交,进行回归测试。

过程要点 详细描述
启动条件 在每轮测试中,按现有的测试用例没有新的缺陷被发现,测试报告中全部的活动缺陷都被解决
工作内容 测试组将按照测试计划中对于回归测试的策略对产品进行回归测试,回归测试的用例属于测试用例的一部分或者是全部测试用例,但不能超出原先预定的测试用例的范围
结束条件 回归测试所运行的用例全部通过
责任人 测试人员
参与人 研发人员、项目经理

 

缺陷管理

过程要点 详细描述
启动条件 测试用例开始执行
工作内容
  • 测试人员在测试过程中,记录被测产品缺陷,跟踪缺陷的分析、解决过程
  • 研发人员及时分析处理缺陷,并按要求记录缺陷的分析处理信息,更新缺陷状态,填制缺陷起源;对需要其它人员参与分析处理的时候,需及时将缺陷分配给下一环节人员
  • 测试人员对待验证的缺陷需及时进行复测,测试通过后关闭缺陷
结束条件 测试用例执行完成,并且缺陷跟踪完成
责任人 测试人员、研发人员、测试负责人
参与人 项目经理

测试收尾阶段

测试实施阶段结束或即将结束时,测试小组可以开始着手准备进行总结报告及收尾工作。

编制测试报告

在测试实施完成之后,测试负责人或测试人员需根据实施测试情况,编制测试报告。

过程要点 详细描述
启动条件 测试小组完成了所有的测试实施工作或测试时间已结束
工作内容 测试负责人或测试人员根据测试的结果,按照测试报告的文档模板编写测试报告,测试报告必须包含以下重要内容:

  • 测试用例执行情况分析 ――测试阶段用例执行的数量、轮次、通过率等
  • 测试过程中已发现缺陷分析――分析缺陷的数量、分布、起源等
  • 未执行用例的风险分析――分析未执行的用例对系统形成的风险
  • 未关闭缺陷的风险分析――分析未关闭的缺陷对系统形成的风险
  • 测试结论――评价测试大纲中定义的测试完成标准是否达到,被测系统的质量评价,存在的风险,以及有关建议
结束条件 测试报告评审通过,发送给相关人员
输出文件 测试报告、测试报告评审记录
责任人 测试负责人、测试人员
参与人 研发负责人、研发人员、项目经理

 

测试工作过程改进

测试过程改进在测试实施阶段工作全部结束以后进行。它的目的是评估本次测试工作,总结经验,使下一次的工作做得更好。本项工作不是一个必须的过程,各项目可根据情况采用。

过程要点 详细描述
启动条件 测试实施阶段结束
工作内容
  • 测试负责人召集测试参与人员,讨论本次测试过程得与失,总结经验,提出改进方法和意见
  • 编写测试工作过程改进报告
结束条件 测试工作过程改进报告编制完成
输出文件 测试工作改进报告
责任人 测试负责人
参与人 测试人员

 

测试成果提交

测试资产提交在测试实施阶段工作结束以后进行,对测试过程中涉及到各种标准文档进行归类,存档。

过程要点 详细描述
启动条件 测试实施阶段结束
工作内容 提交本次测试过程产生的,能为其它项目或本项目后续测试提供借鉴的,测试用例等
结束条件 全部成果归档完毕
输出文件 测试成果清单
例外 如果成果内容不多,结构清楚,则可以省略测试成果清单
责任人 测试负责人
参与人 测试人员

缺陷管理机制

缺陷通过测试管理工具JIRA进行管理

测试团队 研发团队

提交缺陷

缺陷分析

缺陷修复

复测缺陷

是否修复

关闭缺陷

测试人员提交缺陷到JIRA,提交缺陷状态为open,并制定严重级别

研发部门对测试人员提出的缺陷进行分析,确定是否对缺陷进行修改

修改后将缺陷置为fixed,不进行修复或不是缺陷的问题应当修改缺陷状态。

测试人员在新一轮测试时复测研发修复的缺陷

测试过程中发现修复的缺陷仍然存在问题,缺陷状态置为reopen,重新提交至研发部门。

测试验证后不出现问题的缺陷,即可关闭。

缺陷的严重级别以及如何分类

严重级别 描述
5-Urgent 阻碍流程、系统崩溃导致重大任务不能正常进行的缺陷,例如:

1、由于程序所引起的死机,非法退出。

2、死循环

4-High 1、数据库发生死锁

2、错误操作导致的程序中断

3、严重的计算错误

4、与数据库连接错误

5、数据通讯错误等

3-Medium 缺陷导致失去系统主要功能,基本功能不能完整使用。例如:

1、功能不符

2、程序接口错误

3、数据流错误

4、轻微数据计算错误等

2-Low 操作性错误、错误结果、遗漏功能等影响系统要求或基本功能的实现。例如:

1、界面错误

2、打印内容、格式错误

3、简单的输入限制未放在前台进行控制

4、删除操作未给出提示

5、数据输入没有边界值限定或不合理

6、错别字等

1-suggest 建议,不影响使用的瑕疵或更好的实现等。

新功能测试流程

新功能测试输入输出

测试步骤 输入 输出
测试准备 需求分析阶段 产品需求分析文档(必须有) 评审结果
软件开发设计阶段 概要设计阶段

详细设计阶段

评审结果

测试方案和测试计划

软件测试设计阶段 《概要设计》

《详细设计》

《测试方案和测试计划》

测试用例
测试环境准备 《概要设计》

《详细设计》

《测试方案和测试计划》

测试环境清单

测试环境准备完毕

测试执行 冒烟测试 《测试项传递报告》 冒烟测试结果
系统测试和回归阶段 《测试方案和测试计划》

测试用例

《测试项传递报告》

《测试日志》

《轮次总结测试报告》

测试分析和维护 软件测试总结 《系统测试总结报告》
软件评估 《系统测试总结报告》 评估结果
软件测试维护 测试用例的修改

发布评估标准

检验合格依据:

  • 遗留问题中不能有Urgent、High级别的问题;
  • 遗留问题中其他级别的问题需经过研发、测试及产品经理和项目负责人讨论一致同意。
  • 软件达到设计的性能指标。
  • 软件稳定性测试通过,没有不稳定现象。
  • 联合测试通过,无Bug。

满足以上五点,视为产品检验合格。如果产品不满足上述五点,但还需要发布,则应当征得能负责的高层领导的同意。

问题处理

如研发团队对测试结论有争议,应通过评审解决。

三、附则

1、实施日期

2015年3月1日

  1. 解释权属

撰写人和技术部

  1. 其他说明

规则制定和实施有先决条件和相关资源,如果遇到资源不允许情况下,实际执行人有最大解释说明权

四、附件(流程图)

测试工作流程图,可划分为三个阶段,每个阶段由不同的活动组成。

测试需求阶段 测试计划阶段 测试实施阶段 测试收尾阶段

缺陷通过测试管理工具JIRA进行管理

测试团队 研发团队

提交缺陷

缺陷分析

缺陷修复

复测缺陷

是否修复

关闭缺陷

测试人员提交缺陷到JIRA,提交缺陷状态为open,并制定严重级别

研发部门对测试人员提出的缺陷进行分析,确定是否对缺陷进行修改

修改后将缺陷置为fixed,不进行修复或不是缺陷的问题应当修改缺陷状态。

测试人员在新一轮测试时复测研发修复的缺陷

测试过程中发现修复的缺陷仍然存在问题,缺陷状态置为reopen,重新提交至研发部门。

测试验证后不出现问题的缺陷,即可关闭。

新功能测试流程图

需求调研阶段

需求规格说明书

概要设计

详细设计

测试方案和测试计划

测试用例编写

评审结果

评审结果

单元测试和集成测试

测试结果

提交测试

通过冒烟测试和送测清单

系统测试和回归测试

测试是否通过

软件测试总结

软件评估

满足需求

产品发布

测试用例维护

走新增或修改需求流程

Y

N

N

N

Y

Y

N

Y

N

N

N

Y

Y

新增和修改需求测试流程图

新增和修改需求调研

概要和详细设计

是否满足准入条件

系统测试和回归测试

软件评估是否满足客户要求

测试总结报告

测试是否通过

测试结束

测试方案和测试计划

提交测试

N

Y

Y

N

Y

N

原创文章或网络摘录,转载请注明: 转载自守候的时光

本文链接地址: 系统测试、BUG管理规范制度

打赏

给我留言

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: