如果可以的话,尝试并推广使用持续集成的测试优先开发(又名 TDD、BDD、ATDD、示例规范)的想法(经常提交到诸如来自 Thoughtworks 的 Hudson 或 GO 之类的管道,该管道持续运行自动检查以查看是否在最近一次提交后,它们中的任何一个都已损坏)
在开发人员编写代码之前,他们编写了一个自动化测试(检查),由于没有执行代码而失败。然后他们编写代码以使自动检查通过。最后他们整理代码(重构)。
这将导致开发人员在编写代码时主要测试(检查)代码的功能/逻辑。作为我当前客户的测试人员,我与开发人员配对,以帮助确定我希望在编写任何代码之前看到的自动检查。
这些自动检查主要在单元、集成和容器(需要网络服务器)级别,因为这些是运行最快/最便宜的,但我们也有 GUI 级别的自动检查。
在将代码提交到管道之前,开发人员演示了代码以及测试人员和 BA,以确保它符合要求。然后,测试人员探索开发人员机器上的软件和代码,以练习边缘情况并查看是否存在任何问题。
如果确实出现任何问题,开发人员会编写一个失败的检查来重现问题,修复它并确保检查通过。
当测试人员满意时,开发人员将代码提交到管道,然后我们在集成环境中测试代码。
理想情况下,我们在集成环境中发现的唯一问题就是集成问题!
这节省了我们大量的时间,帮助我们完善客户和 BA 的要求,以确保我们正在构建正确的东西。
这是对我们在当前客户站点的运作方式的高度概括。这可能不是最好的过程,但它对我们有用。一些可能有帮助的链接:
Wikipedia
TDD 雅虎集团
Lisa Crispins 博客上的 TDD,带有指向她与珍妮特·格雷戈里(Janet Gregory)合着的书的链接,这是一个很好的资源!
软件测试俱乐部——另一个很好的提问和/或寻找答案
的资源我的一篇博客文章,其中包含一些关于测试如何改变
持续集成的重要资源
还有很多很多的资源——试试谷歌搜索“敏捷测试”。
希望这可以帮助,
邓克斯