首页 > 其他分享 >聊聊缺陷收敛率

聊聊缺陷收敛率

时间:2024-06-21 12:33:48浏览次数:18  
标签:收敛 逃逸 质量 聊聊 缺陷 线上 度量

一位关注我公众号很久的同学后台留言,问了我一些关于质量度量的问题,和他沟通过程中交换了彼此的一些观点,也让我对质量度量有了一些新的理解。这篇文章聊聊在质量度量中,几个很有意思的指标,以及常见的误区。

 

什么是缺陷收敛率

说到缺陷收敛率,就不得不先聊聊缺陷逃逸率。

我在前面的文章《聊聊缺陷逃逸率》中对缺陷逃逸率是如此描述的:缺陷逃逸率指的是软件产品线上发布后,发生在线上环境的缺陷数量与该版本迭代生命周期内总缺陷数量的比率,缺陷逃逸率也称之为线上BUG逃逸率或者“测试逃逸”。

关于线上缺陷逃逸率,有这样一个计算公式:线上缺陷逃逸率=线上缺陷数/版本周期总缺陷数×100%。这个指标一般除了衡量线上的产品交付质量以外,还可以用来评估测试团队的质量控制水平。

既然是质量控制,那对应的就是要控制线上缺陷的数量,或者尽可能降低线上缺陷对业务和系统稳定性的影响。在这样的背景下,就有了缺陷收敛率这样一个质量度量指标。

 

缺陷收敛率的作用

所谓缺陷收敛率,反映的是缺陷在软件产品研发过程中的变化趋势和修复的时效性问题

一般来说,软件系统会在测试阶段的前中期(单元测试&集成测试)暴露出大量缺陷,到系统测试和回归测试阶段,缺陷数量会有明显的下降和收敛趋势。

为什么会出现这样一个指标呢?正常来说每轮测试发现的bug,应该在下一轮测试开始之前都尽量修复,且bug的reopen数量应该有大幅度的降低,这样才能从某种角度证明,测试活动是有效的。

单纯以bug数量衡量软件产品质量,是不够全面的,但是bug数量的多寡确实在很大程度上体现了产品的功能正确性。

如果在多轮的测试和bug修复后,依然存在很多bug,那只能说质量控制的结果是失败的。与之对应的,无论是测试活动,还是研发规范,或者说编码质量,肯定存在很大的风险。

而缺陷收敛率的作用,则是用来度量这一过程的工作结果,是否符合预期。

同时这一指标还可以提醒研发测试同学,避免潜在的风险向下游传递,放大影响范围和修复成本。再进一步来说,通过缺陷收敛率这一指标,来控制和降低产品验收以及线上发布的风险。

 

如何度量缺陷收敛率

既然缺陷逃逸率可以度量,那么缺陷收敛率同样可以度量。下图是一张缺陷收敛折线图:

(网图侵删,仅供示意参考)

一般来说,从提测到线上发布,再到下一版本线上发布之前,这一阶段可以视为一个完整的缺陷统计度量区间。如果只是简单的进行统计,那么仅需要统计如上图所示的三个指标即可。

如果需要更详细的指标,则可以对这一完整的统计度量区间进行划分。例如:单元测试阶段,集成测试阶段,系统测试阶段,验收灰度阶段,线上运营阶段。

单纯的统计数据和度量其实比较简单,一般来说如果在某个统计阶段内,累计发现缺陷和累积解决缺陷的曲线接近一致,则说明缺陷收敛率数据较为良好。反之,则说明该阶段的质量存在一定的风险。

理论上,累积发现缺陷和累积解决缺陷的曲线应该在完整的统计区间末期接近重合。但在实际工作场景中,这种情况很少见,毕竟影响质量的因素太多了,且总会存在不可控的因素,或者黑天鹅因素。

如何根据缺陷收敛率度量评估质量呢?我的思路是选择某个版本作为对比基线,然后统计后续版本不同阶段和统计区间的数据,进行同比和环比的对比。

当然,所有的质量度量和改进措施,在实际应用实践中应该“量力而为”,因为质量本身就是有成本的。应该在有限的资源条件下提高质量,这也是质量保障和改进应该追求的目标。

之前看过一些分析文章和部分测试团队的质量度量实践案例,他们为了线上质量和系统稳定性,专门针对线上环境制定了度量指标,典型的如线上问题留存率(线上发现的缺陷留存时长,用来评估修复时效和对线上质量的重视程度)。

对此我只能感叹,指标和数据真的被玩出花儿了。

 

最后,聊聊缺陷逃逸和缺陷收敛的关系。

缺陷逃逸率是阶段性的质量结果,缺陷收敛是对质量进行控制和改进的目标,缺陷收敛率是评估质量控制和改进结果的度量指标。听起来很拗口,简单来说就是因为有逃逸,所以要进行收敛,并对收敛的结果进行评估。

其实无论是质量度量还是什么,都只是解决问题达成目标的手段和工具。有度量指标,从度量结果开始分析如何改进,然后对改进过程和结果继续进行度量分析改进,套娃般的循环往复。

度量指标真要玩起来,能定特别多的指标,但最为重要的是结合团队痛点,真实的去优化改进,不断提升产品交付质量。否则质量度量,最后只会成为KPI和向上管理的画饼工具。

标签:收敛,逃逸,质量,聊聊,缺陷,线上,度量
From: https://www.cnblogs.com/imyalost/p/18260278

相关文章

  • 聊聊语法糖
    语法糖(Syntacticsugar)是指编程语言中添加的某种语法,这种语法对语言的功能没有影响,但更方便程序员使用,并能增加程序的可读性,减少代码出错的机会。历史:语法糖这一术语是由英国计算机科学家彼得·约翰·兰达(PeterJ.Landin)发明的。在编程中,语法糖通过提供更为简洁、易读的代......
  • 聊聊线上变更管控思路
    通过对线上故障的复盘总结,我们发现由变更导致的故障占绝大多数,因此有必要进行线上变更管控,以下是一些基本思路:1、变更是否符合规范是否有对应需求,还有随意或主观变更?变更是否有对应审批?(原则上所有线上变更都需要审批:不管是研发代码变更、应用配置变更还是平台运营操作等等),审......
  • 技术革新引领钢材质量智能化检测新纪元,基于YOLOv3全系列【yolov3tiny/yolov3/yolov3sp
    随着人工智能(AI)技术的迅猛发展,其应用领域不断拓宽,正深刻改变着传统产业的运作模式。在钢材生产这一基础工业领域,AI的引入正为钢材的质量检测带来革命性的变革。在传统的钢材生产流程中,质量检测是确保产品质量的关键环节。然而,这一环节长期以来主要依赖于经验丰富的工人通过肉......
  • 简单聊聊Unicode
    接下来我们简单讲讲,Unicode的原理,例如,Unicode的设计思路,Unicode和UTF的关系等。‍简单的字符编码模型一个字符,在计算机中如何存储,是涉及到很多部分的。例如,一个字符集有多少个字符、如何编号和转成几个字节存储(也就是如何编码)等等,我们称这套机制为:字符编码模型(CharacterE......
  • ChatGPT学习之旅 (6) 聊聊AI人设
    大家好,我是Edison。上一篇:Prompt终极用法通过前面5篇内容我们了解了从基础到高级的Prompt用法,今天我们来聊聊AI的人设!打造人设的步骤:只要3步在Prompt实践中,我们了解到需要给AI打造一个人设,这样它才能比较精确地get到场景。其实,人设的本质就是有效地给AI洗脑,引导GPT专注于解决......
  • 基于条件生成对抗的PCB板缺陷数据集生成方案
    《十年一剑》苍茫蜀山觅仙踪人间韶光几度莫负好花好景前世约今生盟翻覆六界啸聚五灵舍却三生石刻补情天再塑苍穹公司项目,已申请专利。深度学习作为新兴技术在PCB板外观缺陷检测领域蓬勃发展,因其自主学习样本外观缺陷特征避免了人工设计算法的繁琐,其精准的检测性......
  • 聊聊育种大模型
    从去年年末开始到现在,大语言模型(LargeLanguageModels,LLM)热度依旧不减。有实力烧钱的机构在训练自己的LLM,没实力想凑热闹的更聚焦在垂直领域的应用上,绝大多数企业属于后者。每个行业多多少都有人在做基础模型的微调和打造私有知识库,以期不被时代抛弃。医疗、法律、金融、教育......
  • 目标检测数据集 - PCB板表面缺陷检测数据集下载「包含VOC、COCO、YOLO三种格式」
    数据集介绍:PCB板表面缺陷检测数据集,真实采集高质量PCB板表面含缺陷图片数据,数据集含多款不同PCB板高清表面图片数据,包括俯拍正拍、旋转拍摄姿态。数据标注标签包括missing_hole、mouse_bite、open_circuit、short、spur、spurious_copper六个缺陷类别;适用实际项目应用:P......
  • 17岁中专女生勇夺2024阿里全球数学赛12名好成绩,今天,站在程序员的视角,我们来聊聊数学对
    大家好,我是程序员陶朱公,一个认真生活,总想超越自己的程序员。前言相信这两天,大家都刷屏到了一个比较热度的新闻——17岁中专女生在今年这届阿里举办的全球数赛中,勇夺第12名的好成绩。↓↓↓看到这里,可能有小伙伴会觉得有点疑惑:又不是第一名,不明白第12名的她,为什么会引起社会......
  • 简单聊聊字符编码
    01.简单聊聊字符编码几乎人人都遇过乱码问题,程序们更是经常被乱码弄得抓狂,那么乱码产生的原因是什么呢?字符是如何在计算机里存储的呢?本系列文章我们就来聊聊这个主题。字符编码是计算机世界里最基础、最重要的一个主题之一,如果你是计算机行业工作者,很有必要掌握。如果不彻......