作者 Chris Sims译者 张晓庆 发布于 2009年1月6日 上午7时5分 http://www.infoq.com/cn/news/2009/01/tester-to-developer-ratio
软件开发世界里有这样一个长期存在的问题是:测试人员和开发人员的比例多少才合理?Scrum开发列表中最近有一个帖子,询问敏捷对这个比例有什么影响。对第一个问题,答案应该“视情况而定”。对第二个问题,Elisabeth Hendrickson认为,敏捷团队能够用更少的测试人员,但是做更多的测试。
测试人员和开发人员的比例多少才合理?
许多年来,人们对研究测试人员和开发人员的“合理”比例充满了兴趣。《微软秘笈》书中指出,微软员工中测试人员和开发人员的比例是1比1。根据在某会议上非正式的调查,Randall Rice发现通常的比例是1个测试人员对3个开发人员。而Cem Kaner和Elisabeth Hendrickson发表的一篇论文认为,这样的比例毫无意义。不同的项目里这些角色被赋予的职责和任务相差甚远。举例来说,自动构建负责人应该算作开发人员还是测试人员?
除了计算问题,小组还发现,项目环境的差别使得不同项目的比较更缺乏意义。这些因素包括:
- 项目要求的可靠性
- 必须测试的可配置的范围
- 软件的易测试程度
- 工具的可用性
- 测试人员和开发人员的经验
- 必须坚持的质量标准
需要清楚地认识到,我并不是完全怀疑在计划中使用这个比例,如果这个比例是你们自己的比例,并且基于你们的经验、技术和组织结构的话就没问题。但是如果一个组织把别人的比例拿来,不考虑到技术、流程成熟度、熟练程度的差别,直接用于自己的项目,那我就认为是一个风险。
敏捷对测试人员和开发人员的比例有什么影响呢?
在一个近期的网上直播中,Elisabeth Hendrickson和Lisa Crispin都把敏捷环境描述成“测试的涅槃”。Elisabeth回忆了她在传统环境中的工作情况,开发小组给QA小组的软件经常是送到时就不能用(D.O.A.), 不能安装,或者刚启动就崩溃了。而她在敏捷团队中工作时从未发生过这样的事儿。在敏捷团队里,测试人员能够创造更大的价值,他们做探索性测试、创建测试自 动化、与产品负责人紧密合作完善需求和验收条件。
Elisabeth曾见过这样的敏捷团队,运行效率很高,但测试人员对开发人员的 比例很低。这并不是说测试不重要。根据她的经验,敏捷团队需要的测试技能至少要和传统团队一样多。区别在于这些技能、以及保证质量的责任,并不仅仅取决于称之为测试人员的少数人。整个敏捷团队都在努力提高产品的质量,与之形成对比的是,传统团队只依赖QA小组来给产品测试质量。
你的团队是怎样处理测试的职责的呢?欢迎留言分享你的经验。
查看英文原文 The Correct Ratio of Agile Testers to Developers? It Depends.
PS:看到这篇文章很感兴趣,所以转载了。过去公司是开发测试比2:1,不过现在所在的公司是10:1,但是质量上却没有很大的变化,主要是现在公司除了开发的单元测试,还有开发测试的一套认证系统,保证在系统开发阶段就修复了很多Bug;同时自动化测试的比率增加了,使得测试人员的效率更高。
引用:google与微软开发和测试比例比较,里面分析了微软1比1(1比2)的优缺点以及google多比1的优缺点:
google v. microsoft, and the dev:test ratio debate