测试报告编写规范说明摘要测试报告是把测试的过程和结果写成文档,并对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础。本文提供测试报告模板以及如何编写的实例指南。关键字测试报告缺陷正文测试报告是测试阶段最后的文档产出物,优秀的测试经理应该具备良好的文档编写能力,一份详细的测试报告包含足够的信息,包括产品质量和测试过程的评价,测试报告基于测试中的数据采集以及对最终的测试结果分析,并填写测试报告表格(见表1)、软件故障报告表(见《软件故障报告表》)。设计人(填写设计人员)测试人(填写测试人员)测试日期(填写测试日期)测试依据(填写测试依据文档)测试环境及前提1.测试条件1(填写测试条件)2.测试条件2测试项目及内容测试步骤测试内容测试结果1(填写测试内容)(填写测试结果)23测试结论测试记录总体结论□通过□基本通过□未通过表1:测试报告表下面以通用的测试报告模板为例,详细展开对测试报告编写的具体描述。1.首页1.1页面内容:密级通常,测试报告供内部测试完毕后使用,因此密级为中,如果可供用户和更多的人阅读,密级为低,高密级的测试报告适合内部研发项目以及涉及保密行业和技术版权的项目。XXXX项目/系统测试报告报告编号可供索引的内部编号或者用户要求分布提交时的序列号部门经理______项目经理______开发经理______测试经理______XXX公司XXXX单位(此处包含用户单位以及研发此系统的公司)XXXX年XX月XX日1.2格式要求:标题一般采用大体字(如一号),加粗,宋体,居中排列副标题采用大体小一号字(如二号)加粗,宋体,居中排列其他采用四号字,宋体,居中排列1.3版本控制:版本作者时间变更摘要新建/变更/审核2.引言部分2.1编写目的本测试报告的具体编写目的,指出预期的读者范围。实例:本测试报告为XXX项目的测试报告,目的在于总结测试阶段的测试以及分析测试结果,描述系统是否符合需求(或达到XXX功能目标)。预期参考人员包括用户、测试人员、、开发人员、项目管理者、其他质量管理人员和需要阅读本报告的高层经理。提示:通常,用户对测试结论部分感兴趣,开发人员希望从缺陷结果以及分析得到产品开发质量的信息,项目管理者对测试执行中成本、资源和时间予与重视,而高层经理希望能够阅读到简单的图表并且能够与其他项目进行同向比较。此部分可以具体描述为什么类型的人可参考本报告XXX页XXX章节,你的报告读者越多,你的工作越容易被人重视,前提是必须让阅读者感到你的报告是有价值而且值得浪费一点时间去关注的。2.2项目背景对项目目标和目的进行简要说明。必要时包括简史,这部分不需要脑力劳动,直接从需求或者招标文件中拷贝即可。2.3系统简介如果设计说明书有此部分,照抄。注意必要的框架图和网络拓扑图能吸引眼球。2.4术语和缩写词列出设计本系统/项目的专用术语和缩写语约定。对于技术相关的名词和与多义词一定要注明清楚,以便阅读时不会产生歧义。2.5参考资料2.5.1需求、设计、测试用例、手册以及其他项目文档都是范围内可参考的东东。2.5.2测试使用的国家标准、行业指标、公司规范和质量手册等等3.测试概要测试的概要介绍,包括测试的一些声明、测试范围、测试目的等等,主要是测试情况简介。(其他测试经理和质量人员关注部分)3.1测试用例设计简要介绍测试用例的设计方法。例如:等价类划分、边界值、因果图,以及用这类方法(3-4句)。提示:如果能够具体对设计进行说明,在其他开发人员、测试经理阅读的时候就容易对你的用例设计有个整体的概念,顺便说一句,在这里写上一些非常规的设计方法也是有利的,至少在没有看到测试结论之前就可以了解到测试经理的设计技术,重点测试部分一定要保证有两种以上不同的用例设计方法。3.2测试环境与配置简要介绍测试环境及其配置。提示:清单如下,如果系统/项目比较大,则用表格方式列出数据库服务器配置CPU:内存:硬盘:可用空间大小操作系统:应用软件:机器网络名:局域网地址:应用服务器配置…….客户端配置…….对于网络设备和要求也可以使用相应的表格,对于三层架构的,可以根据网络拓扑图列出相关配置。3.3测试方法(和工具)简要介绍测试中采用的方法(和工具)。提示:主要是黑盒测试,测试方法可以写上测试的重点和采用的测试模式,这样可以一目了然的知道是否遗漏了重要的测试点和关键块。工具为可选项,当使用到测试工具和相关工具时,要说明。注意要注明是自产还是厂商,版本号多少,在测试报告发布后要避免大多工具的版权问题。4.测试结果及缺陷分析整个测试报告中这是最激动人心的部分,这部分主要汇总各种数据并进行度量,度量包括对测试过程的度量和能力评估、对软件产品的质量度量和产品评估。对于不需要过程度量或者相对较小的项目,例如用于验收时提交用户的测试报告、小型项目的测试报告,可省略过程方面的度量部分;而采用了CMM/ISO或者其他工程标准过程的,需要提供过程改进建议和参考的测试报告-主要用于公司内部测试改进和缺陷预防机制-则过程度量需要列出。4.1测试执行情况与记录描述测试资源消耗情况,记录实际数据。(测试、项目经理关注部分)4.1.1测试组织可列出简单的测试组架构图,包括:测试组架构(如存在分组、用户参与等情况)测试经理(领导人员)主要测试人员参与测试人员4.1.2测试时间列出测试的跨度和工作量,最好区分测试文档和活动的时间。数据可供过程度量使用。例如XXX子系统/子功能实际开始时间-实际结束时间总工时/总工作日任务开始时间结束时间总计合计对于大系统/项目来说最终要统计资源的总投入,必要时要增加成本一栏,以便管理者清楚的知道究竟花费了多少人力去完成测试。测试类型人员成本工具设备其他费用总计在数据汇总时可以统计个人的平均投入时间和总体时间、整体投入平均时间和总体时间,还可以算出每一个功能点所花费的时/人。用时人员编写用例执行测试总计合计这部分用于过程度量的数据包括文档生产率和测试执行率。生产率人员用例/编写时间用例/执行时间平均合计4.1.3测试版本给出测试的版本,如果是最终报告,可能要报告测试次数回归测试多少次。列出表格清单则便于知道那个子系统/子模块的测试频度,对于多次回归的子系统/子模块将引起开发者关注。4.2覆盖分析4.2.1需求覆盖需求覆盖率是指经过测试的需求/功能和需求规格说明书中所有需求/功能的比值,通常情况下要达到100%的目标。需求/功能(或编号)测试类型是否通过备注根据测试结果,按编号给出每一测试需求的通过与否结论。P表示部分通过,N/A表示不可测试或者用例不适用。实际上,需求跟踪矩阵列出了一一对应的用例情况以避免遗漏,此表作用为传达需求的测试信息以供检查和审核。需求覆盖率计算Y项/需求总数×100%4.2.2测试覆盖需求/功能(或编号)用例个数执行总数未执行未/漏测分析和原因实际上,测试用例已经记载了预期结果数据,测试缺陷上说明了实测结果数据和与预期结果数据的偏差;因此没有必要对每个编号在此包含更详细的说明的缺陷记录与偏差,列表的目的仅在于更好的查看测试结果。测试覆盖率计算执行数/用例总数×100%4.3缺陷的统计与分析缺陷统计主要涉及到被测系统的质量,因此,这部分成为开发人员、质量人员重点关注的部分。4.3.1缺陷汇总被测系统系统测试回归测试总计合计按严重程度严重一般微小按缺陷类型用户界面一致性功能算法接口文档用户界面其他按功能分布功能一功能二功能三功能四功能五功能六功能七最好给出缺陷的饼状图和柱状图以便直观查看。俗话说一图胜千言,图标能够使阅读者迅速获得信息,尤其是各层面管理人员没有时间去逐项阅读文章。图例4.3.2缺陷分析本部分对上述缺陷和其他收集数据进行综合分析缺陷综合分析缺陷发现效率=缺陷总数/执行测试用时可到具体人员得出平均指标用例质量=缺陷总数/测试用例总数×100%缺陷密度=缺陷总数/功能点总数缺陷密度可以得出系统各功能或各需求的缺陷分布情况,开发人员可以在此分析基础上得出那部分功能/需求缺陷最多,从而在今后开发注意避免并注意在实施时予与关注,测试经验表明,测试缺陷越多的部分,其隐藏的缺陷也越多。测试曲线图描绘被测系统每工作日/周缺陷数情况,得出缺陷走势和趋向重要缺陷摘要缺陷编号简要描述分析结果备注4.3.3残留缺陷与未解决问题残留缺陷编号:BUG号缺陷概要:该缺陷描述的事实原因分析:如何引起缺陷,缺陷的后果,描述造成软件局限性和其他限制性的原因预防和改进措施:弥补手段和长期策略未解决问题功能/测试类型:测试结果:与预期结果的偏差缺陷:具体描述评价:对这些问题的看法,也就是这些问题如果发出去了会造成什么样的影响5.测试结论与建议报告到了这个部分就是一个总结了,对上述过程、缺陷分析之后该下个结论,此部分为项目经理、部门经理以及高层经理关注,请清晰扼要的下定论。5.1测试结论1测试执行是否充分(可以增加对安全性、可靠性、可维护性和功能性描述)2对测试风险的控制措施和成效3测试目标是否完成4测试是否通过5是否可以进入下一阶段项目目标5.2建议1对系统存在问题的说明,描述测试所揭露的软件缺陷和不足,以及可能给软件实施和运行带来的影响2可能存在的潜在缺陷和后续工作3对缺陷修改和产品设计的建议4对过程改进方面的建议测试报告的内容大同小异,对于一些测试报告而言,可能将第四和第五部分合并,逐项列出测试项、缺陷、分析和建议,这种方法也比较多见,尤其在第三方评测报告中,此份报告模板仅供参考。