我在一个多年来一直采用传统瀑布式开发方法的团队工作。最近,我们被告知 future 的项目将转向敏捷(尤其是 Scrum)方法。碰巧我的项目将成为首批项目之一,因此在接下来的几个月里,我们基本上将成为试验品,以弄清实现过渡所需的条件。
项目本身还处于非常早期的阶段,我们通常需要几个月的时间才能向测试团队发布任何东西,但现在我们将直接与他们直接合作。因此,我担心现阶段测试人员在此类项目中的作用。我有几个问题/疑虑,希望一些有经验的敏捷开发人员可以回答:
- 当开发人员编写任务代码时,测试人员不可能对其进行测试(它尚不存在)。那么此时测试人员的作用是什么
- 测试人员现在参与单元测试了吗?这是否与黑盒测试同时进行?
- 测试人员在主要进行基础架构更改的冲刺期间做什么,这些更改可能只能在单元测试中进行测试?
传统测试团队成员如何在您的敏捷项目中发挥作用?
随着项目的成熟,让测试人员保持忙碌往往会变得更容易(有更多需要测试!),但以下几点也适用于早期阶段:
测试人员可以在用户故事实现之前(或同时)准备他们的测试计划、测试用例和自动化测试。这有助于团队甚至在开发人员编写任何代码之前就发现用户故事中的任何不一致或歧义。
根据我的个人经验,测试人员不参与单元测试;他们只测试通过所有自动化单元、集成和验收测试的代码,这些都是由开发人员编写的。不过,这种 split 在其他地方可能有所不同;例如,您的测试人员可能正在编写自动验收测试。然而,单元测试确实应该由开发人员编写,因为它们是与代码一起编写的。
他们的工作量会因冲刺而异,但仍然需要对这些更改运行回归测试...
您可能还会发现,让测试人员在每个 sprint 的前几天测试上一个 sprint 的任务可能会有所帮助,但我认为最好让他们确定开发人员将要做的事情通过编写他们的测试计划继续工作。