测试工作流程规范
版本记录:
当前版本: 文件状态: 作者: [√]初稿 完成日期: []正在修改 签收人: []正式发布 签收日期: 目录
2测试团队构成 ..............................................
2.1组织结构 ............................................ 2.2测试组职能 .......................................... 2.3职责划分 ............................................ 3测试流程及规范 ............................................
3.1测试流程图 ..........................................
3.1.1完整开发和测试流程图 .......................... 3.1.2测试流程 ...................................... 3.2测试启动阶段 ........................................
3.2.1测试工作启动 .................................. 3.2.2需求分析 ...................................... 3.2.3测试设计阶段 ..................................
XXXX-XX-XX V1.0 3.4实施测试阶段 ........................................
3.4.1实施阶段工作流程图 ............................ 3.4.2实施测试阶段 .................................. 3.4.3提交阶段性报告 ................................ 3.4.4回归测试 ...................................... 3.5总结阶段 ............................................
3.5.1测试归档 ...................................... 3.5.2测试工作总结 .................................. 3.6缺陷跟踪 ............................................ 4发布标准 .................................................. 5争议处理 .................................................. 6标准文档 ..................................................
1编写目的
本文档是测试团队的日常工作规范,主要侧重测试工作流程的实施和控制,明确软件工程各阶段测试团队应参与和完成的工作。并且对于测试团队中关于测试组架构、职能及成员职责进行必要的说明。通过建立规范的测试流程、测试团队组织架构,同时明确测试小组任务、目标和各小组成员的具体职责,对部门测试工作的正常开展起到规范的指导作用。 2测试团队构成 2.1组织结构
部门经理测试小测试小测 试 实
测试测试 实施 测 图1 试 2.2测试组职能 组组软件测试是软件开发过程中的重要组成部分,测试团队主要肩负着施 如下责任:
➢ 在项目的前期、需求文档确立基线前对文档进行测试,从用户体验和测试的角度提出自己的看法。 ➢ 针对测试需求进行相关测试技术的研究。
➢ 根据项目的实际需求,编写合理的测试计划,并与项目整体计划有机地整合在一起。
➢ 编写高效、覆盖率高的测试用例,充分保证测试的完整性和可执行性。
➢ 认真仔细地实施测试工作,内容包括功能性测试,文档测试,兼容性测试,性能测试,安全测试等,并提交各阶段测试报告供项目组参考。
➢ 进行缺陷跟踪与分析。
➢ 对测试整个过程进行总结,完善和优化测试流程,提高和改进测试方法和技术。 2.3职责划分
在人力资源有限的情况下,一个团队成员可能会同时承担多个角色。 角色名称 相关主要责任 确定测试组长,分配测试任务给测试组。 同其他部门协调,提供测试组所需的内、外部门经理(或项目部资源。 经理) 了解项目进度,对测试组的工作进行指导、监督。 全权负责所分配的测试任务。 给小组内成员分配指定任务。 协调测试组内部相关工作,对组内成员进行工作上的指导、监督。 代表测试组与其他角色组进行沟通。 划分模块,分解任务,完成测试用例概要设测试组长 计。 参与测试计划制定,辅助编写所负责部分测试用例。 实施测试用例,执行测试,提交当日测试记录。 编写产品(项目)总结性测试报告。 参与测试计划的制定,辅助编写所负责部分测试用例。 测试实施工程师 实施测试用例,执行测试 提交当日测试记录。 检查缺陷处理结果。 表1
3测试流程及规范 3.1测试流程图
3.1.1完整开发和测试流程图
图2
注:
1. 白色框代表整个开发和测试流程中的各个具体环节。 2. 绿色框代表测试团队所参与的活动。
3. 黄色框代表某一测试活动需跨越多个环节。 4. 蓝色框表示具体环节中测试团队的产出成果。
3.1.2测试流程图 图3
3.2测试启动阶段 3.2.1测试工作启动
由公司相关部门组织召开项目启动会议,提交需求规格说明书,并且成立项目测试组和明确项目测试组长。 过程要点 输入条件 工作内容 详细说明 项目需求及软件规格定义文档 1.项目经理邮件通知测试组长正式测试时间,测试规模预估等,同时提交相关最新项目资料 项目需求及软件规格定义文档。. 项目开发计划 其他相关资料 2.组建测试小组成员,并指导测试组长及测试测试工程师 3.召开测试启动会议,提供需求规格说明书,确定测试的工作重点 退出标准 责任人 测试小组 项目负责人,测试组长 表2
3.2.2需求分析
过程要点 输入条件 工作内容 详细说明 需求定义完成 测试团队成员对需求中不清楚、不完整、太概括或存在疑义的地方提出问题,相关人员解答并确认。 退出标准 参与人员 责任人 所有人员对需求无异议 需求调研人员,开发组,测试组 测试组长 表3
注:
1.需求定义基本完成,此时应在评审会议召开之前发给测试团队,预留时间给测试相关人员熟悉、理解。
2.测试组主要由测试组长、测试实施等人员组成。
3.2.3测试设计阶段 3.2.3.1设计测试计划
针对需求分析文档和项目开发计划文档测试完成后,测试组需要编写测试计划文档、制定测试策略及预估测试过程中的风险,并设计出合理的规避风险的策略,为后续的测试工作提供直接的指导。 过程要点 输入条件 详细说明 项目需求文档建立,项目开发计划完成 根据项目的需求文档、设计文档,按照测试计划文档模板编写测试计划。测试计划中应该至少包括以工作内容 下关键内容: 依据项目背景及要求,确定测试环境。 测试需求——需要测试组测试的范围,估算出测试所花费的人力资源和各个测试需求的测试优先级 测试策略——确定项目的测试计划内容,整体测试的测试方法和每个测试需求的测试方法,同时做好测试进度安排及人员调整。 测试资源——本次测试所需要用到的人力、硬件、软件、技术的资源 测试组角色——明确测试组内各个成员的角色和相关责任 可交付工件——在测试组的工作中必须向项目组提交的产物,包括测试计划、测试报告等等 风险管理——列举出测试工作所可能出现的风险 测试计划编写完毕后,必须提交给项目组全体成员,并由项目组组织测试计划的评审(根据具体的实际情况,也可由测试组内部人员进行评审)。 测试计划由项目组评审并通过. 在项目开发过程中,要适时的对测试计划进行跟退出标准 踪,以及评估此计划的完整性、可行性,在项目结束时还要最后评估一下测试计划的质量 责任人 测试组长 表4
3.2.3.2设计测试用例
在需求分析文档确立基线以后,测试组需要针对项目的测试需求编写测试用例,在实际的测试中,测试用例将是唯一实施标准。在用例的编写过程中,具体的任务和责任人如下: 过程要点 输入条件 工作内容 详细说明 测试需求明确,测试计划明确 根据测试计划设计测试用例,设计参考原则: 等价类划分 边界值分析 错误推测等 业务知识及相关流程 退出标准 测试用例需要覆盖所有的测试需求 测试用例集需进行评审并通过 项目进行过程中,适时的根据需求变更来对测试用例进行维护 责任人 测试组成员 表5
3.4实施测试阶段
3.4.1实施测试阶段工作流程图 表6
3.4.2实施测试阶段
实施测试用例将花费测试组大部分时间,这些工作都是建立在前期很多计划工作的基础上。测试时间根据项目的功能复杂而定。
实施测试阶段主要包括集成测试,系统测试,验收测试等,其中系统测试一般有三轮SIT1测试:
1) 根据系统需求和测试用例,尽可能发现系统中的问题,提交BUG单给开发进行修改,然后回归问题,SIT1结束,要求系统功能正常,没有严重错误 2) SIT2测试:发散性测试,考虑特殊场景,浏览器兼容性测试,性能测试,安全性测试等,提交BUG单,回归问题单,SIT2结束,要求整体系统功能畅通,页面显示与客户要求一致,无明显异常 3) SIT3测试:整体测试,保证系统的正确性和质量,SIT3结束,要求整体系统达到上线标准 过程要点 输入条件 计划,来执行测试用例。 进入每个测试阶段之前要进行每个阶段准入性测试,通过后,才能进入该阶段的测试 测试实施工程师根据测试计划中分配给自己的测试任务和提供的测试用例,实施相应的测试用工作内容 例。 测试阶段包括集成测试,系统测试,验收测试 软件测试的方法包括:功能性测试,需求文档测试,极限测试,兼容性测试,性能测试(包括压力测试),安全性测试 详细描述 测试组长根据之前的测试计划,确定出每天的测试 记录实施用例的结果,提交当日测试纪录。 提交缺陷到bug管理器。 测试用例中的所有任务被执行,结果被记录。每个退出标准 阶段问题都已解决。 责任人 测试组成员 表7
3.4.3提交阶段性报告
在约定的测试周期完成之后,测试组长需要总结此次测试的结果,编写阶段性测试报告。 过程要点 输入条件 工作内容 详细描述 测试组完成了预定周期的测试任务 测试组长根据此轮测试的结果,编写阶段性测试报告(参考测试阶段性报告模板),主要应包含以下内容: 测试报告的版本 测试的人员和时间 测试所覆盖的缺陷——测试组在这轮测试中所有处理的缺陷,报告测试组长处理的缺陷和实施工程师验证的缺陷。不仅要写出覆盖缺陷的总数,还要写明这些缺陷的去向 测试新发现的缺陷数量 上一版本活动缺陷的数量 经过此轮测试,所有活动缺陷的数量及其状态分类 测试评估——写明在这一版本中,哪些功能被实现了,哪些还没有实现,这里只需写明和上一版本不同之处即可 急待解决的问题——写明当前项目组中面临的最优先的问题,可以重复提出 退出标准 在每轮测试结束之后应尽快将符合标准的测试报告发给项目组 责任人 测试组长 表8
3.4.4回归测试
在每轮测试结束之后,由测试组重新拷贝修改后的最新版本,进行
回归测试。 过程要点 输入条件 详细描述 在每轮测试中,按照现有的测试用例没有新的缺陷被发现,测试报告中全部的活动缺陷都被解决。 工作内容 测试组将按照测试计划中对于回归测试的策略对产品进行回归测试,回归测试的用例属于测试用例的一部分或者是全部测试用例,但不能超出原先预定的测试用例的范围。 记录用例实施结果,提交回归测试记录。 退出标准 回归测试所运行的用例全部通过 缺陷经过验证 所有缺陷都被指明处理方式 责任人 测试实施工程师 表9
3.5总结阶段
测试工作结束或即将结束时,测试组就要开始着手准备进行总结的工作。 3.5.1测试归档
测试归档是在测试验收结束宣布测试有效,结束测试后,对测试过程中涉及到各种标准文档进行归类,存档。 过程要点 输入条件 工作内容 详细描述 测试验收通过 归类、存档测试过程涉及到的文档,主要包括以下文档(必须) 测试任务书 测试计划书 测试用例书 阶段性测试报告 测试总结报告 退出标准 责任人 全部文档归类完毕 测试组长 表10
3.5.2测试工作总结
测试总结工作是在以上的工作全部结束以后,它的目的是评估本次测试工作,总结经验,促进测试流程及规范的改进和提高,同时也提醒全体测试组成员在以后的工作中需注意的问题。 过程要点 输入条件 工作内容 详细描述 项目验收工作完成。 测试组长召开项目测试工作总结会议,会议内容主要为: 测试组长对项目期间的整个测试组的工作情况进行总结,指出测试工作中存在的问题,同时也对工作中表现好的地方给与肯定。(具体包括整个测试情况、流程实施、人员安排、测试方法等) 参与本次项目测试工作的所有成员个人体会和建议。 讨论测试工作中出现的问题,寻求更好的解决办法。 退出标准 参与人员 责任人 所提问题寻求到较好解决方式 测试组成员 测试组长 表11
3.6缺陷跟踪
参考《缺陷管理流程规范》
测试验收结束后,跟踪产品在试运行阶段暴露出来的新缺陷,以及
已提交的缺陷是否再次发生。 过程要点 输入条件 产品试运行、运行。 已发现缺陷是否再次发生 是否有新发现的在测试中未发现的缺陷 是否有新发现的在测试中已发现但未修改的缺陷 工作内容 定义: A类:新发现的缺陷 B类:已发现的缺陷 C类:已发现未修改的缺陷 退出标准 责任人 缺陷跟踪报告 产品经理、项目实施经理 表12
4发布标准
软件产品发布须符合以下标准。 完成计划中所有的工作 实现了需求定义的所有功能特性 完成所有的测试 严重的缺陷都已修正
新发现的缺陷趋于稳定并接近零 产品、文档都已就绪
详细描述 测试组完成了所有的测试实施工作,测试验收通过, 达到其它行业质量标准,完成计划中所有的工作 软件产品未经测试合格,有严重bug时,不允许发布。 5争议处理
如开发团队对测试结论有争议,不能通过协商解决的,项目组成员会议协调解决,并由项目经理最终给出解决结果。测试团队和开发团队应无条件服从结果。 6标准文档 1. 《测试计划》 2. 《测试用例》 3. 《测试记录》 4. 《阶段性测试报告》 5. 《测试总结报告》 6. 《缺陷跟踪报告》