本文就接口自动化中的一些技术难点及接口自动化的意义做一些探讨,请耐心看完,或许有不小的收获

首先,针对本人从事的项目情况做一些介绍,一套类似电商的系统

团购业务系统(类似淘宝)、CRM(客户关系管理系统)、OMS(订单管理系统)、WMS(仓库管理系统)、TMS(物流管理系统),这五个系统存在一个承接关系,数据在五个系统进行流转,如一笔订单系统,现在团购系统生成,流转到 OMS 系统进行订单分发,再到 WMS 系统进行订单入库,配货生成运单等,最后到 TMS 系统进行运单处理,团购系统的一些基础数据是在 CRM 系统进行配置,如产品管理、用户管理等等

现在针对这一整套流程,考虑实现自动化,目前遇到的难点如下:

用例结果展示



3.自己只能维护自己的用例,你让我去维护别人的!做梦!就算想维护,我也看不懂啊!
4.自动化的数据准备,占用用例的很大一部分,如我需要下单,首先我必须创建一个团购用户,而且团购项目里要有产品,产品又是在合作方下面的,那么好,我去 CRM 把合作方和产品加好,注册一个团购用户....等等,等做了一堆事情后发现,我是要测试啊!我的测试用例呢?花了那么多时间写在了造数据的脚本上面!(有的人可能会问为什么要准备数据,你系统数据被清了,脚本不是白写了?到时候哭都来不及啦!)

1.功能测试不信自动化:虽然说现在都是敏捷流程,靠人工去点肯定是来不及的,回归得靠自动化,但是有了自动化就不用点了吗?测了接口,就算正确了,还不是要前端去回归一下,毕竟接口是看不见莫不着的,不懂技术的功能测试肯定不信这一套
2.自动化投入少,无人支持:单单靠我们(自动化团队 2 人)写用例肯定是不全的,又得熟悉多个系统,又要花时间理清接口间的逻辑关系,靠我们俩效率肯定是很低的。那好吧,我们把这一部分交接出去,让功能测试也开始写接口用例。好了又出现一堆问题:功能测试人员水平有限(http 协议、接口是啥都不懂)、功能测试不相信自动化,并且会觉得增加了他们的工作量(编写用例,维护用例)...这让我思考自动化的意义何在,我们自动化不是为了减少手工吗?为什么反而给功能测试增加了工作量?这就违背了自动化测试的初衷
3.自动化测试出 Bug 少:由于自动化场景覆盖率低下,用例数少(仅靠两人编写),确实难以测试出 Bug,就算能测出来基本也只是环境崩了之类的。。全是通过的自动化是不存在任何意义和价值的!!说到这里就越发怀疑自己的价值,懂那么多技术,为何还无法提升自动化的质量和效率?问题到底出在哪里??或许当所有测试都拥有自动化测试的能力了,才能做好自动化吧...

说到这里,都是一把辛酸泪啊!
到底自动化如何才能做好?如何才能让自动化真正的产出成果?如何真正的为苦逼的功能测试们减负?
这可能是目前做自动化测试的各位大佬们一个共同的疑问吧
这个问题的答案或许会在不久的未来,有人为我们解答!


↙↙↙阅读原文可查看相关链接,并与作者交流