1、为什么做接口自动化测试
我们知道接口测试是整个软件开发过程中必不可少的步骤,一般接口测试是在功能测试之前完成的,提前做接口测试能够节省成本,bug修复起来也比较简单。那么做测试接口就好了呀,为什么还要有接口自动化呢,是因为有的项目周期较长,且回归次数较多(这个又是测试小伙伴的辛酸血泪史呀,有的项目较复杂,需求变更频繁,开发时间长,这就导致改了一个bug,又引发了好几个bug,我们根本没有时间一遍遍的对整个项目进行回归),这时候如果有接口自动化脚本那就简单多了,开发改完bug以后,我们先把脚本整体执行一遍,大约花费几分钟的时间就够了,这个脚本能够把所有的后端接口和业务逻辑全部跑一遍,哪里有bug 一目了然,这样既提高了测试覆盖率,又节省了时间,何乐而不为呢。
2、接口自动化和UI自动化的区别在哪里
UI自动化:脚本记录下我们对项目点点点的每一步,然后再按照记录下来的操作和数据执行一遍,相当于本来该我们手动点点点,但是脚本代替我们做了这件事,并且节省了手动反应的时间,提高了测试效率。
接口自动化:略过页面点点点的步骤,直接通过接口对后端发送请求。(接口是什么呢?我们可以把接口理解为通道,前端负责封装页面,目的是为了让所有的功能都有按钮可以点,真正把按钮组合起来产生效果的是后端程序。例如:我想要搜索一件商品,在页面上输入搜索内容,点搜索按钮即可。那这期间经历了几个过程呢?我们都知道数据存在数据库里,在页面上点搜索按钮不能直接实现页面和数据库的交互,必须要有连接的通道,才能把我们想要的结果反馈回来,那么接口就是这个通道了,接口需要把用户的搜索内容带到后端程序,后端拿着这个搜索内容去数据库筛选,然后把筛选结果再通过接口反馈回来,所以,接口是连接前后端的通道,只要接口没问题,就不会有大问题,前端的bug不会影响核心的功能)
区别:
UI自动化:对前端要求较高,有时需要前端配合才能捕获到想要的元素,并且现在前端写代码都是直接用的现成框架,还有的为了防止爬虫,把前端代码加密,而且有些元素的id是随机生成的数字,这样还得换捕获方式,所以写脚本更是难上加难了,覆盖率也不会太高,并且适合运行比较稳定的项目,否则维护脚本工作量很大。优势是完全模拟用户的真实行为,并且能够同时测到接口和页面。
接口自动化:需要具备基本的开发能力,要了解数据库,了解一门语言,必要的时候还需要去日志取数据,所以还需要了解服务器系统(主流服务器是windows,Linux)。优势是代码覆盖率高,能够覆盖所有功能和业务逻辑,需求变更后维护成本小。
总结,无论何种自动化都有适合的项目,但是开发和维护脚本需要的时间较长,就看领导是否有魄力支持了。
以上纯属个人目前的经验所得,可能有偏颇,有更了解小伙伴可以评论哦,咱们共同进步,谢谢!