Testing 在小型公司/团队中配备测试人员的可行性

Testing 在小型公司/团队中配备测试人员的可行性,testing,project-management,Testing,Project Management,我的理解是,建议测试人员与开发人员分开,也就是说,您显然有开发人员测试他们的代码,但也有专门的测试人员 在一个小项目上,比如说5个开发人员或更少的人,这实际上是如何工作的?你似乎不太可能让测试人员全职工作,虽然你可以随机引入短期人员,但我认为测试人员应该很好地理解应用程序——它的预期用途、用户、特点——就像你不希望开发人员在项目上是临时工一样。在一家小公司,这很困难,因为你是对的:你不能让测试人员在正式测试之间无所事事。当然,他们可以做其他事情,比如编写测试用例和测试计划,但即使这样,他们也可能

我的理解是,建议测试人员与开发人员分开,也就是说,您显然有开发人员测试他们的代码,但也有专门的测试人员


在一个小项目上,比如说5个开发人员或更少的人,这实际上是如何工作的?你似乎不太可能让测试人员全职工作,虽然你可以随机引入短期人员,但我认为测试人员应该很好地理解应用程序——它的预期用途、用户、特点——就像你不希望开发人员在项目上是临时工一样。

在一家小公司,这很困难,因为你是对的:你不能让测试人员在正式测试之间无所事事。当然,他们可以做其他事情,比如编写测试用例和测试计划,但即使这样,他们也可能有一些空闲时间。对于一家小公司来说,在需要测试人员时雇佣他们是有意义的,因为您可能只有一个产品供他们测试,而且产品之间的时间间隔很长。你也可以看看是否能找到另一家公司为你做测试——类似于雇佣承包商,但合同将与母公司而不是个人签订


在大公司中,通常(但并非总是)有足够多的项目处于开发/测试的不同阶段,让所有全职测试人员大部分都忙于某种工作。当然,有时需求超过了现有资源(全职测试人员),因此有时会为特定项目引入承包商。是的,你是对的,即使是承包商也需要接受他们正在测试的系统的培训,即使他们只是一个项目。

你可以要求开发人员测试彼此的部件,但一般来说这不是一个好主意,单独的测试人员将是最好的方法。

另一个选择是找一家第三方公司为您测试应用程序。这也将迫使你对项目有一个更好的规范。

你肯定可以让测试人员全职工作-他们应该在整个开发过程中测试产品,而不仅仅是在最后。事实上,将测试留到项目结束绝对是你能做的最糟糕的事情

我曾在几家公司工作过,通常每两个开发人员就有一个测试人员,而且从来没有出现过他们没有事情可做的问题——事实恰恰相反


这两家公司都是小公司,有10-20名开发人员和5-10名测试人员。

我在一个小团队环境中工作,在任何给定的项目中只有很少超过1-2名开发人员。我们没有,也不可能现实地看到有一个专门的测试人员。通常,在将任何版本投入生产之前,我会让我的客户在登台环境中对应用程序进行QA测试。这或多或少是成功的,取决于客户对测试过程的认可程度。我还严重依赖使用TDD的自动化单元测试,以及对UI的重要手工测试


虽然我希望有专门负责QA测试的人,有时我的客户会指定这样的人,但这种情况很少发生。当我有一个专门的测试人员(几乎总是一个客户代表)参与这个过程时,我觉得整个开发过程进行得更好。

在这种情况下,利用正式的测试计划,并找到任何可以用于测试的非开发人员资源是很重要的。通常,技术架构师或项目经理需要为新功能编写验收标准或完整的测试计划,以及回归测试的测试计划。试着让用户、项目经理、任何愿意帮助您进行测试的利益相关者参与进来。但要给他们提供结构,以确保所有必要的测试用例都经过审查

外部QA工程师可以非常有助于帮助您设计测试计划,即使他/她没有完成所有测试


祝你好运

遗憾的是,我只能对这个答案投一次票……在活动开发期间进行测试会导致出现并非真正缺陷的缺陷报告,并被开发人员关闭,他们说“我刚刚编写了它,等待下一次构建!”。更好的做法是先有结构化的开发活动周期,然后再进行测试活动。根据需要重复这个循环,但尽量不要重复。周期的每个部分(以及整个周期)的持续时间实际上取决于正在开发/测试的系统的性质。一旦新的测试人员“赶上”了整个应用程序的工作,你会真正发现一个开发人员可以编写的代码量实际上可以让一个测试人员完全被占用?他们真的会在你每次更改任何内容时重新测试整个应用程序吗?@John:是的,我们可以让他们完全被占用-通常测试是瓶颈,而不是编码。测试人员还负责指定验收测试,验收测试是功能需求的一部分,可以(也应该)在编写一行代码之前开始。如果您正在进行持续集成和短期增量/冲刺,并且您正在构建一些并非完全琐碎的东西,这样你就可以让测试人员(或2)忙个不停。我同意最好是让一个好的人参与整个项目,尝试外包/第三方测试(这是我唯一的时间,如果我有一个遗留的应用程序,需要大量耗时的集成测试或类似的东西)。您的测试人员应该与开发人员密切合作,帮助他们填补自动化单元/开发人员测试等方面的空白,他们将有很多工作要做。