测试人员的KPI,这个梗究竟如何破?

  • Post author:
  • Post category:其他




从PDD薅羊毛事件想到DevOps那些事

文章中有一同学留言:

“关于测试人员的KPI这块,这在行业上一直都是个梗,难解…”,

的确感到这是一个问题,答应为此写篇文章来回答这个问题。

测试人员的KPI是一硬梗,

似乎无解,就像软件工程没有银弹

感觉自己没必要掉进这个坑里;


测试人员的KPI也要取决每个公司:


如何看待测试、测试人员


有上下文,case by case;

如果真正想破掉这个梗,

需要走进企业,深入调查分析

了解公司想要什么,就选择衡量什么;

而且需要系统地定义度量体系,

如同我《全程软件测试(第3版)》,

在第14.2小节,用了14页来介绍测试过程的度量指标。


KPI是一把双刃剑

定义了正确的KPI,能够提高大家的工作效率

定义错误的KPI,就会有错误的导向作用,

成也KPI,败也KPI,

甚至有人说,正是KPI毁了Sony。

所以不少优秀公司选了OKR(目标与关键成果法)

废话少说,进入正题。

KPI 是Key Performance Indicator的缩写,即关键绩效指标,

用于衡量或管理员工绩效的工具,

并与公司的战略目标挂钩、联系起来。


如果将KPI用于软件测试人员的绩效衡量,自然会取决于:

  • 特定的公司所定义的关键商业目标;

  • 其对质量的认识,特别是对“质量起什么作用”的认识;

  • 对软件测试的态度、理解的程度


所以,不同的公司对测试人员绩效考核的KPI自然不一样,

仅仅看到用例数或缺陷数肯定是片面的,

仅仅看到测试自动化成果也是片面的。

真正有优秀的质量文化的公司可能不需要针对测试人员的特定KPI,

而是针对整个研发团队设立KPI。


而没有良好的质量文化的公司即使实施了质量相关的KPI,


也不一定有良好的效果

在这篇文章后面的另一段留言,让人印象深刻,算是佐证:

“经常在想,一个做质量相关工作的人本身的所做所为却没有质量可言,真是有点讽刺。还在注重需求分析,认真做测试设计的人其实离本质最近。但是这么做却没有一点现实层面的好处。唯有一种良知,一种自我价值的实现,一种理想主义在苦苦支撑。也许无数次想投奔另一个阵营,但始终没有说服自己。”

注重需求分析、认真做测试设计的人其实离本质最近,

应该会带来良好的效果,能被衡量出来,

即使这种衡量不是直接的。


如果真要用KPI衡量测试人员的绩效,如何定义呢?

可以不考虑那些通用的KPI指标,如:

发扬公司企业文化、创造价值、创新、

协作、知识分享、提升团队凝聚力、

培养新人、服务客户、个人发展潜力等等

而只考虑测试工作自身的数量、质量和效率

暂时也不考虑权重、优先级等,

毕竟那是一个系统的工程,需要几个月的时间才能做出来。


这里只能偷懒,简单列出度量的指标,让你们各取所需。

而且如果真正这样去衡量测试人员的KPI,

那些实实在在做事的人不会被委屈,而是能得到肯定。


1. 测试的质量

  • 客户满意度

  • 上线后出现的缺陷数所占比例(按级别)

  • 所设计的测试(用例)的覆盖率(看做了什么类型的测试、对覆盖率的理解和要求)

  • 需求、设计评审漏掉的问题或比例

  • 无效用例/脚本百分比

  • 用例或脚本执行的稳定性

  • 被拒绝或延期的缺陷(误报)百分比

  • 重复的错误

  • 违背流程或规范的次数

  • 质量改进速度


2. 测试的数量

  • 评审了多少需求(文档、用户故事)

  • 测试覆盖了多少需求点

  • 评审了多少设计

  • 评审了多少代码(含工具静态分析)

  • 设计了多少测试(用例)

  • 开发了多少自动化测试脚本

  • 执行了多少测试(用例)

  • 报告了多少缺陷

  • 每天在测试上花了多少时间

  • 数量增长率


3. 测试的有效性和效率

  • 缺陷数/百个测试用例数

  • 缺陷数/脚本KLOC

  • man-hour/功能点(或用户故事)

  • 自动化测试百分比

  • 缺陷存活时间

  • 测试预算或投入占整个研发比重(适合团队)

  • 回归测试所占比重

  • 每天发现的缺陷数

  • 每天设计的测试用例

  • 每天开发的脚本行数

  • 有效性提高速度

  • 效率提高速度


4. 有哪些突出的成绩或事件

  • 测试专利申请或被批准数

  • 产品特性较大改进的建议被采纳

  • 测试过程较大改进的建议被采纳

  • 克服了某个测试难题

  • 克服了某个测试瓶颈

  • 一种新的且有效的测试策略

  • 一种新的且有效的测试方法

  • 发现新的缺陷模式(故障模式)

  • 提出并设计了一款测试工具

  • 开发实现了一款测试工具

  • 解决了某种测试过程或结果的度量

  • ……

(看完这些KPI,测试开发在里面只是其中几项,并不是很突出)



版权声明:本文为KerryZhu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。