【产品测试】Bug报告的四个元素,你知道吗?

news2024/11/19 20:37:38

前言

由于任何由人编写的程序都不可避免的存在着不符合测试需求的错误,也就是bug。因此需要一个方法来跟踪、分析和展示那些测试活动,避免偏离最小。这种方法称之为错误跟踪系统。它主要是有效的管理缺陷,实现以下作用:

1)减少由于缺陷报告不明确而被开发组驳回的情况;

2)加快缺陷的处理速度;

3)提高测试的可信度;

4)加强测试组与开发组在整个项目过程中的团队合作

Bug报告是测试的重点,无论是口头的还是书面的,都是测试最明显的结果。

报告的质量可能是决定测试人员可信度的最重要的因素,一份好的Bug报告不仅可以体现测试人员的专业度,还可以方便开发人员或其他相关人员快速获取Bug相关信息,有助于对Bug的重要程度进行评估和快速修复。

什么是Bug

通俗意义上讲,Bug就是影响产品正常使用或者友好使用,且对产品价值产生影响的缺陷。

Bug可以分为两种:正常Bug和增强需求型Bug。

正常的Bug指的是产品未能实现自身功能;而增强需求型Bug是当你认为需求本身应该改进或优化时产生的问题。

换句话说,“产品没有按照你的期望运行”是一个常见的Bug“,产品已经实现了你需求的功能,但是你觉得可以有更好的实现方式时,这就产生了增强需求型Bug。

举个例子:

假设有一个web应用,点击按钮无响应,那么这是一个正常Bug;

假如点击按钮有响应,但是按钮图标或形式你觉得可以更好时,这个时候你提出的Bug可以被称作增强需求型Bug。

什么是Bug报告

Bug报告是对可疑错误的描述。

最基本的Bug报告是这样的陈述:“我认为产品可能存在一些问题。”在现实生活中,这可以表现为简单地指着屏幕说:“哦,快看,那是个Bug。”

事实上,当你在为站在你身边的朋友进行测试时,你所需要做的就是让他们知道你的产品应该是什么、应该做什么。如果我们都是亲密的朋友,或者我们有相同的认识,那么Bug报告就会非常容易。

Bug报告可以是正式的或非正式的、书面的或口头的。即使是最简单的Bug报告,其基础也是具有以下四个元素:

01、描述你所感知到的问题

你在测试过程中遇到了什么问题,具体一点、说清楚一点。问问你自己,这是否是问题的根源,或者这是否是最终的问题,更或者是否有更大、更基本的问题存在。例如:你可以描述“我在点击这个按钮的时候无响应“。

02、你是如何遇到这个问题的

你所感知到的Bug该基于对产品本身的直接观察。详细说明你使用的步骤和数据。

例如:在什么步骤输入什么样的数据产生的这个Bug,这是一个偶现的Bug还是一个频发的Bug,你有截屏或视频吗,你使用的数据是什么,什么文件,你到底输入了什么?

03、为什么是一个问题

说明你识别问题的方法,可以是需求文档,也可以是一些标准规范等。

例如:问题现象与需求不一致——功能Bug,或问题出现时资源消耗过大——性能Bug。

04、为什么这是个重要的问题

你的客户可能需要知道:这是一个大Bug还是一个小Bug?你应该准备好说明Bug可能有多重要,而重要性与它被发现的可能性以及它发生时可能造成的损害程度有关。

例如:你可以描述“这是个严重Bug,等级为L1,因为这个Bug的出现导致系统卡死无法正常运行”。

Bug报告中的关键内容

以下是正式Bug报告中最常见的字段:

01、标题

描述Bug本质的简短总结:

长度不宜过长

一般来说,标题以不超过12个字为佳。

标题具有独特性

每个Bug标题都能与其他标题相区分。例如,不要写“产品崩溃”这种通用性标题。

02、描述

任何关于特定故障模式和行为的其他信息:

描述尽量保持简短

给出有关Bug的合理细节,但不要包含团队中每个人都肯定知道的信息。如果问题很明显,例如“公司名称在主页上拼错了”,那么你几乎不需要写描述。

描述尽量专业

不要在一个Bug报告中涉及多个问题。

非多个问题可能是产品中一个潜在故障的症状,否则应该将它们划分为不同的错误报告。这是因为开发人员很容易修复一个问题,而不小心忘记修复同一报告中列出的其他问题。

尽量描述重要的步骤

不要提供那些显而易见的步骤,例如:

1.连接到Internet;

2.启动浏览器。

描述你认为是Bug的原因

这意味着要说明你为什么认为这是一个Bug,除非这很明显。不要说“产品不应该崩溃”这样的模糊不清的蠢话。这种描述毫无意义。

可以添加一点你知道的Bug的解决方法。

03、版本

注意附上你测试的版本信息。

注意:如果同一个Bug在多个版本中出现,将该Bug链接到最重要的版本。

例如:Bug A在开发版本Develop V1和发布版本Release V2中同时出现,请在描述中版本信息写明Release V2。因为使用重要版本信息,可以极大地引起开发人员和管理人员对此Bug的关注。

04、环境

你测试的平台。例如:硬件、浏览器和操作系统等信息。

05、附件

能够帮助理解和分析Bug的一些日志、屏幕截图、录屏等。

除了上述基本字段之外,Bug跟踪系统(如jira)可能还有其他字段。它将自动填充ID、Reporter和Date Reported字段,以及状态、严重性和优先级等。

如何判定一个Bug的重要性

测试人员是判断Bug“有多大”的第一个人。对于负责任的测试人员来说,这是你工作中非常重要的一部分。

那么如何判定一个Bug的重要性呢?你可以参考这几个方面:

01、Bug出现的频率

在其他条件相同的情况下,一个经常被很多用户看到的Bug将变得更加重要。是否有很多不同类型的事件可以触发这个Bug?它是否极易受到触发事件的影响?当它出现的时候有多明显?

02、当它发生的时候会造成多大的损失

虽然对于哪些具体症状构成“更严重的损害”没有严格的规则,但请尝试可视化问题,然后考虑受影响的用户的重要性。

最重要的错误通常是那些阻碍项目本身的错误:就是所谓的阻塞错误,这些是妨碍你进行测试或者用户正常使用的Bug。

例如”软件崩溃不能正常使用“,此类现象的Bug可以称为最重要的Bug,其次是会对用户使用造成某些影响但不至于无法使用的Bug。

03、Bug具有潜在的其他风险

Bug可能特别重要,因为它意味着开发过程本身存在一个大问题,可能导致许多类似的Bug还没有被发现。

04、Bug会给产品带来什么样的负面影响

虽然一些Bug在客观上没有那么严重,例如:并没有阻碍产品的正常使用。但是,它会影响用户对产品的好感度和信任度,那么这个时候它也是一个严重Bug。

举个例子

以jira工具为例,报告一个并发请求导致系统崩溃的Bug。关键信息如下图1所示。

jira默认包含了版本、环境、优先级等信息供用户选择,因此在描述部分可以只关注于对Bug本身信息的描述,如:复现频率、复现步骤等。

在复现步骤中,采用了Given——When——Then的描述方式,可以使得描述更加简洁和具有逻辑性,推荐大家使用。

总结

本文主要是向大家介绍了在报告Bug时需要关注的一些重点和细节,希望能为大家带来帮助。

一份好的Bug报告,可以让我们测试人员显得更为专业,也可以缩短开发人员排查Bug和修复Bug的时间,幸福你我他。希望对大家有所启发~

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方进群即可自行领取。

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

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

相关文章

YOLOX论文解读

paper:YOLOX: Exceeding YOLO Series in 2021 official implementation:https://github.com/Megvii-BaseDetection/YOLOX 本文的创新点 本文在YOLOv3的基础上进行了一些改进:包括将检测头进行解耦的decoupled head、从anchor-based转为anc…

经典定时任务结构设计:时间轮(Timing Wheel)案例和实现原理

1、直接上案例 import io.netty.util.HashedWheelTimer; import io.netty.util.Timeout; import io.netty.util.TimerTask; import lombok.extern.log4j.Log4j2;import java.util.concurrent.TimeUnit;/*** ClassName Test* Author will* Date 2024/3/8 16:31* Version 1.0.1*…

【PCIe】TLP结构与配置空间

🔥博客主页:PannLZ 文章目录 PCIe TLP结构PCIe配置空间和地址空间 PCIe TLP结构 TLP 主要由3个部分组成: Header 、 数据(可选,取决于具体的TLP 类 型 ) 和 ECRC (End to End CRC, 可选)。TLP 都始于发送端的事务层,终…

网络仿真(二)

时延和丢包率 网络中的节点之间时延(延迟)和丢包率是衡量网络性能的两个关键指标。 时延(延迟):时延是指数据在网络中从一个节点传输到另一个节点所需的时间。这包括处理时延(数据在节点处理的时间&#x…

ENVI必须会教程—Sentinel-2数据的读取与波段组合加载

实验2:读取Sentinel-2影像 目的:了解Sentinel-2影像读取方法,熟悉各波段及组合 过程: ①读取数据:在标题栏选择“文件”选项,点击“打开为”,选择“光学传感器”,由于哨兵2号数据…

Java后端八股笔记

Java后端八股笔记 Redis八股 上两种都有可能导致脏数据 所以使用两次删除缓存的技术,延时是因为数据库有主从问题需要更新,无法达到完全的强一致性,只能达到控制一致性。 一般放入缓存中的数据都是读多写少的数据 业务逻辑代码&#x1f44…

#stm32外设总结电容触摸按键

BS8116A-3 IRQ 外部中断请求 NMOS输出内部上拉 SCL SDA IIC通信接口 VDD 供电电压2.2-5.5V Ct电容: 0~25 pF 电容越大灵敏度越低 1、 软件使用流程 初始化 将IIC的两个引脚初始化为复用开漏模式 按键引脚设置上拉输入 下降沿触发外部中断 void KEY_Init(void) {//uint8_t …

音视频学习笔记——实现PCM和H264合成MP4功能

本文主要记录实现PCM和H264合成MP4功能的整个框架&#xff0c;各个模块中FFmpeg的api使用流程&#xff0c;便于后续学习和复盘。 本专栏知识点是通过<零声教育>的音视频流媒体高级开发课程进行系统学习&#xff0c;梳理总结后写下文章&#xff0c;对音视频相关内容感兴趣…

2024最新算法:冠豪猪优化算法(Crested Porcupine Optimizer,CPO)求解23个基准函数(提供MATLAB代码)

一、冠豪猪优化算法 冠豪猪优化算法(Crested Porcupine Optimizer&#xff0c;CPO)由Mohamed Abdel-Basset等人于2024年提出&#xff0c;该算法模拟冠豪猪的四种不同保护机制&#xff1a;视觉、听觉、气味和物理攻击。第一和第二防御技术&#xff08;视觉和听觉&#xff09;反…

安装nexus + 部署私有maven仓库

安装nexus 部署私有maven仓库 文章目录 安装nexus 部署私有maven仓库1.下载2.解压3.修改配置文件4.启动5.访问6.查看默认密码7.创建私库8.修改代码配置文件9.在maven 的setting.xml中配置私库的账号密码10.运行manve 【deploy】命令测试11.maven项目引用私库12. 重新加载mave…

C/C++内存管理【C++】

目录 一、 C/C内存分布1. C内存管理方式(1) new和delete操作内置类型(2) new和delete操作自定义类型 二、 operator new与operator delete函数三、 malloc/free和new/delete的区别四、内存泄漏 一、 C/C内存分布 C/C程序的内存布局会因编译器和操作系统而有所不同&#xff0c;但…

红帆ioffice-udfGetDocStep.asmx存在SQL注入漏洞

产品简介 红帆iOffice.net从最早满足医院行政办公需求&#xff08;传统OA&#xff09;&#xff0c;到目前融合了卫生主管部门的管理规范和众多行业特色应用&#xff0c;是目前唯一定位于解决医院综合业务管理的软件&#xff0c;是最符合医院行业特点的医院综合业务管理平台&am…

上门服务小程序|上门服务系统成品功能包含哪些?

随着移动互联网的快速发展&#xff0c;上门服务小程序成为了一种创新的家政服务模式。它不仅为用户带来了极大的便利&#xff0c;还能在提高服务效率和质量方面发挥作用。通过上门服务小程序&#xff0c;用户可以轻松预约按摩或理疗服务&#xff0c;无需繁琐操作&#xff0c;只…

9、JavaWeb-文件上传-配置文件

P146 案例-文件上传-简介 文件上传&#xff0c;将本地图片、视频等文件上传到服务器&#xff0c;供其他用户浏览下载的过程。 文件上传前端页面三要素&#xff1a; 如果前端表单的编码格式选择的默认编码方式x-www.form-urlencoded&#xff0c;则提交的文件仅仅是文件名&…

【Linux进阶之路】网络 —— “?“ (下)

文章目录 前言一、概念铺垫1.TCP2.全双工 二、网络版本计算器1. 原理简要2. 实现框架&&代码2.1 封装socket2.2 客户端与服务端2.3 封装与解包2.4 请求与响应2.5 对数据进行处理2.6 主程序逻辑 3.Json的简单使用 总结尾序 前言 在上文我们学习使用套接字的相关接口进行了…

Python实现广义泊松模型(GeneralizedPoisson算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 广义泊松模型&#xff08;Generalized Poisson Model&#xff09;是一种统计学中用于处理数据的分析方…

MATLAB环境下滚动轴承复合故障仿真信号及时频谱

滚动轴承是一种广泛应用于各类旋转机械的通用基础部件&#xff0c;其运行状态的正常与否往往会对于整台机器的寿命、可靠性和精度等性能产生直接的影响。据统计&#xff0c;旋转机械中30%的故障和大型异步电机中44%的故障是由故障轴承引起的&#xff0c;而位于轴承内圈和外圈的…

浏览器的缓存导致的问题

同一个网站 频繁回退进入&#xff0c;音频播放器失效等问题问题 1.打开浏览器-更多工具-任务管理器 2.可以看到缓存页面进程 3.频繁回退进入 就会出现问题 解决方法&#xff1a; try {var bfWorker new Worker(window.URL.createObjectURL(new Blob([1])));window.addEvent…

智慧城市如何助力疫情防控:科技赋能城市安全

目录 一、引言 二、智慧城市与疫情防控的紧密结合 三、智慧城市在疫情防控中的具体应用 1、智能监测与预警系统 2、智慧医疗与健康管理 3、智能交通与物流管理 4、智慧社区与基层防控 四、科技赋能城市安全的未来展望 五、结论 一、引言 近年来&#xff0c;全球范围内…

Python 匿名函数lambda()详解

一、匿名函数定义 lambda 函数是一个匿名函数&#xff08;即&#xff0c;没有名称定义&#xff09;&#xff0c;它可以接受任意数量的参数&#xff0c;但与普通函数不同&#xff0c;它只计算并返回一个表达式 二、匿名函数语法 lambda arguments&#xff08;参数&#xff09;: …