由人工智能参数讨论基于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%


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

目录
相关文章
|
8月前
|
机器学习/深度学习 数据采集 人工智能
【专栏】AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。
1076 6
|
4月前
|
人工智能 算法 测试技术
软件测试中的人工智能:提升测试效率与质量
随着软件开发的快速发展,传统的手工测试方法已经无法满足现代软件项目的需求。本文探讨了人工智能在软件测试中的应用,如何通过自动化测试、智能缺陷分析和测试用例生成等技术,提高测试效率和质量。我们将详细介绍这些技术的原理和实际应用,并讨论其带来的优势和挑战。
253 4
|
3月前
|
SQL 安全 算法
ChatGPT高效提问—prompt实践(漏洞风险分析-重构建议-识别内存泄漏)
ChatGPT高效提问—prompt实践(漏洞风险分析-重构建议-识别内存泄漏)
62 0
|
5月前
|
监控 测试技术 UED
软件测试的艺术:确保质量的五个关键实践
【8月更文挑战第28天】 在软件开发领域,测试不仅是发现错误的工具,更是确保产品稳定性、性能和用户满意度的基石。本文将深入探讨五个关键的软件测试实践,包括单元测试、集成测试、系统测试、压力测试和回归测试,以及它们如何共同构建起一个坚实的质量保证体系。通过这些实践,我们不仅能够提升软件的质量,还能更好地预测和应对潜在的风险,从而为最终用户提供更加稳定可靠的软件产品。
67 5
|
5月前
|
测试技术
软件测试的艺术与实践:确保质量的五步法
在数字化时代的浪潮中,软件成为了我们日常生活和工作中不可或缺的一部分。高质量的软件产品能够为用户提供流畅的体验,而软件测试是确保产品质量的关键步骤。本文将介绍一种简洁高效的软件测试方法—“五步法”,旨在帮助读者理解如何通过结构化的测试流程来提升软件的可靠性和性能。从需求分析到用户接受度测试,每一步都承载着其独特的价值和意义,共同构建起一道坚固的质量防线。让我们一起探索这门艺术和科学的结合体,揭开软件测试的神秘面纱。
73 1
|
5月前
|
测试技术 持续交付
软件测试的艺术:确保质量的探索之旅
在数字化时代的浪潮中,软件成为我们生活和工作不可或缺的一部分。但在这背后,隐藏着一个不为人知的世界——软件测试。它如同一位默默无闻的守护者,确保每一个程序的稳定性、可靠性与性能。本文将带您走进软件测试的核心,揭示它的重要性,探索不同的测试方法,并分享如何通过持续集成和自动化测试提升效率。让我们一同踏上这场确保软件质量的探索之旅,发现那些让软件变得更加完美的秘诀吧!
|
7月前
|
安全 测试技术
软件测试项目式学习二(认识软件测试及软件测试分类与案例分析)
软件测试项目式学习二(认识软件测试及软件测试分类与案例分析)
117 1
|
人工智能 测试技术
软件测试/人工智能|如何利用ChatGPT帮助我们编写测试用例
软件测试/人工智能|如何利用ChatGPT帮助我们编写测试用例
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
深入探究软件测试中AI驱动的自动化策略
【4月更文挑战第12天】随着人工智能(AI)技术的飞速发展,其在软件测试领域的应用已经从理论走向实践。本文将探讨AI如何革新传统自动化测试方法,提高测试效率与质量,并分析面临的主要挑战以及未来的发展趋势。我们将重点讨论机器学习、自然语言处理等AI技术在测试案例生成、执行及结果分析中的应用,并展示实际案例以证明AI在推动软件测试自动化方面的巨大潜力。
|
人工智能 测试技术 程序员
软件测试/人工智能|使用ChatGPT帮我们查找bug
软件测试/人工智能|使用ChatGPT帮我们查找bug