成都软件测试培训
达内成都天府中心

15023458194

热门课程

搬走自动化测试路上的绊脚石

  • 时间:2017-08-14 11:30
  • 发布:成都达内
  • 来源:成都达内

搬走自动化测试路上的绊脚石

在自动化测试的过程中,你是否遇到过以下问题?

1、一个人做自动化的时候挺和谐的,啥毛病没有,多人自动化的时候就发现有很多冲突。

2、脚本到底是拆分好,还是合在一起好,如果拆,要怎么拆?

3、自动化脚本做好了,但是做持续集成后,发现有的地方却又不那么自动化,还是很繁琐。变成了一个假的自动化,这也往往导致自动化脚本执行的次数少,价值没有体现的问题。

这些问题在走自动化路上的童鞋应该多少都遇到过,那么如果顺利的去搬走这些绊脚石呢?

搬走法一:搭设框架并制定多人协同的规则

1、我们在做自动化时,确认要用什么框架,比如说采用Python的UnitTest框架

2、由一个人来负责搭设框架,如下图

<a style='color:blue' href='http://cd.qa.tedu.cn/'>成都软件测试培训</a>

2.1、配置文件不可少,经常要变动的参数,不能写死在脚本里的参数,都可以放到data下面,比如说服务器地址,由于多个迭代并行开发,经常会分配不同的ip地址,如果写死ip就会导致在其他迭代中不能正常运行,所以要先提炼出来放配置文件中。当配置文件中的参数一多时,那么命名规则就尤为重要了,配置文件的规则要有明确定义,比如说我们把服务器地址统一配置成URL=192.168.*.*,而不要出现多个表示服务器地址的配置名,如又出现一个叫IP=192.168.*.*。

2.2、写一个脚本的时候会用到很多方法,此时不要写到具体的case里面,而是要实现公共的类和函数,放到public。当不同的人去写case时,就可以不用重复代码,去public找就可以,日积月累,将越来越丰富。

2.3、执行具体case时,我们必须要有前置条件,比如说我的case要在登录后才能执行,那么这个登录的帐号我必须确保它是存在的,如果不存在我就自动添加进去,这样脚本的回访率就很高了,所以这个inital.py 就是干这个的。

2.4、在执行脚本的过程中,我们产生了一些数据,但是这些数据是我们不想要保留的,那么我还可以进行场景恢复,这个restore.py就可以干这个。

3、具体的框架出来后,接下来就是各位自动化测试的工程师们按照既定的规则进行填充用例,覆盖更多的场景。

千万不要零散的写脚本,你一脚本我一个脚本,没有规范,这样其实对做持续集成来说会是一个非常难的事情,你可能会花很多的时间去调整脚本,所以一开始就要先搭设框架。

搬走法二:脚本会经历拆拆合合,不断的整合出最适合

脚本case还不多的情况下,往往是整在一起比较方便,一个脚本测试一个项目,感觉维护起来很方便,但是当case多了以后,发现会出现维护难,甚至是性能有问题,比如SoapUI会出现out of memeroy的情况,此时就不得不拆。还有当脚本过于庞大时,一旦出现问题时,就要打开一大段代码进行调试,着实也让人很头疼。

那是不是拆的很细呢,一个case一个脚本?这个也有弊端,那么多脚本,维护也不方便。所以还是要把握一个度,可能一开始这个度把握不准,那就慢慢的进行拆或整合,就像程序员也要经常的进行重构是一样的道理,总结出一个合适的度,就可以。

比如说我们要做网页的自动化测试case,可以根据页签或者抽屉来拆分脚本,这样会更加清晰一些。

搬走法三:不断的优化,从半自动变成全自动

之前做SoapUI接口时,将配置的参数写到了SoapUI脚本里面,这样导致每次修改配置文件,都要去打开具体的脚本,然后修改,非常麻烦。所以就进行了解耦,把需要配置的参数放到Global,这样只要改这个文件即可,无需打开脚本文件,维护和操作性带来大大的便捷。但是问题来了,当集成到jenkins上后,很多的团队在同一台测试机器上跑脚本,SoapUI只有一个,所以Global经常被改的面目全非。这样每次在jenkins上跑之前,还要去远程测试机,把Global改成正确的才行,很繁琐,且也无法利用jenkins的功能,实现一旦代码更改就触发运行脚本的自动化机制。所以导致脚本回放次数低,每次手动执行。对于这个问题大家虽然觉得麻烦,但都习以为常。变成了一个半自动化的自动化测试。

事实上自动化测试不仅仅是case的自动化测试,让整个流程都自动化,顺畅的跑起来才是真正的自动化。对于这个问题的解决方案其实很简单,我们把手动远程修改配置文件的操作让它自动化掉,每次在执行这个脚本前,都去修改配置文件,也就不会怕其他人改了配置文件影响到自己的脚本运行。

熟悉SoapUI的同学应该不难发现,Global其实是存在soapui-settings.xml文件里面,路径为C:\Users\Administrator\soapui-settings.xml,那么其实我们只要把需要的配置文件放到svn上,然后通过py脚本去读取svn上的配置文件,然后将内容进行拼装成xml的格式写入这个soapui-settings.xml即可,当然最后要在jenkins上配置好这个py脚本,就能全自动了。

成都软件测试培训,成都软件测试培训班成都软件测试培训机构cd.qa.tedu.cn

上一篇:软件测试培训——APP测试关键点
下一篇:5步解决Burpsuit抓取Https数据包

软件测试培训:自动化测试常用工具汇总!

软件测试的十三原则

软件测试中准备测试数据的一些方法

用机器人测试移动应用程序

选择城市和中心
贵州省

广西省

海南省