最近几年自动化测试非常热,页面级的Web自动化测试,接口级的测试,还有移动的自动化测试。相应的框架也非常多,像知名的Webdriver,PHPUNIT,Appium,Robotium等等,自动化测试的脚本语言有java,python,php,甚至还会用到Shell,这么多的选择,让想学习自动化的同学有点儿迷茫,感觉无从下手。
本人从读研实习的时候开始,就着手自动化测试的学习及编写自动化测试用例进行测试。涉及到集群管理软件的测试,网站的自动化测试,接口自动化测试等,都投入到了日常的回归工作中。前一段时间双自学了手机App的自动化测试Robotium和Appium,经验还算是有点儿的。下面就以我个人的经验,来谈一下自动化测试的学习。
(1)要认准方向。你准备学习页面自动化,接口自动化还是手机自动化测试,刚刚开始学习的时候要选一个方向,不要贪多,什么都想学习。在你学习的还不够精通的时候,一下子学习的多了,就容易搞混淆的,先学习一下,掌握后再向其他方向发展。
(2)具备一定的语言基础。不是说你要会各种语言,就像我们上学的时候要学习c语言一样,你至少掌握一种语言,有一定的语言基础了,再去学习其他的语言也就比较快。在以后的工作用,用到什么语言了,再去学习就不晚。
(3)掌握自动化测试的原理。自动化测试无非是用程序来模拟用户操作的,像Webdriver,Appium,Robotium或是phpunit等框架,了解其原理。就像武侠小说里讲的,打通任督二脉一样,你掌握了原理,再用脚本语言去实现的时候,就相当于具体的招数,学的就会非常快的。
(4)勤于实践。很多人以没有实际应用为借口,来掩饰自己的懒惰。再好的教程和语言你不实践,也写不出好的自动化测试用例。再说了编写自动化测试用例的时候,以往的经验是非常重要的。只看武功秘籍是成不了武林高手的,纸上谈兵可不行。
(5)勇于尝试。由于被测试对象比较灵活的特点,没有一成不变的方法可以应付所有的测试。就定位方法而言,不同的框架定位就不一样的。所以不要怕犯错误,多尝试才能找出好的方法。
(6)借助于一切可用资源。现在网上资源非常多的,要学会利用这个资源。什么工作中用不到,这个借口现在来说太弱了!你要测试网站,这个自不必说;你要学习App测试,网上可以下载成千上万个;要学习接口测试,各大网站的开放平台都有接口;所以人懒就不要找没有资源的借口了!
这是我的学习自动化的经验,要掌握原理,然后是了解被测试对象的特点,至于编程的脚本语言就无所谓了。根据被测试对象,公司的其他相关的东西来选择要用的语言,如果不会就去学习嘛!中国功夫的最高境界是:“自己的功夫没有招式,见招拆招,才能处于不败之地!”