软件测试质量度量之 “三级指标体系”

管理学大师彼得 - 德鲁克曾说过:无数据不管理。

数字是人们快速认知事物的一种有效方式。无论在生活还是工作,对事还是对人都息息相关。碰上难以的用数字描述事物或现象肯定是没有找对适用的指标和度量方式。尤其对于质量工程方面的工作,定量的呈现远比定性描述更有说服力。而 “三级指标体系” 就是在这一年的反复打磨中,逐渐清晰并成型的,能够将工程质量加以体系化度量的一种最佳实践。

为什么是三级?而不是四级或者更少?

通过一级指标,直观反馈在工程化过程中某个方面的水准,具有结果性质的指标,类似 “后视镜” 的作用,但也具有较大之后性且粒度较大;从而引入二级指标,对大颗粒度的一级指标进行拆解,分而治之以获取改善。由于粒度的均匀程度问题,需进一步纳入三级指标才具备可操作性,以便着手改善以最终影响到结果。通常情况下,三级指标即可起到有效的下钻分析并落入改进闭环的效果。

通过实践归纳,选取效率、质量、稳定、资源四个方面共同构建三级指标体系。四个方面的关系可描述为质量是立命之本,稳定是有效质量活动的自然结果;业务方期望的是有质量地(约束条件)快速交付,且尽可能少的资源投入,其中也隐含着对资源的高效利用的诉求。

简而言之就是 “多、快、好、省” 地把活干了。三级指标分别指的是:

  • 一级指标,即结果指标。起到 “后视镜” 的作用,有一定的延迟性。
  • 二级指标,即拆解指标/改善指标。对结果形成进行构成拆解或者直接可以作用以改善结果。
  • 三级指标,即改善指标。可以对应到一个或一组改进行为以获取对结果的部分改善。

下文针对上述四个方面一一展开相应三级指标构成、内在逻辑及应用说明。

一、效率

效率是工程团队与业务团队沟通的热点话题,也是工程团队被诟病的高频方面。从面向高效交付的质量保障工作为切口,进行应用说明。

效率方面,通过业务交付能力、计划保障能力以及过程协同能力自底向上逐级支撑与保障以实现高效的目的,也就是用数据呈现 “多” 与 “快”。

业务交付与响应,通过吞吐率这一相对值体现;绝对值方面采用总需求数对照观测,而需求上线率、需求分布体现的是对计划的保障能力。指标方面反映了业务方提了多少需求,排上了多少需求,排上了多少大需求,排上的按时完成了多少。

进而下钻到协同效率体现,其依赖于估时精准性,而过程中准时提测率作为契约支撑,自动化率以及工程配套可用率影响着测试执行效率。这趴指标侧重实施过程的能力说明,属于 “肌肉” 展示。解释了为什么能以及如何能保障效率。此处隐去了众多三级指标,以便清晰说明(下同)。

二、质量

软件的质量是开发出来的,程序(制品)一旦流转至测试流程后即被固化。这里指的是内建质量,是客观的程序质量。所有的测试行为是对这一客观质量的挖掘。因此,测试行为是通过场景覆盖尽可能地逼近这一客观的质量活动。

通常情况下,设置合理的准入标准有利于提前终止不达标制品的流转,保障流程的顺畅性,将提测质量独立度量,并对提测前进行延展收集成因数据以便形成结论。

提测质量是质量门禁的卡尺,是让研发流水线中的质量活动顺畅进行的必要保障。工程上,对于质量活动的投入为被动投入,即不可少,但期望尽可能减少投入。因此质量门禁的设置可以用相对低成本的方式,避免不必要的过渡资源消耗,就好比给汽车上蜡前,先让洗车工把车冲洗干净;否则,上蜡工不得不花费更多的时间去除车上覆盖的尘土,再进入关键工序。如下图,从缺陷成本曲线来看,是笔不划算的投入。

而内建质量,是一系列质量活动之后自然的描述结果。其中,缺陷引入率是最直接的描述。缺陷数这一绝对数量,结合其构成即缺陷分布,能够描述较为清晰的内建质量。

职能的作用是什么?这一灵魂拷问结合上图做必要的说明,从价值视角阐述其内在导向以及良性的促进闭环逻辑。

测试执行从价值视角切入,尽可能体现质量活动投入而产生的价值,从缺陷价值、回归价值两发面着手并形成正向闭环指导测试设计。简而言之:

  • 发现高价值缺陷。结合 PRD 及技术实现,覆盖用户场景的同时,刻意针对技术实现方式设计用例。如幂等校验、异常处理等。并参考覆盖率报告增补用例,确保覆盖相对全面性。
  • 自动化高价值回归用例。抓住核心、稳定两个关键词,随着回归用例的与日俱增,定期 review 进行有效用例增补与无效用例剔除以减少不必要的维护成本。

三、稳定

稳定,一般情况下是有效质量保障的自然结果。往往由运维团队主导,对线上进行实时监控,故障应急响应。生产故障数及其分布是主要核准指标。策略上遵从:不出大问题,小问题快速恢复,将故障影响尽可能最小化,即:故障影响 = 故障严重等级 x 故障修复时长。

具体指标表现为 P1P2 生产故障数减少或清零,P3P4 生产故障数收敛减少。通常故障定级标准,除了影响面作为一个维度,如资损金额、客诉量等,也会将故障恢复时间作为一个必要维度进行阶梯式定义。

另外,由于生产故障的滞后性,针对某次生产故障的复盘而产生的待办项是有效改善上述结果指标的措施,所以,待办闭环率是该方面的改善指标。

此处需要说明的是,系统性的风险累计最终会导致某次生产故障。这是质量保障工作的 “黑天鹅事件”,也是最难解释质保策略有效性的部分。老 J 给出的说法是质量保障和稳定性治理双管齐下,互相补充。局部的优化即使达到炉火纯青的地步,难抵一次结构性的破坏。而生产故障驱动的系统性复盘能够指导局部优化策略的迭代,使其更加夯实与全面。所以,这是整体与局部的二元互补增强的循环过程。

四、资源

提及资源,主要聚焦在人的维度进行最优配置,即:面向目标,将合适的人用在合适的的地方,并发挥出效益。围绕着下面三个方面进行动态调优。

  • 配置多少人?
  • 集中用在哪?
  • 效益如何放大?

这是一个配置策略的问题,而策略本身源于目标,在一段时间内解决一个什么样的问题,应该符合 “SMART 原则” 而设定与开展。

分别引入资源开测比、预实比及直接反馈职能效益的时均用例执行数与上述三个方面一一对应。其中:

  • 资源开测比反映的是增益投入(开发)与被动投入(测试)的结果。
  • 预实比反应的是资源利用率及有效投入情况。
  • 时均用例执行数是反映职能从事质量活动的效率水平。依赖内建质量质量、协同效率、测试策略及配套工程手段的综合情况。

总结

“无数据不管理”。数据是工作过程中的一种低成本沟通方式。定性的描述,故事性的讲解都不如定量的摆事实来的直接与高效。

总结下三级指标指的是:

  • 一级指标,即结果指标。起到 “后视镜” 的作用,有一定的延迟性。
  • 二级指标,即拆解指标/改善指标。对结果形成进行构成拆解或者直接可以作用以改善结果。
  • 三级指标,即改善指标。可以对应到一个或一组改进行为以获取对结果的部分改善。

“三级指标体系” 能够将工程质量加以体系化度量的一种最佳实践。历经基线建立,数据校准,特别是与体感的拟合,这也是体系打磨的主体工作,极为耗时耗力,最后是系统化收集与可视化呈现,让数据实时服务于日常工作。

效率、质量、稳定、资源四个方面的关系可描述为一下三句话:

  1. 质量是职能线立命之本,稳定是有效质量活动的自然结果;
  2. 累加效率这一约束条件,以实现有质量地快速交付;
  3. 同时,尽可能少的投入资源。

三级指标体系是系统化的、体感拟合的、可持续积累的研发数字化资产。随着持续的积累与应用,可以通过局部组合解决特定阶段的工程问题,如组合冒烟通过率、冒烟缺陷率、延期提测率反应提测质量,即门禁质量。而针对其组合指标的改进行为是被验证过的有效措施,通过总结落入一套 “专家意见库”,成为团队的经验与可复制能力,甚至是企业的无形财富。

同样,结合上线前的质量评审机制,通过对测试前、中、后三个阶段,选取组合并通过算法计算而形成质量风险预警效果的 “红绿灯” 提示,是数据可视化应用的一种有效尝试。

综上,设计一套有效的指标体系,并不断积累数据,能帮助我们选取合理、科学的路径实现一个个工程目标的达成。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

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

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

相关文章

喂饭教程:AI生成100套Word题库阿里云百炼实训营

郭震原创,手撸码字187022张图 你好,我是郭震 1 实际需求 前段时间,有个关注我的粉丝联系我,是一位大学计算机女老师。 她想做一个二级考试题库,选择题实操题,最好100套以上,拿来给学生练手。 问…

解两道四年级奥数题(等差数列)玩玩

1、1~200这200个连续自然数的全部数字之和是________。 2、2,4,6,……,2008这些偶数的所有各位数字之和是________。 这两道题算易错吧,这里求数字之和,比如124这个数的全部数字之和是1247。 …

【ClickHouse】副本、分片集群 (六)

副本 副本的目的主要是保障数据的高可用性,即使一台ClickHouse节点宕机,那么也可以从其他服务器获得相同的数据。 https://clickhouse.tech/docs/en/engines/table-engines/mergetree-family/replication/ 副本写入流程 写入流程如图-18所示: 图-18 写…

CATIA_DELMIA_V5R2019安装包下载及安装教程破解

以下为V5-6R2019安装说明 1.将两卷安装文件解压到同一目录内,互相覆盖即可 (按用户需要下载 CATIA 或者DELMIA) 以上为 CATIA 的安装包 以上为 DELMIA 的安装包 两者合并到一起,同一目录 2.解压后运行setup.exe 如遇到报错&…

数据集标注研究

主要研究数据集标注存储文件的数据存储格式 目录 0.简介1.coco128-seg数据格式1.1 分割标注格式2.YOLO格式2.1 YOLO目标识别标签2.2 yolov5-seg分割标签2.TT100K数据集标注2.1 TT100K数据集标注文件解析0.简介 1.coco128-seg数据格式 1.1 分割标注格式 如coco128-seg数据集 …

【一步一步了解Java系列】:认识异常类

看到这句话的时候证明:此刻你我都在努力 加油陌生人 个人主页:Gu Gu Study专栏:一步一步了解Java 喜欢的一句话: 常常会回顾努力的自己,所以要为自己的努力留下足迹 喜欢的话可以点个赞谢谢了。 作者:小闭…

论文阅读03(基于人类偏好微调语言模型)

1.主题 基于人类偏好微调语言模型(Fine-Tuning Language Models from Human Preferences) 出处: Fine-Tuning Language Models from Human Preferences、 2.摘要 奖励学习使得强化学习(RL)可以应用于那些通过人类判断…

计算机网络(概述)

该笔记为湖科大计算机网络相关笔记、教材参考计算机网络第六版 湖科大计算机网络 计算机网络概述 因特网概述 Internet和internet的区别 internet:只要是计算机与计算机连接,形成了网络,就可以叫internet Internet:泛指全世界的…

Excel 导入实例

在上一节的基础上&#xff0c;本文演示下如何导入excel数据。 Excel导入操作指导 继承ocean-easyexcel SDK&#xff0c;上一节打包生成 <dependency><groupId>com.angel.ocean</groupId><artifactId>ocean-easyexcel</artifactId><version…

晶谷电子器件烧结封装介质材料 绝缘用晶谷低温封接环保玻璃粉 耐压高

电子器件烧结封装介质材料是用于保护和封装电子器件的关键材料。 常见的电子器件烧结封装介质材料包括以下几种&#xff1a; 1. 陶瓷材料&#xff1a;具有良好的绝缘性能、耐高温性能和机械强度。 2. 高分子材料&#xff1a;如环氧树脂等&#xff0c;具有良好的柔韧性和耐湿…

k8s离线部署nginx

1. 拉取nginx离线包到本地 sudo docker save nginx:latest -o nginx.tar 2. 导入nginx image到k8s命名空间中 sudo ctr -n k8s.io images import nginx.tar 3. 编辑nginx.yaml apiVersion: apps/v1 kind: Deployment metadata:name: nginx-deployment spec:selector:match…

【C语言】解决C语言报错:Array Index Out of Bounds

文章目录 简介什么是Array Index Out of BoundsArray Index Out of Bounds的常见原因如何检测和调试Array Index Out of Bounds解决Array Index Out of Bounds的最佳实践详细实例解析示例1&#xff1a;访问负索引示例2&#xff1a;访问超出上限的索引示例3&#xff1a;循环边界…

ArcGIS实现不同地块分类与面积汇总

​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 点击学习——>遥感影像综合处理4大遥感软件ArcGISENVIErdaseCognition 我们要做一个不同地块面积汇总&#xff01; 你有一批地块&#xff0c;不同面积&#xff0c;我们需…

Redis单例部署

目录 1. 概述2. 参考3. 环境4. 部署4.1 操作系统4.1.1 修改系统参数4.1.2 关闭透明大页内存4.1.3 修改系统限制 4.2 安装Redis4.2.1 下载Redis4.2.2 创建redis账号4.2.3 添加Redis环境变量4.2.4 创建Redis使用目录4.2.5 安装Redis4.2.6 手动修改配置文件&#xff08;**可跳过&a…

javaSE字符串学习笔记

API和API帮助文档 API API(Application Programming Interface)&#xff1a;应用程序编程接口简单理解&#xff1a;API酒啊别人已经写好的东西&#xff0c;我们不需要自己编写&#xff0c;直接使用即可。 API这个术语在编程圈中非常常见.我第一次接触API这个词语是在大一下。老…

【办公技巧】如何编辑带有限制编辑密码的PDF文件?

PDF文件打开之后发现设置了限制编辑&#xff0c;功能栏中的编辑按钮都是灰色的&#xff0c;导致PDF文件里的内容无法编辑。那么带有限制编辑的PDF文件&#xff0c;如何编辑&#xff1f;今天分享两个方法。 方法一&#xff1a; 我们可以将PDF文件转换成其他格式&#xff0c;有…

简单理解爬虫的概念

简单来说&#xff1a; 爬虫&#xff0c;即网络蜘蛛&#xff0c;是伪装成客户端与服务器进行数据交互的程序。 代码 代码教程分享&#xff08;无偿&#xff09;&#xff1a; 思路 1.获取网页的源码 pythondef askURL(url):head{"User-Agent":"Mozilla/5.0 (L…

SQL综合查询-学校教务管理系统数据库

一、一个完整的数据查询语句的格式 SELECT 【ALL|DISTINCT】<目标列表达式>【&#xff0c;<目标列表达式2>&#xff0c;...】 FROM <表名或视图名1>【&#xff0c;<表名或视图名2>&#xff0c;...】 【WHERE <元组选择条件表达式>】 【GROUP…

利用streamlit开发大模型API调用对话网页应用

利用streamlit开发大模型API调用对话网页应用 介绍 Streamlit是一个用于构建数据应用的开源框架&#xff0c;其简单易用的界面使得数据科学家和开发人员能够快速创建交互式应用。而OpenAI API则提供了强大的语言模型&#xff0c;可以生成自然语言响应。将这两者结合起来&…

redis-基础篇(2)

黑马redis-基础篇笔记 3. redis的java客户端-Jedis 在Redis官网中提供了各种语言的客户端&#xff0c;地址&#xff1a;https://redis.io/docs/clients/ 标记为❤的就是推荐使用的java客户端&#xff0c;包括&#xff1a; Jedis和Lettuce&#xff1a;这两个主要是提供了Redi…