测试报告编写方法及注意事项

发表于:2009-11-09来源:作者:点击数: 标签:事项编写
测试报告编写方法及注意事项 软件测试 一:测试报告编写方法 测试报告是把测试的过程和结果写成文档,并对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基

测试报告编写方法及注意事项      软件测试

一:测试报告编写方法

测试报告是把测试的过程和结果写成文档,并对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础。本文提供测试报告模板以及如何编写的实例指南。 

    测试报告是测试阶段最后的文档产出物,优秀的测试经理应该具备良好的文档编写能力,一份详细的测试报告包含足够的信息,包括产品质量和测试过程的评价,测试报告基于测试中的数据采集以及对最终的测试结果分析。

下面以通用的测试报告模板为例,详细展开对测试报告编写的具体描述。

PARTⅠ 首页

0.1页面内容:

密级

    通常,测试报告供内部测试完毕后使用,因此密级为中,如果可供用户和更多的人阅读,密级为低,高密级的测试报告适合内部研发项目以及涉及保密行业和技术版权的项目。

XXXX项目/系统测试报告

报告编号

    可供索引的内部编号或者用户要求分布提交时的序列号

部门经理 ______项目经理______

开发经理______测试经理______

XXX公司 XXXX单位 (此处包含用户单位以及研发此系统的公司)

XXXX年XX月XX日

0.2格式要求:

    标题一般采用大体字(如一号),加粗,宋体,居中排列

副标题采用大体小一号字(如二号)加粗,宋体,居中排列

其他采用四号字,宋体,居中排列

0.3版本控制

版本 作者 时间 变更摘要

新建/变更/审核

PARTⅡ 引言部分

1.1编写目的

    本测试报告的具体编写目的,指出预期的读者范围。

实例:本测试报告为XXX项目的测试报告,目的在于总结测试阶段的测试以及分析测试结果,描述系统是否符合需求(或达到XXX功能目标)。预期参考人员包括用户、测试人员、、开发人员、项目管理者、其他质量管理人员和需要阅读本报告的高层经理。

提示:通常,用户对测试结论部分感兴趣,开发人员希望从缺陷结果以及分析得到产品开发质量的信息,项目管理者对测试执行中成本、资源和时间予与重视,而高层经理希望能够阅读到简单的图表并且能够与其他项目进行同向比较。此部分可以具体描述为什么类型的人可参考本报告XXX页XXX章节,你的报告读者越多,你的工作越容易被人重视,前提是必须让阅读者感到你的报告是有价值而且值得浪费一点时间去关注的。

1.2项目背景

    对项目目标和目的进行简要说明。必要时包括简史,这部分不需要脑力劳动,直接从需求或者招标文件中拷贝即可。

1.3系统简介

    如果设计说明书有此部分,照抄。注意必要的框架图和网络拓扑图能吸引眼球。

1.4术语和缩写词

    列出设计本系统/项目的专用术语和缩写语约定。对于技术相关的名词和与多义词一定要注明清楚,以便阅读时不会产生歧义。

1.5参考资料

1.需求、设计、测试用例、手册以及其他项目文档都是范围内可参考的东东。

2.测试使用的国家标准、行业指标、公司规范和质量手册等等

PARTⅢ 测试概要

测试的概要介绍,包括测试的一些声明、测试范围、测试目的等等,主要是测试情况简介。(其他测试经理和质量人员关注部分) [Page]

2.1测试用例设计

    简要介绍测试用例的设计方法。例如:等价类划分、边界值、因果图,以及用这类方法(3-4句)。

提示:如果能够具体对设计进行说明,在其他开发人员、测试经理阅读的时候就容易对你的用例设计有个整体的概念,顺便说一句,在这里写上一些非常规的设计方法也是有利的,至少在没有看到测试结论之前就可以了解到测试经理的设计技术,重点测试部分一定要保证有两种以上不同的用例设计方法。

2.2测试环境与配置

    简要介绍测试环境及其配置。

    提示:清单如下,如果系统/项目比较大,则用表格方式列出

数据库服务器配置

CPU:

内存:

硬盘:可用空间大小

操作系统:

应用软件:

机器网络名:

局域网地址:

应用服务器配置

…….

客户端配置

…….

对于网络设备和要求也可以使用相应的表格,对于三层架构的,可以根据网络拓扑图列出相关配置。

2.3测试方法(和工具)

    简要介绍测试中采用的方法(和工具)。

提示:主要是黑盒测试,测试方法可以写上测试的重点和采用的测试模式,这样可以一目了然的知道是否遗漏了重要的测试点和关键块。工具为可选项,当使用到测试工具和相关工具时,要说明。注意要注明是自产还是厂商,版本号多少,在测试报告发布后要避免大多工具的版权问题。

PARTⅣ 测试结果及缺陷分析

整个测试报告中这是最激动人心的部分,这部分主要汇总各种数据并进行度量,度量包括对测试过程的度量和能力评估、对软件产品的质量度量和产品评估。对于不需要过程度量或者相对较小的项目,例如用于验收时提交用户的测试报告、小型项目的测试报告,可省略过程方面的度量部分;而采用了CMM/ISO或者其他工程标准过程的,需要提供过程改进建议和参考的测试报告-主要用于公司内部测试改进和缺陷预防机制-则过程度量需要列出。

3.1测试执行情况与记录

描述测试资源消耗情况,记录实际数据。(测试、项目经理关注部分)

3.1.1测试组织

    可列出简单的测试组架构图,包括:

测试组架构 (如存在分组、用户参与等情况)

测试经理(领导人员)

主要测试人员

参与测试人员

3.1.2测试时间

    列出测试的跨度和工作量,最好区分测试文档和活动的时间。数据可供过程度量使用。

例如 XXX子系统/子功能

实际开始时间-实际结束时间

总工时/总工作日

任务 开始时间 结束时间 总计

合计

    对于大系统/项目来说最终要统计资源的总投入,必要时要增加成本一栏,以便管理者清楚的知道究竟花费了多少人力去完成测试。

测试类型 人员成本 工具设备 其他费用



总计

    在数据汇总时可以统计个人的平均投入时间和总体时间、整体投入平均时间和总体时间,还可以算出每一个功能点所花费的时/人。

用时人员 编写用例 执行测试 总计



合计

    这部分用于过程度量的数据包括文档生产率和测试执行率。

生产率人员 用例/编写时间 用例/执行时间 平均



合计

3.1.3测试版本 [Page]

    给出测试的版本,如果是最终报告,可能要报告测试次数回归测试多少次。列出表格清单则便于知道那个子系统/子模块的测试频度,对于多次回归的子系统/子模块将引起开发者关注。

3.2覆盖分析

3.2.1需求覆盖

    需求覆盖率是指经过测试的需求/功能和需求规格说明书中所有需求/功能的比值,通常情况下要达到100%的目标。

需求/功能(或编号) 测试类型 是否通过 备注

[Y][P][N][N/A]

根据测试结果 ,按编号给出每一测试需求的通过与否结论。P表示部分通过,N/A表示不可测试或者用例不适用。实际上,需求跟踪矩阵列出了一一对应的用例情况以避免遗漏,此表作用为传达需求的测试信息以供检查和审核。

需求覆盖率计算 Y项/需求总数 ×100%

3.2.2测试覆盖

    需求/功能(或编号) 用例个数 执行总数 未执行 未/漏测分析和原因



    实际上,测试用例已经记载了预期结果数据,测试缺陷上说明了实测结果数据和与预期结果数据的偏差;因此没有必要对每个编号在此包含更详细的说明的缺陷记录与偏差,列表的目的仅在于更好的查看测试结果。

测试覆盖率计算 执行数/用例总数 ×100%

3.2缺陷的统计与分析

    缺陷统计主要涉及到被测系统的质量,因此,这部分成为开发人员、质量人员重点关注的部分。

3.3.1缺陷汇总

    被测系统 系统测试 回归测试 总计



合计

按严重程度

严重 一般 微小

按缺陷类型

用户界面 一致性 功能 算法 接口 文档 用户界面 其他

按功能分布

功能一 功能二 功能三 功能四 功能五 功能六 功能七

最好给出缺陷的饼状图和柱状图以便直观查看。俗话说一图胜千言,图标能够使阅读者迅速获得信息,尤其是各层面管理人员没有时间去逐项阅读文章。

图例

3.3.2缺陷分析

    本部分对上述缺陷和其他收集数据进行综合分析

缺陷综合分析

缺陷发现效率 = 缺陷总数/执行测试用时

可到具体人员得出平均指标

用例质量 = 缺陷总数/测试用例总数 ×100%

缺陷密度 = 缺陷总数/功能点总数

缺陷密度可以得出系统各功能或各需求的缺陷分布情况,开发人员可以在此分析基础上得出那部分功能/需求缺陷最多,从而在今后开发注意避免并注意在实施时予与关注,测试经验表明,测试缺陷越多的部分,其隐藏的缺陷也越多。

测试曲线图

描绘被测系统每工作日/周缺陷数情况,得出缺陷走势和趋向

重要缺陷摘要

缺陷编号 简要描述 分析结果 备注



3.3.3残留缺陷与未解决问题

残留缺陷

编号:BUG号

缺陷概要:该缺陷描述的事实

原因分析:如何引起缺陷,缺陷的后果,描述造成软件局限性和其他限制性的原因

预防和改进措施:弥补手段和长期策略

未解决问题

功能/测试类型:

测试结果:与预期结果的偏差

缺陷:具体描述

评价:对这些问题的看法,也就是这些问题如果发出去了会造成什么样的影响

PARTⅤ 测试结论与建议

报告到了这个部分就是一个总结了,对上述过程、缺陷分析之后该下个结论,此部分为项目经理、部门经理以及高层经理关注,请清晰扼要的下定论。 [Page]

4.1测试结论

1. 测试执行是否充分(可以增加对安全性、可靠性、可维护性和功能性描述)

2. 对测试风险的控制措施和成效

3. 测试目标是否完成

4. 测试是否通过

5. 是否可以进入下一阶段项目目标

4.2建议

1.对系统存在问题的说明,描述测试所揭露的软件缺陷和不足,以及可能给软件实施和运行带来的影响

2.可能存在的潜在缺陷和后续工作

3.对缺陷修改和产品设计的建议

4.对过程改进方面的建议

测试报告的内容大同小异,对于一些测试报告而言,可能将第四和第五部分合并,逐项列出测试项、缺陷、分析和建议,这种方法也比较多见,尤其在第三方评测报告中,此份报告模板仅供参考。

二:编写软件测试报告的注意事项

 

将软件测试的问题呈现给他人,就是通过你的测试报告(这里的报告是指对问题测试的描述),它是测试员的主要工作产品,如果报告写得好,则声誉高。
  有不同类型的测试报告,即面向不同的读者。
  面向程序员的测试报告,通常是放到测试管理工具中流转到程序员,这时要注意几点:
  1、 客观描述现象,列出具体测试用例。
  2、 可以提供一些分析和建议,但不要作出评价。
  3、 对测试中没有再现的现象,也要作出说明,以期引起注意。
  面向生产例会提供的测试报告,通常由测试经理带到会上,这时要考虑:
  1、 有综述性地统计信息,反映全貌;
  2、 要重点突出,以便软件测试经理能在较短的时间里向会议表达重点事项。
  3、 要有分析,并提醒相关问题(如,培训方面),使报告更有价值。
  面向管理层的测试报告,一般是综述性报告,用于判断质量情况,做出相关决策。

这时的报告要考虑:
1、 有分析模型(公司要有自己的模型),有判断和结论。
2、 与历史数据有比较,评估风险。
3、 是一定范围的集体意见的反映,也反映其它项目相关人的意见(作为代言人)。 

  公司对各类测试报告要有模板和写作要求,并通过这些指引,培养一致的风格,有利于报告的理解。
  看一个对话:为何这么明显的问题没有报告出来?我以为别人已报告了这个问题。
  因此,不要假设明显的程序错误已经写入报告。大家都有这种假设时则会遗漏。
  设计错误谁来报告?当然还是由测试员来报告。测试员的测试可以作为设计的后期评判。为了能对设计进行测试,测试组只要有一定比例的领域专业人员。

 

原文转自:http://www.ltesting.net