史蒂夫,
好问题。
有很多方法可以应对你提出的挑战。在我看来,您希望 (a) 避免过多的程序性内容,而且 (b) 在您的测试设计中引入一种在团队成员之间创建更多沟通的方法(并可能增加一致性和彻底性?)是正确的过程。凯特已经提到了很多重要的观点。为了提供额外的视角,
从“多少细节才合适?” 立场,
正确处理的关键之一是不要让您的测试因过多不必要的细节而陷入困境。在确定多少细节是合适的点时,我喜欢使用这个 2x2 网格来解释有用的注意事项:
从“在设计和记录测试用例时,我应该使用哪种方法来管理它们?” 立场,
我会提倡一种相当轻量级的方法,该方法适当地平衡清晰度(因此任何查看文档的人都可以快速了解所涵盖的内容)和灵活性(因此团队中的人员可以快速做出更改)。去年,我做了一个演示,介绍了一些团队使用的各种成功方法,如下所示(包括思维导图和类似看板的解决方案)。对于您,我建议您看看 Paul Holland 的方法以及 Mozilla 团队使用的方法/通过 Marlena Compton。演示文稿中的幻灯片可在此处获得:
从双重考虑“我怎样才能使我的每个测试尽可能地覆盖而不重复已经测试过的东西(并使每个组更容易看到其他组已经在测试什么)?” 和“如何避免创建一个系统的常见问题,该系统会导致越来越多的回归测试,每次迭代都需要更长的时间来测试?”,
披露:我创建了 Hexawise 测试用例生成工具。
我建议考虑使用像Hexawise或AllPairs这样的测试用例生成工具这将允许您通过在“模型”级别按下按钮来快速创建(和/或快速修改和重新生成)测试,而不是开发需要您和您的团队成员进行更改的测试设计方法单独的测试级别,因为:(a) 对单独的测试进行更改将花费更多时间,(b) Hexawise 生成的测试方法更适合像您这样需要定期更新测试的敏捷设置,以及 (c) Hexawise 类型的测试生成方法可能会阻止您的回归测试集扩展太多,因为使用 Hexawise 生成测试可以让您通过将大多数与功能相关的功能测试构建到现有测试集中来测试不断增长的新功能列表(例如,与通过添加越来越大的测试列表来测试新功能的更常见方法相比,在现有测试中执行的场景可以变得更加多样化并产生新功能)。