什么是Test Automation
作者: 关河 来源: 关河的测试生活
追求问题的定义往往是一件非常好玩的事情。比如,这篇文章的标题:“什么是Test Automation(测试自动化)?”
许多人都在谈论测试自动化,但是要谈论测试自动化的人对测试自动化进行一个明确的定义,却不是一件容易的事情。不信,我们来看看:
1,一种字面上的解释,“自动化测试”可以被定义为“以自动化的方式完成测试”,表面上看上去,这个定义完美无缺——从自动化测试的发展来看,目前的自动化测试在大多数情况下是将手工测试的过程变成了自动化测试的过程,因此,“以自动化的方式完成测试”应该是自动化测试的发展趋势。但是,让我们设想一个场景:在某些难以完全采用自动化测试的方式下,测试工程师写一段代码,然后通过人工观察代码执行的结果来判断测试通过与否,这是否应该被归在自动化测试的领域呢?——我们这里描述的场景显然不是完全以自动化方式完成测试的一个例子。
2,如果我们将自动化测试的定义扩展一下,应该怎么来描述呢?一时间还真的很难找到一个合适的定义。或者,“尝试通过代码或是其他手段摆脱完全的人工测试的方式”就应该被归入自动化测试?不过这个定义实在拗口:)
其实,在目前的测试环境下,自动化测试和手工测试之间往往并没有明确的界限。很多测试往往并不能完全通过自动化测试完成,自动化到不需要人工参与的程度是不现实的。而且,自动化测试并不是测试的最高境界——实际上,手工测试在发现缺陷,设计用例方面显然比自动化测试有更大的优势。因此,我们在谈论自动化测试的时候,不是要把手工测试从测试过程中驱赶出去,也不是要用自动化测试替代掉所有的手工测试。
套用一句俗套的话,“在可预见的将来,自动化测试和手工测试将会和平共存一段相当长的时间”。