在测试与质量领域,有一个既老生常谈、又常谈常新的问题“如何评估测试人员的绩效?”,我每年都有机会见到它几次。与之相关的,还有以下问题可以一并思考:
- 如何评估测试效果?
- 如何评估质量能力?
- 如何评估测试人员的能力水平?
- 测试人员如何发展?
- 如何建设和发展质量团队?
- 研发效能大热了,测试能够做点什么?
这些问题频繁地出现在各种场合,被质量从业者、或与之密切合作的其他角色所关注着,我们会在不同时间、不同地点看到为解答这类问题衍生的如下误区:
- 以工作量来评价:提交缺陷的数量、完成测试的需求卡片数量、编写/执行的测试用例数量……
- 以工作效率来评价:一定周期内的缺陷数、编写/执行用例数、编写自动化测试用例数、复测并关闭缺陷数……
- 以测试覆盖率来评价:自动化测试覆盖率、手动测试的业务覆盖量/率……
- 以其他任务量来评价:对外支持、联调测试或开会的时长/次数
之所以说这些评价方式是误区,是因为有可能我们最终获得了想要的KPI,但并未看到测试效率因此变好,软件质量因此提升,团队协作因此获益。相反地,我们可能看到了由于不合理的评价方式,质量更加糟糕,团队更加割裂,工作体验进一步恶化。
于是,我想尝试给这类话题总结一个解读方式,由于这是基于个人实践经验和侧面观察的解读,有可能存在一定偏差,请大家按需酌情参考。
团队质量能力清单
在这之前我们聊过,质量体现的是团队整体的能力,而非单一角色的能力。只有每个角色都贡献专长,并且存在合理的质量管控机制,将各角色的能力有机地结合起来,团队才会对外体现出优秀的质量能力。这个观点在之前已经多次讨论过,我们姑且把团队的质量能力作为共识,来继续下面的讨论。
以往聊得较多的是质量理念,当它落到团队中时,所谓的质量能力到底会有哪些表现呢?根据我的观察,粗略整理了一份《团队质量能力清单》,具备高质量能力的团队大概率会有以下表现:
1. 质量全局观
- 以全局的视角看待质量,相比局部质量,更重视全局质量;
- 以发展的眼光思考质量,相比阶段性的质量,更追求长期的高质量。
2. 质量规划能力
- 能设计与软件特性、团队情况适配的质量策略,达成团队共识;
- 能根据软件架构、测试需求、环境资源等因素设计有效的测试架构;
- 能对质量任务进行统筹规划,制定和调整测试计划;
- 对质量的思考应尽早介入产品设计和研发过程。
3. 质量风险干预能力
- 能尽早预判和识别质量风险;
- 利用合理的风险管理框架来进行质量风险管理;
- 具备有效应对常见质量风险的能力。
4. 质量干系人管理能力
- 能识别和管理质量相关干系人;
- 能和干系人对质量预期、质量标准和质量需求进行充分的沟通和澄清;
- 能将质量状态及时同步给干系人,并管理干系人预期。
5. 良好的测试水平和测试效率
- 能根据测试需求和人员能力选择高效的测试方法和工具;
- 能设计出有效发现缺陷的测试用例集合,并合理管理测试用例;
- 能按需按时完成测试任务,保证版本质量;
- 能提供保障质量所需的测试支持。
6. 质量研发能力和基础设施支撑
- 具备常见测试工具的使用能力;
- 具备测试所需的测试代码编写能力;
- 具备保证质量所需的工具、脚本、平台的研发能力;
- 具备保证质量所需的基础设施和其他资产。
7. 质量观察和度量能力
- 全员具备质量观察意识,具备讨论质量所需的专业基础;
- 具备保证质量所需的度量框架,度量方法和指标选取得当;
- 具备度量数据采集和汇总能力;
- 具备根据需求调整度量框架的能力。
8. 质量分析与改进能力
- 具备质量分析能力,能针对质量数据进行整合、分析;
- 能从质量数据中获得有效洞察和改进点;
- 具备质量改进的能力和资源支持;
- 具备质量改进效果的评估和调整能力。
9. 质量适应性
- 当质量需求、标准或干系人预期变化时,能适时调整质量策略;
- 当质量波动较大时,能分析原因,并调整团队情况以应对变化;
- 当遇到外部突发影响因素,如政策法规、信息安全等相关的质量诉求,能迅速协调资源以应对变化。
10. 质量内建和团队赋能
- 关心软件质量领域的重大事件,保持行业敏感度;
- 能及时与团队同步质量状态及变化趋势、内外部期待、行业变化等信息;
- 能从质量数据中挖掘出对业务价值、产品策略、研发效能、团队管理等有价值的洞察,并与团队分享;
- 持续不断的提供质量所需的各种能力,包括但不限于:测试数据/脚本和工具等测试资产、质量理念和实践的宣讲、质量价值的回顾与反思。
这些能力彼此之间可能存在依赖关系;对于不同团队来讲,这些能力的重要性不同;由于上下文和资源的差异,各个团队所能触达的能力上限也不同。因此,我们暂不约束这些能力的实现等级。
这份《团队质量能力清单》可作为团队的自检列表:当质量堪忧时,它有助于帮助团队快速定位隐性问题;当我们自认为质量较好时,它有助于自评质量能力,识别改进点;当希望构建质量影响力时,它可以提供可能的思路和方向。
打造质量能力的意义
在阐述完对团队质量能力的理解后,我尝试将打造团队质量能力的意义与所需的主要能力映射起来,我发现这个映射关系很可能是不唯一的,以下是我尽可能少的连线示例,换句话说,这可能是为了实现左侧意义的最小能力集合: