软件测试和验证是细致活也是辛苦活,需要模仿最终用户尝试各种用法和输入场景、比较并断言所期望的行为。而这些细致的辛苦活是可以让计算机程序去做的。自动化测试套件中那些可编程部分对于大规模软件交付是非常有帮助的。在我做过的大部分项目里,有些测试是可以自动化的,也有些不能。不过,只要有自动化测试套件,我的团队都将倚重于它,而将精力集中在那些没有自动化的功能测试。而且,自动化测试还让我们能够满足客户快速变化的需求,并使我们达到了一个更高的层次,使得每次构建(即使只是微小变动)都是经过测试和验证的稳定版本。正如Jez有关持续交付的文章中所言,自动测试“让交付团队超越了基本的持续集成”并走上持续交付的康庄大道。实际上,我觉得自动化测试是非常重要的,如果你要实践持续交付,就必须在自动化测试上进行投入。本文解释了之所以我这么认为的原因。

 

http://www.infoq.com/cn/articles/test-automation-continuous-delivery