小公司,参与搭建了一套接口自动化项目,也跑起来了,但是我觉得投入跟收益差距有点大,主要作用可能就是回归了,也没发现几个问题,然后公司领导觉得效果不理想,准备停用,一整个疯掉 辛辛苦苦白费了
想问下各位前辈,各自公司怎么去做接口自动化的,怎么才能有比较好的效益
指望自动化发现问题?
就是用来快速回归的呀
我的理解是,接口自动化就是个保底作用。用来节约回归的时间,避免出现严重问题的。可能还是认知不同步吧,和他说明一下,这样回归可以提升多少效率就好。
接口自动化主要就是用来做回归的呀,像我们这边因为项目不同,要求也不一样,就需要做比较多的后端中间件适配,比如:数据库这块,有的要 mysql,有的是 pgsql,还有 oracle、国产达梦、信创、亚信==五花八门的,用自动化适配跑脚本是最快的,而且我们开发经理都比较认可,都是开发改完,就安排我先把全量用例执行一遍,有报错开发再一个个改。
等后面功能越迭代越多,经常出现原功能出错的线上事故领导就会让你重启了
不会有人指望接口自动化来发现 BUG 吧,你领导不懂就算了,你一个测试也不懂吗?
不懂行的领导,就会觉得,自动化应该是要提升效率的,需要减少版本迭代的测试时间,这样看起来才是有收益
这个感觉看开发的水平和项目吧,我们项目版本比较多,而且很多需求都是在旧功能上增加或者修改,所以改了一个地方其他地方或者老功能经常出错,如果用自动化回归,发现的 bug 就会比较多
看一下能否进一步提高自动化的覆盖率吧
引用陈老师的一篇文章 https://mp.weixin.qq.com/s/iW75qatF2oN7BpzACUf58Q 希望能有启发
理解下测试左移和右移,能在提测前提前介入到测试工作或者说在线上提高 “缺陷发现时间”、“问题定位时间”、“问题解决时间”
没发现问题还不好啊,如果手工发现了问题,可以把场景补充到自动化里,主要就是回归节省时间,毕竟上线时不可能每个功能都回归到,遇到大项目太浪费时间,有自动化就可以节省这部分时间,手工只关注上线需求和核心功能场景
只留下一个用例,有代码提交跑一次,有配置改动跑一次,有数据库变更,有重启跑一次,没事 10 秒跑一次。再看看能不能发现问题
自动化停用,这部分回归的工作还是要人来完成。自动化不是万能的,也不是一劳永逸的,leader 们确实要好好权衡这个关系。