质量度量落地的注意事项和思考

news/2024/12/2 11:29:46/文章来源:https://www.cnblogs.com/imyalost/p/18581358

后台有同学留言问了这样一个问题:想在团队内推动质量度量落地,对每版本迭代的交付质量有更好的评估,但没有太多的实践经验,有没有什么落地方法或者注意事项。

首先聊聊质量度量本身,即质量需不需要度量?

答案显而易见:质量需要度量,而且需要持续的度量!为什么呢?

我们所从事的软件测试工作(随着技术不断发展,现在也叫作质量保障),工作对象就是软件系统。经过需求设计、需求评审、技术设计、代码开发、测试验证、上线发布等多个环节,才能保障这些软件的最终交付质量。

这一整套复杂的流程,实际上就是将不确定性(需求)转化为确定性(具有严密逻辑的软件系统)的过程。确定性,需要一定的衡量标准来评估它是否满足预期的设计,因此需要一定的数据来进行度量。

而持续度量的原因,是业务和技术本身就处在一个不断变化发展的状态,需要持续的度量和评估,才能保障软件系统的质量长期处在一定的水准之上,满足用户需要和保障业务目标达成。

质量度量的本质,是具体的定量,而非抽象的定性。

 

其次聊聊质量度量的注意事项,这些注意事项是我个人结合工作经历和实践总结的经验教训,仅供参考。

质量保障是一个体系化和长期建设的过程,而质量度量作为最重要的一环之一,在落地过程中需要持续跟进和优化。

  1. 质量保障不仅仅是QA同学的事情,因此质量度量也不能只关注测试维度。
  2. 度量指标需要根据团队特性和业务具体情况来制定,并且需要评估是否合理,而不是强行制定强行执行。
  3. 质量度量是为了保障最终交付质量能更好的满足用户需要,进一步达成业务目标,而非为了度量而强行度量。
  4. 质量度量并非一蹴而就,在软件不同的生命周期和团队成熟度阶段,度量的范围和执行严格程度要灵活变通。

 

最后,分享一些我对于软件质量度量的一些思考。

1、不要为了度量而度量,找到合适的度量对象很重要。

比如听一些同学说他们的质量度量指标,就有首次测试用例执行通过率,以及累积测试用例执行通过率。

这两个指标是为了解决什么问题?如果只是看到别人有,那我也要做,只是浪费时间和资源。而且你花大力气去做,大概率也得不到整个技术团队的认可。

2、度量指标一定要和具体的问题挂钩,否则指标没有意义。

最常见的,测试用例覆盖率,测试用例通过率。这个度量指标的作用是什么,要解决什么问题。

比如提测冒烟通过率必须100%,否则证明了主流程存在block,影响测试进度。这个度量指标要解决的是可测性和测试进度,提高从编码到测试环节的交付产出物质量。

3、度量的指标和数值一定要和直接干系人达成一致。

还是以冒烟提测通过率为例,如果研发团队不认可,怎么办?

很多时候测试团队没有太大话语权,没办法影响到研发团队。这个时候要学会迂回策略。即如果冒烟提测通过率不达标,导致了什么结果,这个结果的风险是什么,会带来什么不好的影响。然后向更上一层汇报,暴露风险。

4、度量指标和数值不能解决问题,只能证明发生了什么。

设置度量指标和衡量的数值后,要明确一点:度量产生的数据不能直接解决问题,而是证明产生了什么结果。

要分析数据背后的原因,什么原因导致了这个结果,这个原因的风险和对交付质量有什么不好的影响,然后才是拿着数据和分析的结果去推动改进。

5、落地质量度量有很多前置条件,质量度量不是单一存在的。

举个例子,通过度量缺陷数量和用例数量以及对应的百分比,来评估每版本的编码质量。

这个逻辑没问题,但不是单单搞个对比数据就可以的。缺陷&用例需要和对应的代码分支关联,代码又要和需求关联。否则只有数据,没有因果关系,证明不了问题,也解决不了最本质的需求不完善和代码质量不高的问题。

6、质量度量是一个复杂的技术工程,更需要大量的沟通和协作。

工作真正要解决的是人的问题,技术不存在难点,难点在于思路,以及说服其他人配合你行动。

想清楚再行动,先从小范围试点,从最痛的点开始,这样推进的动力更大。

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

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

相关文章

Python 存储验证码至redis

存储时考虑原子性 import redis# 实例化redis对象r = redis.Redis(host=localhost, port=6379, db=5,decode_responses=True)# 随机码的存储 def save_code(email,lifetime,code):# 原子操作,确保原子性 都执行或都不执行# 原子性保存验证码return r.setex(email,lifetime,cod…

【终端】终端配置、Vim使用相关

终端设置 MobaXterm主题 GithubVim 设置相关设置显示行号/etc/vimrc 是系统范围的初始化配置 ~/.vimrc 个人的vim初始化配置如果没有个人的vim初始化配置:touch ~/.vimrc vim ~/.vimrc设置好保存退出 wq使用相关跳转跳转指定行 :100跳转到100行 跳转到最开头 gg 跳转到最末…

idea的如何git代码进行合并

案例,将dev-wsg 的部分代码提交,合并到develop中1、先使用命令,将分支切换到develop分支 git checkout develop2、在idea 底部,选中这个标签页 3、选中要合并的提交,选择优选。这样本地的代码,会合并到本地develop分支中 4、优选后,如果分支右侧显示还要推送,则要进行…

11.30学习日记

11.30学习日记 oj 跑项目报错如下查问题,改成java8这个路径也要改掉这里用的是木马程序测试路径 改成我们正常测试的main.java就行运行成功

携程酒店库存查询接口(接单被骗直接放出接口)

本来是接单的,做了一个查询库存自动到他们系统里下库存的单子,做好部署好,老板可能也有点技术,拿了跑路了,那就放出来,给大家用 接口请求格式:https://down.ychengsnsm.com/jd/api.php?id=48565681&checkinDate=2024-12-30 测试图:id就是酒店id,随便到携程到个酒…

jQuery和CSS3超酷3D翻转式模态对话框插件

jquery-awesomodals是一款JQUERY和CSS3超酷3D翻转式模态对话框插件。该对话框特效通过jquery和CSS3 transitions和transforms来在对话框打开时制作3D翻转的效果,效果非常的酷。在线演示 下载安装 可以通过bower来安装jquery-awesomodals插件。$ bower install jquery-awesomo…

软件工程课堂测试九

软件需求与分析课堂测试九—结构化建模分析II(100分) (45分钟)1、 需求描述: 请设计一个仓储管理系统原型系统,该系统支持多个仓库的设立。统一 设立物资台账,物资台账需包含物资编码、物资名称、规格、材质、供应商、 品牌、物资分类,用户可以自定义物资的物资分类。…

Zabbix7 乱码处理

Zabbix7 乱码处理 Zabbix安装好后,查看图形时下面的文字往往显示不出来从windows主机 C:\Windows\Fonts拷贝字体文件双击打开,拷贝文件到桌面上传到 Zabbix主机以下目录(可以使用lrzsz 上传,安装方式 dnf install lrzsz -y) /usr/share/zabbix/assets/fonts 修改配置文件vim…

PDPS的虚拟调试整流程简单版

1:和PLC虚拟连接【选项------PLC------外部连接------添加Advance】2:PDPS插入cojt/jt文件,【建模-插入组件】【这样可以直接把机械端的设计文件导入】 3:定义机械设备的动作设计,比如气缸的打开/关闭动作【建模-运动学设备-姿态编辑器】 4:定义设备的动作逻辑流程【控件…

经济下行,利润却翻倍!AI救了这些企业的命

只有紧跟AI潮流,企业才能在变革中不断成长,开辟新的增长点,从而增强核心竞争力。大家好,我是陈哥,今天想和大家聊聊企业落地AI~ 自2022年底ChatGPT问世以来,AI热度高居不下,这场科技革命正以不可阻挡之势改变着世界。 SpaceX和特斯拉的董事会成员史蒂夫贾维森曾说:“机…

循环神经网络设计同样可以使用预训练词“嵌入”

序言:重新训练人工智能大型模型是一项复杂且高成本的任务,尤其对于当前的LLM(大型语言模型)来说,全球99.99%的企业难以承担。这是因为模型训练需要巨大的资源投入、复杂的技术流程以及大量的人力支持。因此,无论在科学研究还是实际应用中,人们通常依赖开源的预训练模型及…