软件测试中的二八定律到底是什么?

news2024/11/27 1:24:42

目录

前言:

一、80%的软件缺陷,集聚在软件20%的模块中

二、软件测试工作尽早介入

三、反映在软件测试的自动化方面

四、80%的缺陷,集中在某20%的开发工程师代码中;

一、缺陷是解决不完的

二、是不可能发现100%缺陷的

三、缺陷是相对的


前言:

软件测试中的二八定律(Pareto Principle)是指在软件测试中,80%的缺陷通常来自于20%的功能或代码。这个规律源自意大利经济学家维尔弗多·巴雷托(Vilfredo Pareto)提出的帕累托法则,他观察到80%的财富掌握在20%的人手中。

一、80%的软件缺陷,集聚在软件20%的模块中

出色的测试人员会根据这个原则快速发现更多的缺陷(这个原则可以解释你的一个烦恼:为什么你经过几天的努力测试,没有发现任何缺陷;你老大慢慢走过来,随便点,新鲜发布三个bug)。

普通的测试人员,非常焦虑&忙碌的加班加点,漫无目的地到处搜寻,一个Bug都没发现。

此处,俗称:探索性测试;

在测试时间有限/测试人员有限的情况下,非常适用。

此原则:

对于软件测试人员提高测试效率及缺陷发现率有着重大的意义

二、软件测试工作尽早介入

在需求阶段、系统分析、系统设计、系统实现阶段的复审,能够发现和避免80%的软件缺陷。

作者一直认为,测试的价值,不是测试出多少个Bug,而应该去思考,如何减少缺陷流出到线上生产系统;

三、反映在软件测试的自动化方面

经过大量企业的实践证明,80%的软件缺陷可借助人工测试发现,20%的软件缺陷可以借助自动化测试收到发现和避免。

二者间具有交叉的部分,尚有5%左右的软件缺陷需要通过其他方式进行发现和修正。

比如,测试右移的,线上监控、灰度测试、日志分析等等;

四、80%的缺陷,集中在某20%的开发工程师代码中;

在质量部门的过程中,让每位测试同学详细分析各团队的开发人员,分析每位开发同学的过程缺陷数据;把有限的时间,集中在某几位同学提交的代码中;能够发现80%的Bug;

注:还有很多企业落地实战,在践行80/20原则;这篇文章,先写这四个维度;

另,关于软件测试的一些观念澄清:

一、缺陷是解决不完的

质量&效率的平衡,需把控一个适当的“度”

一味追求Bug解决100%,期望一个缺陷不留,只会导致版本上线遥遥无期;对于99%的系统,这不是科学的玩法(特别是快速发展、迭代的电商等系统)。

对于每位测试从业者,都需要去思考的一个事:“当发版时间临近,还存在一些Bug没解决完时,如何处理?”

作者的建议是:拉上相关人(业务、IT老大、测试老大、项目经理),梳理Bug优先级,确定发版前必须要解决的Bug,可暂缓的,遗留到下个版本解决;

二、是不可能发现100%缺陷的

所以考核指标,才存在“线上漏测率”这个指标。

软件测试能做到的是:尽可能多的发现软件的缺陷;

没人能够保证100%发现所有缺陷;这就是为何现在各企业在落地实战「测试右移」;

虽然不能发现100%的缺陷,但我们可以做到实时监控,以及在用户发现缺陷之前,把缺陷给“偷偷的”解决了(这就是之前说的:软件测试从业者终极目标,线上零BUG如何实现?);

三、缺陷是相对的

除了明显的功能不可用、Error报错等;不符合预期结果,也可以称为“Bug”;

如果连预期结果都没有,或者产品经理,根本就没有告诉你,这个点,应该是怎么样的;

这个时候,就得跟产品经理,好好勾兑,怼需求了;

这就是为何IT团队,经常跟产品经理,讨论如此火热的原因(每个人对预期结果的想法是不一样的);

但,这里有一个点:作为一名软件测试工程师,你是可以通过接触足够多的行业软件/行业系统,去引导产品经理、开发工程师,按你的想法,达成你期望的结果;

这就是所谓的“用户体验测试”

  作为一位过来人也是希望大家少走一些弯路

在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。

(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等)

相信能使你更好的进步!

点击下方小卡片

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

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

相关文章

Web APls-day04

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 日期对象 日期对象:用来表示时间的对象 作用:可以得到当前系统时间 实例化 在代码中发现…

【设计模式】第九章:外观模式(门面模式)详解及应用案例

系列文章 【设计模式】七大设计原则 【设计模式】第一章:单例模式 【设计模式】第二章:工厂模式 【设计模式】第三章:建造者模式 【设计模式】第四章:原型模式 【设计模式】第五章:适配器模式 【设计模式】第六章&…

17 MFC进程通信

文章目录 剪切板管道匿名管道父进程写入数据子进程读出数据 命名管道 邮槽邮槽服务器邮槽客户端 剪切板 设置界面 发送 //设置剪切板数据 void CClipboardDlg::OnBnClickedBtnSend() {UpdateData(TRUE);if (m_strSend.IsEmpty()){MessageBox(L"请输入需要设置的文本&quo…

spring的事务处理@Trasactional Aop处理第二弹

书接上回 ,我们针对spring中的ApplicationContext类的扩展功能-事件发布和监听处理源码进行了解析,知道了消息是如何存放和传递给监听器处理的。这章我们看下另外一个重量级的组件Transactional事务处理是如何实现的。 我们可能都了解过声明式的事务处理…

十三、弹性容器flex的样式1

目录&#xff1a; 1.基础准备 2.属性解析 一、基础准备 设置ul为弹性元素&#xff0c;默认是flex-direction:row&#xff0c;所以不用设置&#xff0c;然后在让里面的方块不进行伸缩。 我们看到小方块超出了边框 <style>*{margin: 0;padding: 0;list-style: none;}ul{wi…

vant List组件实现上拉加载中 首次进行load事件执行两次的问题

需求&#xff1a; 进行tab切换时&#xff0c;其中一次tab下有上拉加载的功能 问题&#xff1a; 在第一次切换到带有上拉加载列表功能的tab&#xff0c;执行加载list的load事件执行了两次造成数据的重复加载&#xff0c;另外如果这个list的高度全部在可视范围内&#xff0c;首次…

STM32:Custom HID实现USB双向通信

本文章主要讲了使用STM32的USB Device&#xff0c;实现控制板和电脑通信功能。从而实现&#xff0c;上位机对控制板进行调试。 USB Device可以有多种类型&#xff0c;实现双向通信的话&#xff0c;推荐使用Custom HID类型。 首先使用STM32CubeMx实现功能引脚配置并且生成对应…

Win11的两个实用技巧系列之关闭输入法悬浮窗方法、记住窗口位置禁用或启用的方法

Win11输入法悬浮窗怎么去掉? win11关闭输入法悬浮窗方法 Win11输入法悬浮窗怎么去掉&#xff1f;win11安装的输入法有悬浮窗&#xff0c;想要去掉悬浮窗&#xff0c;该怎么操作呢&#xff1f;下面我们就来看看win11关闭输入法悬浮窗方法 很多用户将自己win11更新到了最新版本…

面试题 16.02. 单词频率

设计一个方法&#xff0c;找出任意指定单词在一本书中的出现频率。 你的实现应该支持如下操作&#xff1a; WordsFrequency(book)构造函数&#xff0c;参数为字符串数组构成的一本书get(word)查询指定单词在书中出现的频率 示例&#xff1a; WordsFrequency wordsFrequency …

git cherry-pick 用法

1. 切换到目标分支 说明&#xff1a;本人基于 master 新建分支 master-fxd&#xff0c;那么目标分支为 master-fxd git checkout <target-branch>2. 从其他分支选择并应用单个提交 说明&#xff0c;其他分支例如 dev 提交的代码&#xff0c;使用 jihulab.com 比较 master…

针对WordPress程序无法升级最新版本的问题分析

WordPress程序是当前使用率最高的CMS系统之一&#xff0c;因开发功能完善&#xff0c;WordPress模板和插件众多而著称&#xff0c;茹莱神兽做三个网站&#xff0c;其中有两个网站使用的是WordPress程序搭建&#xff0c;可见它的受欢迎程度。 而WordPress程序本身也相当给力&a…

刷简单的题也很吃力怎么办?(经验分享)

目录 一、前言 1.刷简单的题也很吃力怎么办&#xff1f; 2.不重视这种问题会怎么样&#xff1f; 二、找到属于自己的解决方案 三、根据问题进行分解或建立思维导图​​​​​​​ 四、分享刷题网站 一、前言 1.刷简单的题也很吃力怎么办&#xff1f; 有的时候在当时学完…

ZMQ在windows下配合VS2017使用(c++)

ZMQ专题学习之四&#xff1a;libzmq的发布及订阅方式_jyl_sh的博客-CSDN博客 一、背景介绍 高速并发消息通信框架——ZeroMQ详解&#xff08;一&#xff09; - 知乎 (zhihu.com) zmq将socket进行了封装&#xff0c;可以快速在两个进程间进行通信 二、编译libzip https:/…

超详细Redis入门教程——Redis缓存

前言 本文小新为大家带来 Redis缓存 相关知识&#xff0c;具体内容包括Jedis客户端&#xff08;包括&#xff1a;Jedis简介&#xff0c;创建工程&#xff0c;使用 Jedis 实例&#xff0c;使用 JedisPool&#xff0c;使用 JedisPooled&#xff0c;连接 Sentinel 高可用集群&…

锂电池组冷却模型

文章最下方的长方形小方框内有博主的QQ名片获取本文同款程序 硕博期间所有的程序代码&#xff0c;一共2个多g&#xff0c;可以给你指导&#xff0c;赠送半个小时的语音电话答疑。电池数据辨识程序各种卡尔曼滤波算法都在里面了&#xff0c;后续还会有新模型的更新。快速入门BM…

初识栈溢出 pwn02

题目给了一个链接和端口 pwn.challenge.ctf.show 28183&#xff0c;可以nc看一下 题目给的链接和端口的其实是用来放进我们编写的exp脚本的 还给了一个附件 stack 下载好后拖进kali使用file和checksec命令检查一下 发现是一个32位的程序 No canary found 表示没有金丝雀保…

Stable Diffusion 多角度人设立绘快速生成多种方法

对于插画师构建人物立绘图设计一套多方位的人设可能要很久&#xff0c;但是使用SD进行操作的话就非常简单了&#xff0c;这个利用ControlNet骨骼图进行配置操作。 供一些样图参考&#xff0c;也可以使用ADetailer进行人物相关部位的修复。 文章目录 准备工作关键词绘制使用骨骼…

深入理解ASEMI整流桥KBP210特性及其应用

编辑-Z 在电子工程领域&#xff0c;整流器是一种重要的元件&#xff0c;它能将交流电&#xff08;AC&#xff09;转换为直流电&#xff08;DC&#xff09;。其中&#xff0c;整流桥KBP210是一种常见的整流器&#xff0c;因其优秀的性能和广泛的应用&#xff0c;受到了工程师们…

【专题速递】大模型、带宽优化、智能外呼和AIGC的数据实践

// ChatGPT的爆发为音视频带来了怎样的革新&#xff1f;AIGC又将如何辅助音视频技术为用户带来更好的体验&#xff1f;7月29日LiveVideoStackCon上海站AI与多媒体专场&#xff0c;为您解答。 AI与多媒体 随着生活方式及习惯的变化&#xff0c;人们对于媒体内容与体验有着更高…

8、离线数仓同步数据

1、 用户行为数据同步 1.1、 数据通道 用户行为数据由Flume从Kafka直接同步到HDFS&#xff0c;由于离线数仓采用Hive的分区表按天统计&#xff0c;所以目标路径要包含一层日期。具体数据流向如下图所示。 1.2、 日志消费Flume配置概述 按照规划&#xff0c;该Flume需将Kafka…