第八章 影响自动化实施的非技术因素
---Web自动化测试之Webdriver(python)--从零到熟练(系列)
通过前七章的讲解,我们了解了什么是自动化,自动化如何实施,而后又分章节讲解了如何实施自动化测试,自动化测试在Jenkins上的配置及报告的生成。经过这七章的学习,读者应该完全可以编写自动的自动化测试用例,实现对被测试项目的无人值守的自动化运行。本章我们分析一下影响自动化测试实施的非技术因素,并作为本教程的结束章节。
8.1 非技术性因素的影响
初次接触自动化测试的同学,一般都会把注意力放到测试框架,编写测试用例的脚本语言,测试用例的运行环境,以及单线程或是多线程执行测试用例的问题。但是真正在公司实施自动化测试的时候,你会发现能不能完全实施自动化测试用例,很大程度是不是你技术行不行,还有众多因素在影响着你。
影响自动化测试实施的非技术因素:
(1)被测试对象反复改版。这个是影响最大的因素,当我们接到编写自动化测试用例后,立马投入测试用例的编写,调试用例,接入Jenkins,生成漂亮的测试报告。结果被测试对象大改版,你编写的自动化测试用例几乎要重新编写。如此反复几次,你就会感觉到自己一直在做无用功。
(2)自动化测试人员的流失。在公司决定实施自动化测试的时候,招进了大批自动化测试的牛人,然后就是创建自动化测试小组,划分各自己的职能,编写相应的模块。可是后来,相关人员离职了,他编写的那一部分没有人管了,只好转交给他人,他人要花费很多时间来看代码。最糟糕的时候,离职人员编码习惯不好,没有注释,这时交接人员会疯掉的。
(3)领导的不支持。领导A比较注重自动化测试,然后给你了大量的时间让你去写自动化测试用例,然后运行起来。后来公司职能调整,你这一块归领导B来管理,他不注重自动化测试,给你分了很多其他的任务,自动化测试就没有时间和精力去维护和执行了。
(4)公司不重视。就算你的直属领导很重视自动化测试,可是如果公司不注重的话,也是很难实施的。申请自动化测试用例执行的服务器,申请不下来。其他的相关资源也很难申请,你总不至于用自己的机器来执行自动化测试用例吧?执行过程中你不能做其他工作,会不会有人说你不工作呢!!
(5)其他不确定的因素。在《自动化测试最佳实践》上面讲到很多国内外自动化实施成功失败的案例,各种各样的因素都会影响到自动化测试的实施。
8.2 学习自动化测试的方法
现在我们讨论一下自动化测试用例的学习方法。我是从研二实习的时候开始接触自动化测试的,到现在有五六年了吧,页面自动化,接口自动化,手机App自动化,虽然学习的不算精通,也都鼓捣过。在学习的过程中遇到了不少困难,也积累了不少经验,现在和大家分享一下:
(1)勤动手实践。学习任何一种编程语言都是一样的,不是说你看了几本相关的书,就掌握了一门编程语言,一定要去动手编写和调试。就算你照着书中的例子输入到电脑,也会出现错误的,书中例子的错误,少输入符号或是空格的错误,如果不去动手,就不能有所感悟的。
(2)大胆尝试。自动化测试用例编写的时候,首先要对元素进行定位,定位方法很多。Name, id, css如果定位不到,还有Xpath的嘛,要多尝试各种定位方法,可以提高测试用例的健壮性和执行效率。
(3)学会积累。在编写自动化测试的过程中,你可能会遇到各种各样的问题,在网上查询或是经过尝试后,问题解决了,这个时候你要对问题写一下总结。好记性不如烂笔头嘛,以后再遇到的时候就不用这么费劲去查找了。
(4)善于沟通。开发在编写网站的时候,由于不好的编程习惯,造成页面元素随意编写,没有固定的属性。这样的情况吧,会增加我们自动化测试用例编写的难度,而且如果以后要统计页面数据的时候,也很难统计。我们要善于和他们沟通,帮其养成良好的编程习惯。
8.3 本章小结
作为本教程的最后章节,我们分析了影响自动化测试实施的非技术因素和自动化测试学习中的一些儿方法问题。由于本人能力有限,这个系列的教程中难免存在着问题和不足之处,希望大家在学习中遇到问题及时沟通。同时也希望我写的东西能给你的自动化学习带来点儿帮助,这是我最欣慰的地方。
最后祝大家学有所成,开心工作!!