由人工智能参数讨论基于Bug的软件测试质量分析

简介: 由人工智能参数讨论基于Bug的软件测试质量分析

上文和大家一起讨论了人工智能样本的评价参数:准确度、精准度、召回率和F1分数。这篇文章,我们结合这些参数来讨论基于Bug的软件测试质量分析。


软件测试质量分析是软件测试工作中非常重要的管理工作,其实在没有了解准确度、精准度、召回率这些概念之前,我们其实已经多多少少使用了这些概念。现在假设讨论的周期为一次正式的版本发布,版本经过研发,并且在客户现场运行了一段时间,目前基本上发现不了Bug了。在这期间发现了mBug其中研发人员发现的Bug数量为a个(a1个为有效缺陷、a2个为无效缺陷,a1+a2=a),研发人员发现的Bug数量为b个(b1个为有效缺陷、b2个为无效缺陷,b1+b2=b)。这样我们就可以定义真阳性Buga1个,假阳性Buga2,真阴性Bugb1个,假阴性Bugb2。接下来我们将缺陷乘以严重等级(严重×5,一般×3 轻微×1),就可以获得混淆矩阵。


假设Bug情况如下表:

研发发现的

客户发现的

有效

无效

有效

无效

严重

一般

轻微

合计

严重

一般

轻微

合计

严重

一般

轻微

合计

严重

一般

轻微

合计

50

104

198


10

24

46


5

14

25


2

7

12


250

312

198

760

50

72

46

168

25

42

25

82

10

21

12

43


站在研发角度,我们可以得到:

  • 真阳——研发发现的有效缺陷(加权后):760
  • 真阴——客户发现的无效缺陷(加权后):43
  • 假阴——客户发现的有效缺陷(加权后):82
  • 假阳——研发发现的无效缺陷(加权后):168


所以混淆矩阵为



P

N

T

760

168

F

82

43


所以可以得到:

  • 准确率:(760+43)/(760+168+43+82)=803/1053=76%;
  • 精确度:760/(760+168)=760/928=82%;
  • 召回率:760/(760+82)=760/842=90%;
  • F1分数:82%×90%×2 /(82%+90%)=1.479/1.72=86%


可以看见准确率反应整体发现缺陷的水平,准确度反应研发发现缺陷的质量,召回率反应研发发现缺陷的水平。作为测试工作,我们的目标是在准确率、精确度和召回率上都要加强。准确率的提高主要目标是减少整体误报率,精确度的提高主要目标是减少研发人员的误报率,召回率的提高是保证在出厂之前产品的质量的指标。如果精确度与召回率比较低,而准确率高,说明研发人员的测试水平存在一定问题,许多缺陷都是用户测试出来的;反之,如果召回率比较高,而精确度或准确率低,说明发现了大量无效缺陷,需要对产品业务进行有效沟通。

目录
相关文章
|
Java 测试技术 Apache
用JMeter做接口压力测试
JMeter是Apache组织开发的基于Java的压力测试工具,它是用 Java 语言编写的
|
7月前
RT-DETR改进策略【损失函数篇】| 通过辅助边界框计算IoU提升检测效果(Inner_GIoU、Inner_DIoU、Inner_CIoU、Inner_EIoU、Inner_SIoU)
RT-DETR改进策略【损失函数篇】| 通过辅助边界框计算IoU提升检测效果(Inner_GIoU、Inner_DIoU、Inner_CIoU、Inner_EIoU、Inner_SIoU)
340 0
RT-DETR改进策略【损失函数篇】| 通过辅助边界框计算IoU提升检测效果(Inner_GIoU、Inner_DIoU、Inner_CIoU、Inner_EIoU、Inner_SIoU)
|
9月前
|
消息中间件 关系型数据库 MySQL
ClickHouse如何整合数据源:MySQL、HDFS...
ClickHouse 是一个强大的列式数据库管理系统,支持多种数据源。常见的数据源包括外部数据源(如 HDFS、File、URL、Kafka 和 RabbitMQ)、数据库(如 MySQL 和 PostgreSQL)和流式数据(如 Stream 和 Materialized Views)。本文介绍了如何从 MySQL 和 HDFS 读取数据到 ClickHouse 中,包括创建数据库、映射表和查询数据的具体步骤。通过这些方法,用户可以方便地将不同来源的数据导入 ClickHouse 进行高效存储和分析。
488 3
|
SQL 关系型数据库 MySQL
MySQL Workbench的安装与配置
MySQL Workbench的安装与配置
|
10月前
|
消息中间件 Java Kafka
实时数仓Kappa架构:从入门到实战
【11月更文挑战第24天】随着大数据技术的不断发展,企业对实时数据处理和分析的需求日益增长。实时数仓(Real-Time Data Warehouse, RTDW)应运而生,其中Kappa架构作为一种简化的数据处理架构,通过统一的流处理框架,解决了传统Lambda架构中批处理和实时处理的复杂性。本文将深入探讨Kappa架构的历史背景、业务场景、功能点、优缺点、解决的问题以及底层原理,并详细介绍如何使用Java语言快速搭建一套实时数仓。
955 4
|
11月前
|
负载均衡 API 数据格式
RPC和HTTP的区别?
RPC和HTTP的区别?
545 0
|
存储 NoSQL 算法
Redis集群,集群的概念 三种主流分片方式1.哈希求余 一致性哈希算法:方案三:哈希槽分区算法问题一Redis集群是最多有16384个分片吗问题二:为什么是16384个,集群扩容:1.新的主节点
Redis集群,集群的概念 三种主流分片方式1.哈希求余 一致性哈希算法:方案三:哈希槽分区算法问题一Redis集群是最多有16384个分片吗问题二:为什么是16384个,集群扩容:1.新的主节点
|
存储 人工智能 安全
保障隐私的Elasticsearch AI搜索解决方案
【8月更文第28天】随着大数据和人工智能技术的发展,搜索引擎在日常生活中扮演着越来越重要的角色。然而,用户隐私保护成为了一个不容忽视的问题。本文将探讨如何在确保用户数据隐私的同时,利用Elasticsearch实现智能搜索功能。我们将介绍一种综合方案,该方案结合了加密技术、差分隐私、匿名化处理以及安全多方计算等方法,以保障用户数据的安全性
743 0
|
存储 负载均衡 监控
redis 集群模式(redis cluster)介绍
redis 集群模式(redis cluster)介绍
|
SQL 关系型数据库 MySQL
【MySQL】慢SQL分析流程
【4月更文挑战第1天】【MySQL】慢SQL分析流程