如何做bug分析 ?bug分析什么 ? 为什么要做bug分析 ?

每当我们完成一个版本测试时,总会在测试报告中添加一些分析bug的指标 ,主要用于分析在测试过程中存在的问题 。但是在分析的过程中你就可能遇到如下的问题 :

  • 我应该分析那些指标呢 ?每一个具体的指标该如何分析 ?它能说明什么问题 ?

你若想要答案 ,不妨从以下三个问题入手 ,能回答了以下的三个问题,答案就呼之欲出了 。

  1. 为什么要进行bug分析 ? 它对我们工作有什么帮助 ?

  2. bug分析具体要分析什么 ? 即它有那些指标 ?

  3. 该如何进行bug分析 ,它们能说明什么问题 ?

1.为什么要进行bug分析 ?

通过bug分析,对我们测试工作有两个好处:

  • 通过bug分析 ,能发现在测试过程中存在的一些问题,这些问题主要产品质量和测试效率上的问题 。

  • 通过长时间bug的分析 ,建立bug分析数据库 ,从而在批量数据下找到规律,从而为后续版本测试提供一些可靠建议 。

bug分析发现问题

在测试过程中,最常见的一个bug分析指标就是 ,时间和bug数量的折线图 。通过这个指标我们就可以看出bug是否收敛,从而判断出项目是否已经稳定,从而决定能进行上线了 。那如果这个折线图一直是上下抖动 ,说明目前产品质量还不稳定 ,需要再继续测试 。

当然,通过一个指标是不能说明整个测试过程的问题的,需要将一些有效的指标都结合起来分析,才有可能得出比较可靠的结论 。

bug分析建立数据库

偶然只去分析一个版本,不足以去发现一些规律性的问题 ,而且也不容易积累经验 。所以 ,我们将每一个版本的数据都要搜集起来,进行纵向比较,就会发现一些固定的影响因素 ,即长期潜在的问题 。如若它是相对固定的问题 ,你再拿着这些问题也同样预测到后续版本也会出现这样的问题 。 通常情况下,一旦此类型的问题被解决,改善效果就会很明显 。最后就可以拿着这个指标去监控当前测试状态是否健康 ,与预期的曲线相符合,说明测试状态健康 ,反之就不健康 。

2.bug要分析什么 ? 具体它有那些指标 ?

在上面我们只列出了一个指标 ? 那么一个迭代测试中,我们到底要分析那些指标呢 ?第一是对产品质量评估的指标,即产品质量在测试过程中是否健康 ? 是否已经达到上线标准 ,都需要通过这些指标查看 。第二就是对工作效率的评估的指标 ,主要包括测试效率和开发效率 ,写开发效率是因为它会影响到测试 。评估它们是否对测试进度产生影响 ,从而影响整个上线工期 。

 

  • bug趋势图 :就是上面的那个截图 ,主要是查看随着时间的推移,bug数量的变化 。通过此图我们主要关注产品质量是否稳定,是否具备了上线条件 。

  • bug修复情况 :在最后一轮测试是否出现二级及以上bug ;必修bug是否已修复 。通过这两个问题主要关注重点问题是否已被修复 ,不会导致影响产品质量。

  • bug修复和关闭的及时性 :即bug修复的快慢速度 ,bug被关闭的快慢速度 。 这两个及时性主要关注的是测试过程中流程执行的是否正常 ,是否因速度慢导致质量或进度产生偏差。

  • 用例执行和非用例测试产出bug比 : 即通过用例发现的bug数和非用例发现的bug数的比率值 ,这个值一把是维持在一个固定的范围值内 ,太高或太低都说明用例写的有问题 或者 其它测试方法使用的有问题 。

  • bug有效率 :就是提交已修复的bug占总bug数的比率 ,通过这个比率我们来判断测试人员的业务水平

  • bug激活率 : 就是通过回归测试重新激活的bug占总bug的比率 ,通过这个比率我们来判断开发人员的开发效率 。

3.该如何分析bug ?

具体指标知道了 ,在实际的版本测试中该如何进行分析呢 ?

bug趋势图分析 :

该指标主要关注的是中间的波动和最后的收敛情况 。

曲线上升可能产生的原因有:合入或修改了新功能 ,使用了新方法 ,功能未完成一轮测试 ,随着业务的熟悉测试出前期遗漏的bug ;若曲线下降很可能是测试方法已经失效 ,功能已经完成一轮测试 。

最后的曲线一定要收敛才行 ,否则说明产品质量不稳定,不具备上线条件,考虑进行延期测试。

bug修复情况:

在探索式测试里曾有这样的说法 ,在最后回归测试期间 ,要谨慎的测试(即不能随意的测试) 。如若这样测试,还是在最后一轮测试中发现了一二级bug,那只能说明前面的测试没有做好 ,同时该bug也可能影响产品上线质量,因为它是最后期发现重要的bug的,不修改不行,修改的话又可能引入新的bug 。这也是为什么我们要关注这个指标:'在最后一轮测试是否出现二级及以上bug' .

当然 ,我们也要关注主要bug是否在本次上线前已经修复 ,因为它影响产品质量 ,所以重点bug也要进行关注 。

bug修复和关闭的及时性:

一般bug被提出后1~2天能是应该被修复的 ,如若该时间拉长了 ,它不仅仅是延长了我们的修复时间,更主要的是它很有可能产生新bug而影响产品质量的稳定性 。

bug回归的及时性也同样如此 ,如若回归的太晚 ,就可能会导致回归出新bug而导致的产品后期不稳定。

用例执行和非用例测试产出bug比

此指标已经在‘如何进行测试用例的分析’一文有详细说明,这里不在赘述 。

bug有效率和bug激活率

bug有效率主要关注测试人员提交效率,如果这个值很低 ,说明测试人员对业务理解上有问题 ,或者理解能力比较差,亦或者是业务准备时间上不足 。同时如果这个值很低说明我们的测试效率也低 ,拉长整个改的生命周期 。

bug激活率主要关注的是开发人员修复效率 ,如果这个值很低 ,说明开发人员修复bug逻辑上有问题 ,或者技术水平存在问题 ,或者是态度可能有问题 。同时这个值很低也会影响测试和开发的配合效率,拉长整个改的生命周期 。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用Python制作进度条有多少种方法?看这一篇文章就够了!

前言 偶然间刷到一个视频,说到:当程序正在运算时,会有一个较长时间的空白期,谁也不知道程序运行的进度如何,不如给他加个进度条。 于是我今个就搜寻一下,Python版的进度条都可以怎么写! 正文…

【Logback】Logback 日志框架的架构

目录 1、Logger(记录器) (1)有效级别和级别继承 (2)日志打印和日志筛选 (3)记录器命名 2、Appenders(追加器) 3、Layouts(布局)…

【深度学习】LoRA: Low-Rank Adaptation of Large Language Models,论文解读

文章: https://arxiv.org/abs/2106.09685 文章目录 摘要介绍LoRA的特点什么是低秩适应矩阵?什么是适应阶段?低秩适应矩阵被注入到预训练模型的每一层Transformer结构中,这一步是如何做到的? 摘要 自然语言处理的一个重…

Docusaurus框架——快速搭建markdown文档站点介绍sora

文章目录 ⭐前言⭐初始化项目💖 创建项目(react-js)💖 运行项目💖 目录文件💖 创建一个jsx页面💖 创建一个md文档💖 创建一个介绍sora的文档 ⭐总结⭐结束 ⭐前言 大家好&#xff0…

变分自编码器 VAE 超详解,从简单公式推导到模型结构到模型理解

参考文献: [1] Kingma D P, Welling M. Auto-encoding variational bayes[J]. arXiv preprint arXiv:1312.6114, 2013. [2] Doersch C. Tutorial on variational autoencoders[J]. arXiv preprint arXiv:1606.05908, 2016. [3] 变分自编码器(一&#xff…

nginx-------- 高性能的 Web服务端 (三) 验证模块 页面配置

一、http设置 1.1 验证模块 需要输入用户名和密码 htpasswd 此命令来自于 httpd-tools 包,如果没有安装 安装一下即可 也可以安装httpd 直接yum install httpd -y 也一样 第一次生成文件htpasswd -c 文件路径 姓名 交互式生成密码 htpasswd -bc 文…

【牛牛送书 | 第四期】《高效使用Redis:一书学透数据存储与高可用集群》带你快速学习使用Redis

前言: 当今互联网技术日新月异,随着数据量的爆炸式增长,如何高效地存储和管理数据成为了每个公司都必须面对的挑战。与此同时,用户对于应用程序的响应速度和稳定性要求也越来越高。在这个背景下,Redis 作为一个…

证件照(兼容H5,APP,小程序)

证件照由uniappuyui开发完成&#xff0c;并同时兼容H5、App、微信小程序、支付宝小程序&#xff0c;其他端暂未测试。 先看部分效果图吧具体可以下方复制链接体验demo 首页代码 <template><view class""><view class"uy-m-x-30 uy-m-b-20"…

TYPE-C接口桌面显示器:视频与充电的双重革新

在现代科技的浪潮中&#xff0c;TYPE-C接口桌面显示器崭露头角&#xff0c;它不仅仅是一台显示器&#xff0c;更是充电与视频传输的完美融合。这种新型的显示器&#xff0c;凭借其TYPE-C接口&#xff0c;实现了从DC电源到PD协议充电的华丽转身&#xff0c;为众多设备如笔记本电…

实用区块链应用:去中心化投票系统的部署与实施

一、需求分析背景 随着技术的发展&#xff0c;传统的投票系统面临着越来越多的挑战&#xff0c;如中心化控制、透明度不足和易受攻击等问题。为了解决这些问题&#xff0c;我们可以利用区块链技术去中心化、透明性和安全性来构建一个去中心化投票系统。这样的系统能够确保投票过…

opencv直方图绘制详解

文章目录 1.直方图的定义、意义和特征1. 定义2. 意义3. 特征4. 方法和参数 2.灰度直方图3.mask详解4.彩色直方图 1.直方图的定义、意义和特征 1. 定义 在统计学中&#xff0c;直方图是一种对数据分布情况的图形表示&#xff0c;是一种二维统计图表&#xff0c; 他的两个坐标分…

HTML+CSS:动态搜索框

效果演示 这段代码实现了一个简单的搜索栏效果。页面背景为从天蓝色到深蓝色的渐变色&#xff0c;搜索栏包括一个圆形背景的搜索图标和一个输入框。当用户点击搜索图标时&#xff0c;输入框会从搜索图标的位置滑出&#xff0c;显示一个输入框和一个清除按钮。用户可以在输入框中…

MySQL数据库基础(十三):关系型数据库三范式介绍

文章目录 关系型数据库三范式介绍 一、什么是三范式 二、数据冗余 三、范式的划分 四、一范式 五、二范式 六、三范式 七、总结 关系型数据库三范式介绍 一、什么是三范式 设计关系数据库时&#xff0c;遵从不同的规范要求&#xff0c;设计出合理的关系型数据库&…

JavaSec 之 XXE 简单了解

文章目录 XMLReaderSAXReaderSAXBuilderDocumentBuilderUnmarshaller**SAXParserFactory**XMLReaderFactoryDigester总结 XMLReader public String XMLReader(RequestBody String content) {try {XMLReader xmlReader XMLReaderFactory.createXMLReader();// 修复&#xff1a…

ELK介绍以及搭建

基础环境 hostnamectl set-hostname els01 hostnamectl set-hostname els02 hostnamectl set-hostname els03 hostnamectl set-hostname kbased -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config systemctl stop firewalld & systemctl disable firewalld# 安…

LVS-NAT之VMNET环境搭建

目录 搭建拓扑图 搭建规划 VMNET0 搭建 VMNET2 搭建 LVS端增加网卡 搭建拓扑图: 搭建规划: CLIENT(servera): VMNET0 LVS(serverb): VMNET0 VMNET2 WEB1(serverd): VMNET2 WEB2(servere): VMNET2 VMNE…

R的seurat和python的scanpy对比学习

现在的单细胞分析&#xff0c;往往避免不了scanpy的使用&#xff0c;我们可以通过对比seurat来学习scanpy 今天的格式怎么都改不了。。。手机阅读有点费劲&#xff0c;&#xff0c;推荐电脑阅读。 单细胞数据分析概览 单细胞分析&#xff0c;总流程 python教程 seurat教程 se…

算法题目中图和树的存储

邻接表的方式存储图和树 这就是邻接表&#xff0c;就是将每个结点的孩子结点用链表表示出来&#xff0c;再将所有结点以数组形式连起来。 存储树和图我们需要三个数组&#xff0c;h[N], e[N], ne[N],分别表示邻接表&#xff0c;结点值&#xff0c;结点的next值&#xff0c;h[i…

C/C++内存管理学习【new】

文章目录 一、C/C内存分布二、C语言中动态内存管理方式&#xff1a;malloc/calloc/realloc/free三、C内存管理方式3.1 new/delete操作内置类型3.2 new和delete操作自定义类型四、operator new与operator delete函数五、new和delete的实现原理5.1 内置类型 六、定位new表达式(pl…

Codeforces Round 494 (Div. 3)

目录 A. Polycarps Pockets B. Binary String Constructing C. Intense Heat D. Coins and Queries E. Tree Constructing F. Abbreviation A. Polycarps Pockets 记录数量可以直接开一个桶即可然后求最大值 void solve(){cin>>n;vector<int> ton(105);int …