我曾在各种环境中工作,QA / SDET 人员与专注于构建和维护应用程序功能的开发人员的比例不同。
有没有所谓的“正确”比例?我的怀疑是事情变化很大,但是员工数量应该考虑哪些因素?
我曾在各种环境中工作,QA / SDET 人员与专注于构建和维护应用程序功能的开发人员的比例不同。
有没有所谓的“正确”比例?我的怀疑是事情变化很大,但是员工数量应该考虑哪些因素?
不——没有“正确”的比例。答案取决于产品(是提供初级曲棍球成绩的网络服务,还是宇宙飞船?),以及程序员和测试人员在团队中扮演的角色。我见过非常成功的团队,程序员与测试人员的比例为 15 或 20 比 1,而制作垃圾软件的团队比例为 1 比 1。
在上面的高比率示例中,程序员编写了单元测试、功能测试,并与测试人员一起进行验收测试、集成测试以及许多级别的可靠性、性能和规模测试。
在我正在考虑的 1:1 示例中,程序员会在代码编译后立即将其提供给测试团队,并随着质量慢慢进入程序而处理大量的来回处理。
现在,当然,你可以用 1:1 的比例制作出色的软件,用 10:1 的比例制作糟糕的软件 - 重要的是你要弄清楚谁在追求质量做什么,并且每个人都知道他们的角色是什么在努力中。
我不相信有一个“正确”的比例。我会考虑需要更接近比例的因素:
没有“正确”的答案。
尽管我很想说大多数公司的主要影响因素是应用程序的目标质量,但这不是我的经验。
多年来我看到的最大的一个因素是,它定义了公司愿意花费的可用预算比率,而且许多公司更看重降低成本而不是质量。
我可以给你一些我过去项目中的真实数字以供参考。
对我来说,我在澳大利亚见过的最高比例可能是 1:3(所以每三个开发人员进行一次测试),1:5 或更高(更少的测试人员)更常见。正在开发的应用程序类型是大型的、企业级的,通常是内部基于 Web 的应用程序。
我认为当您使用商业软件时,随着测试配置数量的增加,比率需要上升。
例如,如果我正在测试一个仅限内部的应用程序,我通常只需要在一个浏览器上进行测试。对于一个公共的、互联网部署的站点,您需要测试很多很多。
如果您正在 iPhone 上测试软件,并且您需要针对包括 iPod touch 在内的所有设备,那么现在有 12 种硬件设备,具有 3 个 4 个主要操作系统版本。
考虑到这一点,我倾向于专注于从我拥有的可用员工人数中提供尽可能多的“物有所值”。
我见过的让天平向你倾斜的最大方法之一是有效的测试自动化套件。这是一个重要因素的原因是,它基本上可以将您的测试人员从手动回归中“解放出来”,以便在其他地方更有效。
如果您试图证明更多员工的合理性,我建议您使用指标来支持您需要更高比率的案例,然后捕获结果以供将来参考和证明给您的同行。
虽然 Dev-to-Test 比率因其简单性而成为一个吸引人的概念,但它不是确定测试人员规模的糟糕方法。
开发时间和测试时间之间没有固有的预设关系。并且在开发/测试人员比例和开发/测试时间比例之间没有内在的预设关系。
情况1
假设您有这个新要求:
您的产品以前从未在 Windows XP SP2 上进行过测试,现在必须支持该操作系统版本。
开发需要 1 天(Windows XP SP1 运行良好,他们不得不更改“系统要求”文档中的一些文本,但不要相信他们必须做任何其他事情)
你能预测测试需要多长时间吗?
案例二
假设公司想要更改他们的 About 框。
用漂亮的图形替换以前的纯文本对话框。
由于开发人员不是很好的图形艺术家,他们需要 3 天的时间来学习新的图形工具,需要 3 天的时间与市场部试错,使其看起来“恰到好处”,并需要 2 天的时间才能得到它集成到构建中。
你能预测测试可能需要多长时间吗?
显然,测试某些东西所需的时间是上下文相关的——它取决于可能与开发该功能所需的时间几乎没有关系的因素。
还要考虑:
http://strazzere.blogspot.com/2010/04/what-is-correct-ratio-of-development.html
要确定合适的人员配备模型,您必须确定您的 QA/测试人员应该做什么以及不应该做什么。您必须确定他们将按照什么样的时间表运作。您必须确定他们需要具备的专业知识水平(技术和领域专业知识)。您必须确定他们将获得多少外部帮助。
简而言之,想想 QA/Test 的期望是什么,然后让它指导你的人员配置决策,而不是盲目地遵循一个比率。