自动化软件测试中的作用和目的不言而喻,就是让测试人员从繁重的手工常规性测试中解放出来,让精力更多的投入到更有价值的非常规性用例中,或者根据错误猜想找出更多潜在的缺陷。
今天笔者只根据自己的一些经验简单说下自动化测试思想,毕竟我更专注于做好性能测试。
我有个原则,就是让自己能够偷更多的懒,去做自己喜欢的,更有意思的事情。这与自动化的宗旨有一定的相同。
怎么让自己变成一个十足的“懒人”呢?当然是尽可能的是让机器代替自己去完成工作。当然机器不是人,所以机器要完成工作需要我们给它发出指令,这就是我们的自动化测试用例了。有了指令还不行,毕竟机器人是不会理解人类语言的,所以我们还要把指令转化为机器理解的语句,这就是我们的自动化测试脚本了。最后就是机器人执行,我们需要知道它是否根据我们的指令按预期执行好了呢?这是就需要做一些结果检查,所以在每个指令执行后我们需要做一个检查点。最后就是,我们把机器所执行过程记录下来,后面我们只需要去分析结果就行了。如果有没按预期执行的结果,找到原因(即缺陷)并修正,这样就完成了测试的任务。
后面如果有新增的功能,我们只要手动去执行这部分功能的测试就行了,其它工作就让任劳任怨的机器去做了。怎么样,想要偷懒吗?
机器语言太复杂了?那有没有一款翻译工具去帮助我们去给机器打交道呢?当然有,所以就创造出了自动化测试工具。后面考虑的问题就是怎么组织机器去高效的工作,所以又提出了自动化框架思想。自动化框架思想参见专题《自动化测试框架》一文。
是不是任何事情都可以交给机器人做呢?起码现在机器都还很笨,不会去思考、创造,所以具有创造性的事情就需要让智慧生命的我们工作了。比如机器是不会去考虑除了我们给出的命令是否还有其它事情是需要做的,也不会考虑人们面对所测的产品是否能够达到消费者,使用者的心意。这样说来我们要做好测试,还有较高的创造力和想象力?
总之,作为自动化的推崇者,把枯燥的工作尽量扔给机器去做,让我们发挥自己的聪明才智去做一些更有意义的事情吧。