Métricas
Qualidade
Software
Desenvolvimento
Testes
Code Quality

软件质量指标:完整指南

软件质量指标:完整指南

没有衡量的东西就不会得到改善。质量指标可帮助您了解软件健康状况并指导决策。本指南向您介绍最重要的指标以及如何使用它们。

为什么要衡量质量

可见性

了解当前状态。

趋势

变得更好还是更糟?

决定

基于数据,而不是直觉。

通讯

向利益相关者展示质量。

代码指标

代码覆盖率

测试覆盖的代码百分比。

圈复杂度

代码中路径的复杂性。

重复

重复代码。

技术债务

清理工作估算。

可维护性指数

维护难易度得分。

错误指标

缺陷密度

按代码大小划分的错误 (KLOC)。

错误逃逸率

生产环境与完整环境中发现的错误。

###MTBF

平均故障间隔时间。

平均修复时间

平均修复时间。

严重性分布

按严重程度划分的比例。

测试指标

测试覆盖率

单元、集成、E2E。

测试通过率

通过的百分比。

不稳定的测试

测试不稳定。

测试执行时间

运行套件需要多长时间。

流程指标

交货时间

从提交到部署。

周期时间

从一个功能的开始到结束。

部署频率

每个时期有多少部署。

更改失败率

导致问题的部署的百分比。

朵拉指标

它们是什么

DevOps 研究和评估指标。

四个指标

  1. 部署频率
  2. 变更准备时间
  3. 改变失败率
  4. 恢复服务的时间

分类

精英、高、中、低绩效者。

代码审查

回顾时间

代码审核需要多长时间。

审查完整性

实质性评论。

批准率

通过率。

生产指标

正常运行时间

系统可用性。

错误率

生产中的错误率。

响应时间

请求延迟(p50、p95、p99)。

吞吐量

每秒请求数。

用户满意度

###NPS

净推荐值。

应用商店评级

商店评价。

错误报告

用户报告量。

支持票

与错误相关的票证。

##安全

漏洞

数量和严重程度。

打补丁的时间

多久修好。

安全事件

安全事件。

工具

声纳Qube

静态分析,代码度量。

Codecov/工作服

覆盖范围跟踪。

朵拉/侦探

部署指标。

Datadog/New Relic

生产指标。

仪表板

可见性

团队可以访问的指标。

更新

尽可能实时。

###趋势

查看进化论。

警报

异常情况通知。

使用指标

不要游戏化

衡量洞察力的指标,而不是惩罚的指标。

上下文

没有背景的数字是具有欺骗性的。

趋势 > 绝对

方向比点值更重要。

###动作

不能带来行动的指标是没有用的。

按阶段划分的指标

发展

复杂性、覆盖范围、审查时间。

发布

交付时间、部署频率。

生产

错误率、正常运行时间、响应时间。

发布后

缺陷密度,客户满意度。

持续改进

基线

建立起点。

目标

设定切合实际的目标。

回顾

定期讨论指标。

###实验

测试干预措施。

常见错误

指标作为目标

100%的覆盖率并不意味着质量。

许多指标

专注于一些重要的事情。

忽略上下文

不同的团队和项目。

按指标进行惩罚

它会导致不正常的行为。

结论

质量指标是理解和改进软件的工具。选择适合您的环境、监控趋势并采取数据驱动的行动。质量是一个持续的旅程,而不是终点。

##常见问题解答

1) 什么样的覆盖范围就足够了? 70-80% 是一个不错的目标。但这取决于测试的内容。

2) 什么指标最重要? DevOps 的 DORA 指标。缺陷密度和正常运行时间以保证质量。

3) 指标会取代良好的判断吗? 不。他们通知决策,但他们不做决定。

4) 如何说服团队采用指标? 显示价值。不要用它来惩罚。

5) 指标对小团队有效吗? 是的。简化,但衡量要点。

另请阅读

  • [数字质量保证:软件产品的质量保证0
  • [软件质量指标:验证和基础知识1
  • [软件质量指标:验证和基本步骤2
  • [软件质量:性能快速指南3
  • [手动软件测试:完整指南4
  • [软件质量5