测试员,你遇到过哪些自动化致命难题?3步教你搬走这些绊脚石

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

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

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

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

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

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

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

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

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脚本,就能全自动了。

自动化测试路上的一些绊脚石确实有时候让人很头疼,但解决每一个测试路上的绊脚石后,都能让自己成长一点,对自动化有了更加深入的理解和认识。追求卓越,让自动化变的更自动化,让测试效率提升,一起收获满满的成就感。

最后,为方便大家自学软件测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。
在这里插入图片描述
包括软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2020软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助……

关注我公众号:程序员二黑,即可获取

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

推荐阅读

高薪程序员也躲不过35岁这一关…当能力与年龄脱节,我们该如何自救

大学毕业开始销售…不甘于现状,转行测试的自救之路

从销冠到失业,最后选择软件测试,回头看看这段路,我很幸运!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值