如何写好测试报告?

news2024/10/10 12:19:29

目录

一、目标

二、模板的使用

三、修订记录

四、内容应该清晰易懂,简明扼要

五、绝不放过一个错字

六、遗留问题单

七、产出成果恰当呈现


一、目标

本文介绍测试人员编写软件测试报告常见的疏漏,以便大家避免,更好让测试成果呈现给客户(可能是自己的领导,也可能是用户,后文统称为客户)。

二、模板的使用

很多公司有测试报告模板,往往公司模板更新换代了,但测试人员仍然在沿用原来的模板(从原来的测试报告上修改)。轻则说明你粗心,重则说明你不关心公司的变化、磨洋工。笔者曾经遇到过真实的例子,有一同事使用旧文档模板,但实际公司的名字和Logo都发生了变化,发送到产品经理,后果肯定是测试报告被打回,并通报批评。如果极端点,测试报告放到更高层,如公司主要领导,那后果和影响不言而喻。

三、修订记录

修订记录应该在首页后,并标示清楚,是自己劳动成果的过程记录,这点也是测试人员容易忽视的地方。

有的测试人员,每次提交的测试报告,修订记录都只有一条。实际测试报告应该是有审查和修订过程的,比如你在发出测试报告之前,通常都应给测试经理审查过目,往往过后还会有些问题修订。如果不标识清楚,在测试经理可能提出的一些特别要求时,会让测试报告写作过程显得用了较长时间。这可能让公司高层客户认为你的能力不行,也不能让外部(如ISO审查组织)了解你们的工作合规性。

修订记录主要包括:修改时间、版本号、修订人、修订内容及审查人。

四、内容应该清晰易懂,简明扼要

不要把测试报告的内容写成一篇中篇小说。各种修饰词,流水话一大堆,导致看的人雾里看花,似是而非。我看过有把测试报告写成文章的,通篇报告都是文字,“我认为”、“我想”、“他们应该”等一大堆称谓词,最后草草下个结论,让人不明所以。

测试报告应该尽量避免主观看法,加入一堆的主观认识。而应该客观的、简明扼要的把过程表述清楚。并且尽可能结合图文和表格辅以说明。这样的测试报告才令人赏心悦目,也让人一目了然,从而把测试结果很好的呈现给客户。

测试报告要用数据说话,比如本次测试的需求有多少,发现了多少问题,执行了多少用例。分析每个需求的用例数和bug数,通过覆盖率和二八原则分析风险点。

测试报告的内容往往针对很多读者客户,每个客户关心的内容不同,为方便快速查找,把测试报告按照客户关心的内容划分章节。

五、绝不放过一个错字

软件测试人员应该是一群吹毛求疵的人,如果自己的报告中有一堆错别字,哪怕是一个错别字,可能都会尴尬难堪。原来就有同事非常粗心,导致测试报告出现多个错别字。而开发人员一句"平时找bug时,连一个错别字都被你单独列为一个bug,XX,你看你自己的文档有好多bug",这个测试人员闹得非常尴尬。最好的做法就是,写完测试报告后,自己一定要通篇检查一到两遍,这样严格要求自己,才能去高要求别人。

六、遗留问题单

没有闭环的bug,哪怕是往期版本遗留的bug,都应该用表格罗列出来,标明严重级别,给出每个bug的规避措施。

往往测试人员在一些外部压力下,容易把承诺修改但还来不及验证的bug在测试报告中抹去,或者有意疏漏。但这样不呈现出来,一发出去,可能高层不知道具体情况而做出错误的决策,导致后期出现人为的事故。
  以前碰到过软件系统的一小工具,因为使用频率不高,所以bug经测试经理、开发经理和项目经理达成一致意见延期修复,但测试人员没有在测试报告中把这些bug呈现出来,导致市场人员在给用户演示时为了说明系统的强大,从而错误的展示了该有bug的工具,以至在用户面前出现冷场。更极端的结果可能是,用户拒绝采用该系统。所以我们在测试报告中,应该把没有闭环的bug,哪怕是往期版本遗留的bug,都应该详细罗列出来。这样才能让高层或推广部门的同事进行规避或作出应对措施。

七、产出成果恰当呈现

这一环常常是大家极容易忽视的一环。往往测试人员的做法是,报告写好了直接发送一封带附件的邮件给客户,好点的可能会加几行文字。但是,我想说,除了你的直接领导、平级同事外,其他客户往往是没有太多时间和耐心下载附件并仔细查看你的报告的,他们关心的是"现在的软件质量到底如何,是否能放给用户使用"。
  最好的做法是在邮件内容页开头,写上测试结论、问题建议,并可以把主要的测试结果统计放在后面,最后才是附上完整测试报告的附件。

  写一份测试报告不难,要写好一份合格高质量的报告需要我们花费更多的心思。


以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以评论区,留言【777】直接拿走就好了

各位想获取资料的朋友请点赞 + 评论 + 收藏,三连!

三连之后我会在评论区挨个私信发给你们~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/790304.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kotlin 协程 CoroutineScope

协程定义: 19年官方是这样说的:协程是轻量级的线程,协程就是 Kotlin 提供的一套线程封装的 API; 现在官方是这样说的:协程是一种并发设计模式; 协程作用: 1.处理耗时任务; 2.保…

【雕爷学编程】Arduino动手做(172)---WeMos D1开发板模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

RL 实践(4)—— 二维滚球环境【DQN Double DQN Dueling DQN】

本文介绍如何用 DQN 及它的两个改进 Double DQN & Dueling DQN 解二维滚球问题,这个环境可以看做 gym Maze2d 的简单版本参考:《动手学强化学习》完整代码下载:5_[Gym Custom] RollingBall (DQN and Double DQN and Dueling DQN) 文章目录…

智能喷涂机器人的制作分享

作者:朱家谊、吾丽江、管孝天 单位:天津工业大学 指导老师:李鹏 1. 概念说明 智能喷涂机器人是一种具有自主感知、决策和执行能力的机器人,专门用于自动化喷涂任务,它可以应用于各种领域,如汽车制造、建…

【已解决】jupyter notebook里已经安装了第三方库,还是提示导入失败

在jupyter notebook中运行Python代码,明明已经安装了第三方库,还是提示导入失败。 以导入pandas库为例,其他库同理: 报错代码: import pandas报错原因: 电脑上存在多个python运行环境(比如&a…

JavaScript学习 -- Hex编码

Hex编码是一种十六进制数字的表示方式。在JavaScript中,我们可以使用Hex编码来表示数字、颜色和其他二进制数据,并将其用于各种场景,例如Web开发、图像处理和加密解密等。在本篇博客中,我们将介绍Hex编码的基础知识和相关技术&…

Xilinx FPGA平台GTX简易使用教程(汇总篇)

GTX简易使用教程,先“知其然”,慢慢再研究“所以然”。 目录 一、GTX必备基础知识 二、时钟篇 三、复位与初始化 四、GTX IP核配置介绍 五、GTX收发测试 六、后记 一、GTX必备基础知识 虽说搬砖只需要会用IP就行,但是为了把砖搬好&a…

js:浏览器环境下复制图片到剪切板

浏览器环境下复制图片到剪切板思路: 通过canvas将图片url转为base64格式将base64格式转为Blob类型的数据调用浏览器接口复制内容到剪切板 图片处理工具方法 image-util.js // Image对象转base64 export function imageToBase64(image) {let canvas document.cr…

Canal深入调研

Canal深入调研 1.canal的设计 1.1 Canal的设计理念 canal的组件化设计非常好,有点类似于tomcat的设计。使用组合设计,依赖倒置,面向接口的设计。 说明: ​ server代表一个canal运行实例,对应于一个jvm ​ instance…

免费分享一套基于SpringBoot实现商城系统(仿天猫),挺漂亮的

大家好,我是锋哥,看到一个不错的基于SpringBoot实现商城系统(仿天猫)系统,分享下哈。 项目介绍 迷你天猫商城是一个基于Spring Boot的综合性B2C电商平台,需求设计主要参考天猫商城的购物流程:用户从注册开始&#xf…

编码器原理

编码器原理 编码器是一种用来测量机械旋转或位移的传感器。这种传感器能够测量机械部件在旋转或直线运动时的位移位置或速度等信息,并将其转换成一系列电信号。 光栅式旋转编码器 霍尔式编码器

制作一个简易的计算器app

1、Ui开发 笔者的Ui制作的制作的比较麻烦仅供参考,在这里使用了多个LinearLayout对屏幕进行了划分。不建议大家这样做最好使用GridLayout会更加快捷简单 笔者大致划分是这样的: 使用了四个大框,在第四个大框里面有多个小框 最终界面如下&am…

Linux(一)

一.FinalShell远程连接Linux系统(可能在自己电脑虚拟机上也可能在服务器上) 二.掌握使用WSL获得Ubuntu系统环境 WSL作为Windows10系统带来的全新特性。 传统方式获取Linux操作系统环境,是安装完整的虚拟机,如VMware 使用WSL&#…

系统架构设计师 10:软件架构的演化和维护

一、软件架构演化 如果软件架构的定义是 SA{components, connectors, constraints},也就是说,软件架构包括组件、连接件和约束三大要素,这类软件架构演化主要关注的就是组件、连接件和约束的添加、修改与删除等。 二、面向对象软件架构演化…

点云分割-pcl区域生长算法

目录 写在前面原理代码运行结果 参考完 写在前面 1、本文内容 pcl的区域生长算法的使用和原理 2、平台/环境 cmake, pcl 3、转载请注明出处: https://blog.csdn.net/qq_41102371/article/details/131927376 原理 参考:https://pcl.readthedocs.io/pr…

从风控系统看架构设计原型图分析

目录 一、对架构与架构图的理解 (一)架构的本质 (二)软件设计中架构域的划分 (三)架构图设计 架构图设计的必要性 如何画架构图 二、实践业务架构与产品架构设计 (一)列出问…

基于SpringBoot+vue的学生成绩管理系统设计与实现(源码+LW+部署文档等)

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

重学C++系列之虚继承

一、什么是虚继承 虚继承是C中一种继承的机制。继承有普通继承和虚继承两种机制,默认是普通继承,如果要使用多继承,需要在继承方式里加上关键字virtual。 二、为什么要虚继承 在C中,为解决二义性问题,引入虚继承机制。…

tinkerCAD案例:9. Saw Shaped Wrench 锯形扳手

tinkerCAD案例:9. Saw Shaped Wrench 锯形扳手 ln this lesson you will learn how to create a cool saw shaped wrench. 在本课中,您将学习如何制作一个很酷的锯形扳手。 Start the lesson by dragging a polygon to the workplane. 通过将多边形拖动…

从模型坐标到屏幕坐标

在 3D 引擎中,场景通常被描述为三维空间中的模型或对象,每个模型对象由许多三维顶点组成。最终,这些模型对象将在平面屏幕上呈现和显示。 渲染场景始终相对于摄像机,因此,还必须相对于摄像机的视图定义场景的顶点。了…