自动化测试感想

作为一个Android开发,前一段时间在做一些自动化测试的事,也算是研究了一个阶段,大概记录下我的想法。

自动化测试,字面意思就是无人值守,能自动完美的完成测试并发现问题的一种解决方案。对于领导、公司来说,搞一套这个貌似很爽,解放劳动力,节约成本。但是真是这样吗?至少在我看来,自动化测试很美好的,但是其也伴随着很多不美好。

因为主要专注在客户端,我也就描述下客户端的例子。

容易被干扰

自动化的过程,手动执行的流程都被一行一行可执行代码给替代了,代码一条接着一条,一条道走到黑。不像人工一样,中途来个电话,还能挂掉继续测。当然代码也可以绕过这些,每执行一行代码,判断是否来电话了。但是还有很多情况,电量提醒,短信来了等等,不是不能做,只是完美的自动化脚本不得不考虑而为此增加工作量。

业务多变

上个版本还在用的脚本,这个版本又不能用了,因为页面调整,路径变化,所以会不停的改,脚本越多,改起来就越麻烦。

技术问题

Android现在最好的方式就是通过控件ID来定位控件进行处理,但是Release包,一般使用了资源ID混淆的方案,每次编译ID都会被混淆,ID就会变化。这也不是没解,大不了保存每次编译的mapping文件,执行脚本前对ID提前映射一下。

测试脚本价值

某个脚本的价值可能抵不上你花在它身上的时间。比如一条成功率100%的用例是无用的。或者像以下这种情况,验证APP是否正常启动的用例,正在被开发的APP往往每天都会被人为启动很多次,这用例显得就没那么重要了。

人工监视

自动化测试虽然能自动,但是想要无人值守还是比较难,需要时常有人去检查一下是否运行正常。做得好一些的可能会有通知,但是将通知功能完成也是个成本。

所以,我想说的就是自动化测试确实能节省人力,但是其前期投入,编写稳定容错性高的脚本,和脚本维护都是其减分项,这些都是不容忽视的。

你可能感兴趣的:(自动化测试感想)