1.1 本案例研究的背景
我们必须面对这样的事实:对于从未进行过自动化测试的人来说,自动化测试是具有一定难度的。本故事告诉我们,面对无任何自动化的测试和有着糟糕设计的遗留系统,这支团队通过一年多的努力,将所有的回归测试都实现了自动化。在接下来的几年时间里,我也与数十个其他面临同样困境并找到类似解决方案的团队进行了交谈。看看我们所遇到的这些困难是否与你所遇到的相似,并考虑用类似的方法进行尝试。
1.1.1 问题
从这里开始着手:每两周我们都需要把新的功能添加到产品中,但是代码bug成灾并且也没有自动化测试,更严重的是,产品中有大量随时会导致系统中断的bug。我们如何摆脱这种情况呢?
1.1.2 目标
我们决心尽自己所能编写出最高质量的代码,但是从哪里开始呢?作为一支自组织的敏捷开发团队,让我们感到欣慰的是整个团队的紧密协作。那是在2003年,我们中有些人在别的团队中曾有过良好的自动化测试经验,他们相信总是会有办法的。我们发现,一个安全的自动化回归测试网络可以让我们更快速地工作。如果我们知道是由于某段特殊的代码而引入的非预期的操作,那么我们能够立即稳定我们的代码库。通过充分的测试覆盖来不断进行集成,使我们每天都有一个稳定的构建过程。而在迭代的后期,现在很难得到稳定的集成,所以这个想法虽然并非那么容易实现,但听起来很不错!
接下来,看看到底是什么帮助我们创建了一个成功的策略来实现自动化回归测试套件。