IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 漫谈测试人生:软件测试的墨菲定律、二八定律和木桶定律… -> 正文阅读

[开发测试]漫谈测试人生:软件测试的墨菲定律、二八定律和木桶定律…

谈及人生,我们可能听过不少具有哲理性且非常受用的定律,那么谈及测试,又有哪些值得我们思考的定律呢?

墨菲定律

墨菲定律的原话是这样的:Anything that can go wrong will go wrong。

凡事只要有可能出错,那就一定会出错。在测试工作中,我们经常会遇到这样的场景。

场景一

在需求评审阶段,我们凭借着以往项目的测试经验预感到这个项目的某些功能点或者某些环节会有潜在问题。

如果这个时候我们没有及时思考和评估并暴露出风险,等到开发人员完成项目编码并提交测试时,我们会发现,之前预感到可能发生的bug果然出现了。

场景二

在临近项目发布上线,项目依然还有严重等级比较高的bug需要修复,在开发人员的不懈努力下终于修复好了一个bug让我们去验证。

如果我们只是验证这个bug并不展开验证的话,开发人员与测试人员的“互相伤害”也就到此为止了,但是,出于职业意识,我们还是会去验证下该bug关联且有被影响风险的模块,结果就是,我们又发现新的bug。

关于墨菲定律,以上两个场景并不一定是完成成立的,但是在大多工作中,墨菲定律在测试工作得到了印证:当我们凭借经验预感到相关的风险时,如果我们没有及早暴露风险和问题,这些问题最后还是会发生。

二八定律

二八定律在软件测试领域是这样描述的:80% of all bugs can be found in 20% of program modules。

80%的问题可以在20%的模块中发现,换句话来说,软件系统中的问题存在群集现象,大部分的问题会集中在少数的模块上。

在软件项目开展过程中,如果我们没有对需求和研发方案进行必要且充分的评审,在测试过程中,我们就会发现并记录更多数量的缺陷。

开发类bug的统计结果如图2-1所示,软件项目中的bug确实存在群集现象,在少数模块或者功能上,集中了大部分的缺陷,而这部分模块,通常情况下就是软件系统或者是本次迭代中比较核心的功能模块。

图2-1 二八定律

木桶定律

木桶定律阐述了这样一个道理:A bucket's capacity is determined by its shortest stave。

一只水桶能装多少水取决于它最短的那块模板。如图3-1所示,软件系统的质量正如这个水桶的容量,其质量不是只取决于测试环节,而是同时取决于测试节点之前以及测试节点之后的所有环节。

如果任何一个环节的质量把控不好,整个软件系统的质量也会受之影响。

所以为了及早捕获系统缺陷,我们就要在更早的环节提前介入,尽可能地预防潜在的问题发生,将测试工作从测试环节向左移动。

为了保障系统发布后在线上正确稳定运行,我们需要持续跟踪线上系统的运行情况。

图3-1 木桶定律

本文分享的三大定律可能存在一定的片面性,但是想分享的思想是明确的:提高风险控制和质量保障意识,及早地发现和推动问题的解决。

其中:

·墨菲定律告诉我们要有风险意识和风险控制能力。

·二八定律告诉我们要识别工作中的主要内容和次要内容,预防软件系统中最核心且高风险的部分。

·木桶定律告诉我们软件系统的质量不仅取决用软件生命周期的某一个环节的质量,而是依赖软件生命周期中的每个环节,正如一只水桶能装多少水取决于它最短的那块模板,软件系统的质量也取决于那个质量最差的环节。

最后,欢迎大家对文章纠错指点,感谢。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-08-17 15:41:40  更:2021-08-17 15:42:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 20:36:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码