软件测试流程和规范I软件测试的基本流程与测试规范目录前言...................................................................................................1一、软件测试的流程............................................................................21.测试基本流程图.........................................................................22.测试各阶段工作流程..................................................................32.1需求分析阶段...................................................................32.2计划与设计阶段................................................................42.3测试实施阶段...................................................................42.4测试结束..........................................................................52.5测试验收和归档................................................................7二、软件测试规范...............................................................................81.测试阶段所基于的文档(包括但不限于)....................................81.1软件需求规格说明书.........................................................81.2软件设计说明(概要设计或详细设计)..............................81.3软件设计原型(demo)....................................................91.4接口文档..........................................................................92.测试的种类(按阶段划分)........................................................92.1单元测试..........................................................................92.2集成测试........................................................................112.3冒烟测试(非必须).......................................................122.4系统测试........................................................................122.5随机测试(非必须).......................................................132.6验收测试(非必须).......................................................133.测试的类型(按测试内容划分)................................................143.1功能测试........................................................................143.2界面测试(UI测试)......................................................193.3接口测试........................................................................20软件测试流程和规范II3.4性能测试........................................................................203.5兼容性测试....................................................................223.6安全测试........................................................................223.7安装测试........................................................................244.缺陷管理.................................................................................254.1缺陷提交规范.................................................................254.2缺陷生命周期.................................................................274.3缺陷等级划分.................................................................27软件测试流程和规范第1页前言此文档就项目中测试部分的工作流程进行了一个梳理,参考了不同的资料,提炼整理的内容为业内已经成型、被大多数项目采用和认可的。因此,该流程并不针对某一个具体的企业或者项目,运用到某一个项目中时,可进行必要的增减和修改。另外,文章中测试规范部分,也是查阅了网上很多的资料、参考了其他项目文档,并结合本人经验整理而成,可以覆盖到项目开发过程中会遇到的绝大部分的测试面,针对不同的测试内容,该规范也能够起到一定的指导和参考作用。但是在实际的工作中,放到具体的项目里,也需要根据具体情况和要求进行适当的调整。软件测试流程和规范第2页一、软件测试的流程1.测试基本流程图需求分析评审、沟通编写测试计划评审、完善提取测试需求设计测试用例评审、完善搭建测试环境冒烟测试执行测试用例缺陷跟踪处理测试/缺陷报告输出测试归档完善测试用例否是否是否是软件测试流程和规范第3页2.测试各阶段工作流程2.1需求分析阶段测试需求是整个测试过程的基础;确定测试对象以及测试工作的范围和作用。用来确定整个测试工作(如安排时间表、测试设计等)并作为测试覆盖的基础,测试需求是计算测试覆盖的分母,没有测试需求就无法有效地进行测试覆盖。开始分析和提取测试需求的时候,整个项目一定至少已经进入设计阶段,一定要有需求文档、设计说明文档或者原型作为依据。而且被确定的测试需求项必须是可核实的、可测的,不能有模棱两可的概念,比如:大概、约、或者……;也不能为无法量化、主观性的概念,比如:处理速度快、设计页面好看……。它们必须有一个可观察、可评测的结果。无法核实的需求不是测试需求。测试需求是制订测试计划的基本依据,确定了测试需求能够为测试计划提供客观依据;测试需求是设计测试用例的指导,确定了要测什么、测哪些方面后才能有针对性的确定测试方案,设计测试用例。过程要点详细说明输入条件项目进入软件设计阶段,至少需要有需求文档、软件设计说明书或者软件原型(demo)工作内容测试人员根据相关文档梳理、提取测试需求,确定测试内容(功能、性能、兼容性等)、使用的测试方法(手工测试、自动化测试),已保证此次需要测试的内容覆盖完整。退出标准提取完整的测试需求点输出内容明确测试策略,列出具体的功能列表(非必须项)软件测试流程和规范第4页2.2计划与设计阶段2.2.1测试计划阶段当项目进入到实现阶段,测试经理就应该和整个项目的开发人员、需求设计人员研究讨论,并对本次测试的交接时间、投入的人力、拟定测试的轮次、各轮次持续的时间、测试的内容和深度进行规模预估,并制定出测试计划。过程要点详细说明输入条件项目进入到实现阶段(编码),需求规格说明书、软件设计说明书(概要设计或详细设计)、原型(demo)已输出。工作内容和整个项目组讨论并确认此次项目测试阶段的人力、时间投入,测试轮次预估,测试的交接和验收时间退出标准明确测试内容、时间、人力安排输出内容测试人员提交评审后的《测试计划》2.2.2测试设计阶段在项目进入实现阶段的同时,测试人员还需要根据基线版的软件需求规格说明书和产品设计说明书编写测试用例。根据每一个测试需求点和功能点,运用不同的用例设计方法编写用例,针对不同的测试内容,可能会涉及到的用例包括:功能测试用例、性能测试用例、接口测试用例和自动化测试用例。过程要点详细说明输入条件测试需求明确,测试计划明确,已有基线需求和测试计划工作内容根据每一步测试计划编写全部的测试用例退出标准测试用例需要覆盖所有的测试需求输出内容测试人员提交评审后的《测试用例》,测试脚本(性能、自动化)2.3测试实施阶段测试实施阶段是测试人员在整个项目中需要投入最多工作量的阶段,也是最主要,最重要的一个阶段。在这个阶段中,测试人员需要根据前期的测试计软件测试流程和规范第5页划、测试策略来执行测试用例,根据设计的测试用例来执行测试,并使用测试管理工具记录、提交、跟踪测试中发现的缺陷,并配合、督促开发人员复现、定位、修复缺陷,然后验证和关闭缺陷。过程要点详细说明输入条件测试用例工作内容根据测试计划中分配给自己的测试任务,在测试计划的时间段内,执行相应的全部测试用例,并将测试结果记录到测试管理工具中。如有需求和设计上的变更,需要不断完善测试用例。退出标准执行完毕所有测试用例,结果被记录输出内容测试结果(输出到测试管理工具中)2.4测试结束约定的测试周期完成后,测试人员需要总结此次测试的结果,并编写报告。2.4.1缺陷报告提交测试结束后,根据项目组的要求和具体情况,可能会要求提交缺陷报告(非必须),统计此次测试过程中出现的缺陷数量、分布情况、各功能模块发现的缺陷占比、严重等级和修复情况等。缺陷报告的内容侧重对于缺陷的统计和分析。2.4.2测试报告提交测试报告是在一个测试阶段结束后,或者项目的全部测试工作结束后需要提交的,所以报告又分为阶段性测试报告,和总结性测试报告。报告需要对此次或此阶段测试的情况进行统计,汇总,分析,以供整个项目组了解软件开发的质量、开发的进度及软件修复的情况,对项目经理决定上线与否,上线时间,项目是否会延期等相关决策提供一个重要的参考依据。过程要点详细说明输入条件测试人员完成了预定周期的测试任务(一个阶段或整个项软件测试流程和规范第6页目)工作内容(阶段性报告)测试人员根据此轮测试的结果,编写阶段性测试报告,主要应包含以下内容:测试报告的版本测试的人员和时间测试所覆盖的缺陷——测试组在这轮测试中所有处理的缺陷情况上一版本活动缺陷的数量(未关闭的缺陷)经过此轮测试,所有活动缺陷的数量及其状态分类测试评估——写明在这一版本中,哪些功能被实现了,哪些还没有实现,这里只需写明和上一版本不同之处即可。急待