敏捷团队中测试人员和开发人员的合理比例?视情况而定。

  • Chris Sims
  • 张晓庆

2009 年 1 月 6 日

话题:敏捷测试语言 & 开发架构文化 & 方法

软件开发世界里有这样一个长期存在的问题是:测试人员和开发人员的比例多少才合理?Scrum 开发列表中最近有一个帖子,询问敏捷对这个比例有什么影响。对第一个问题,答案应该“视情况而定”。对第二个问题,Elisabeth Hendrickson认为,敏捷团队能够用更少的测试人员,但是做更多的测试。

测试人员和开发人员的比例多少才合理?

许多年来,人们对研究测试人员和开发人员的“合理”比例充满了兴趣。《微软秘笈》书中指出,微软员工中测试人员和开发人员的比例是 1 比 1。根据在某会议上非正式的调查,Randall Rice发现通常的比例是 1 个测试人员对 3 个开发人员。而Cem KanerElisabeth Hendrickson发表的一篇论文认为,这样的比例毫无意义。不同的项目里这些角色被赋予的职责和任务相差甚远。举例来说,自动构建负责人应该算作开发人员还是测试人员?

除了计算问题,小组还发现,项目环境的差别使得不同项目的比较更缺乏意义。这些因素包括:

  • 项目要求的可靠性
  • 必须测试的可配置的范围
  • 软件的易测试程度
  • 工具的可用性
  • 测试人员和开发人员的经验
  • 必须坚持的质量标准
需要清楚地认识到,我并不是完全怀疑在计划中使用这个比例,如果这个比例是你们自己的比例,并且基于你们的经验、技术和组织结构的话就没问题。但是如果一个组织把别人的比例拿来,不考虑到技术、流程成熟度、熟练程度的差别,直接用于自己的项目,那我就认为是一个风险。

敏捷对测试人员和开发人员的比例有什么影响呢?

在一个近期的网上直播中,Elisabeth HendricksonLisa Crispin都 把敏捷环境描述成“测试的涅槃”。Elisabeth 回忆了她在传统环境中的工作情况,开发小组给 QA 小组的软件经常是送到时就不能用(D.O.A.), 不能安装,或者刚启动就崩溃了。而她在敏捷团队中工作时从未发生过这样的事儿。在敏捷团队里,测试人员能够创造更大的价值,他们做探索性测试、创建测试自 动化、与产品负责人紧密合作完善需求和验收条件。

Elisabeth 曾见过这样的敏捷团队,运行效率很高,但测试人员对开发人员的 比例很低。这并不是说测试不重要。根据她的经验,敏捷团队需要的测试技能至少要和传统团队一样多。区别在于这些技能、以及保证质量的责任,并不仅仅取决于 称之为测试人员的少数人。整个敏捷团队都在努力提高产品的质量,与之形成对比的是,传统团队只依赖 QA 小组来给产品测试质量。

你的团队是怎样处理测试的职责的呢?欢迎留言分享你的经验。

查看英文原文 The Correct Ratio of Agile Testers to Developers? It Depends.

敏捷测试语言 & 开发架构文化 & 方法