接口测试
一、什么是接口?
接口是用来连接客户端与服务端,规范客户端与服务端数据传递格式,用于数据传输,统称API;分为内部接口和外部接口
二、为什么要做接口测试
1.前后端分离开发时,前后端进度不一定一致,接口写好后就能开始测试,减少前端对接时很多的问题
2.安全考虑,限制不仅前端需要做,后端更应该处理
3.测试尽早介入,发现更底层的问题,减少后期出现bug
4.缩短项目周期
5.检查服务端的容错能力
三、接口测试的一般流程
1.拿到api接口文档,熟悉接口业务,接口地址,入参,出参,错误码等
2.接口测试计划和方案
测试计划:什么时候/谁/花多少时间/用什么方法做测试
测试方法:
正例:输入正常入参,接口返回是否成功
反例:没有权限/token错误/过期/参数空/参数类型异常/长度异常/错误码覆盖等
其他场景:分页异常
3.设计接口测试用例
4.执行接口测试
5.导出测试报告
四、接口测试的优点:
接口自动化测试的一大优点便是测试覆盖面可以变得非常大,绝大多数的测试都可以自动化,这样更多的边缘就能被测试覆盖到,可以有效地减轻边缘缺陷造成的软件问题。这样之后,也可以保留一部分GUI测试来针对系统级典型用户场景进行迁移、可用性的测试。
相比于GUI测试,业界广泛认为接口测试更适合应用自动化测试和持续测试连续测试方法(尤其与敏捷软件开发方法和DevOps方法结合时)原因如下:
1.系统的复杂性:GUI测试无法充分验证所有功能路径及有着复杂结构的后端API/服务。
2.发布周期、反馈周期短:采用敏捷开发和DevOps的团队工作周期相对较短,经常按照客户反馈修改产品,因而GUI变动可能比较频繁,测试脚本无法固定。
由于这些原因,接口被认为是待测系统中最稳定的界面,开发人员应当减轻他们对GUI测试的依赖,更多的向接口测试中投入精力