[TOC] ## **接口的概念** ![](https://img.kancloud.cn/e3/6b/e36b39a6e5201728c9f9df644b871626_1194x574.png) ## **为什么要做接口测试** 1. 容易实现并且持续集成 2. 相比自动化测试性价比更高,同比UI更稳定,可大量回归 3. 对于大型项目,系统之间的模块越来越多,非常复杂 4. 更安全的接口测试方法 ## **接口测试的范围** ![](https://img.kancloud.cn/5c/5a/5c5a1c3d87fc1949833cac2c0d340080_1057x628.png) ## **什么是接口** 接口通俗来讲就是前端和后段之间传输数据的桥梁,注意:不是每一个项目都有接口,一些大型项目是前后端分离的,那么他们怎么实现数据的传递和返回呢?在通俗来讲就是前端和后段都有一个模拟参数数据 ## **接口的本质及原理?** 接口你可以简单的理解他就是URL,工作原理就会说URL通过get或者post请求像服务器发送一些东西,然后得到一些相应的返回值,本质就是数据的传输与接收 ## **问什么要做接口测试?**    1.越底层发现bug,它的修复成本是越低的。    2.前端随便变,接口测好了,后端不用变,前后端是两拨人开发的。    3.检查系统的安全性、稳定性,前端传参不可信,比如京东购物,前端价格不可能传入-1元,但是通过接口可以传入-1元。  4.如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。  5. 接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。  6.   现在很多系统前后端架构是分离的,从安全层面来说:         (1)、只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。         (2)、前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。 ## **接口测测试点是什么?** 1,目的:测试接口的正确性和稳定性; 2,原理:模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的过程; 3,重点:检查数据的交换,传递和控制管理过程,还包括处理的次数; 4,核心:持续集成是接口测试的核心; 5,优点:为高复杂性的平台带来高效的缺陷监测和质量监督能力,平台越复杂,系统越庞大,接口测试的效果越明显(提高测试效率,提升用户体验,降低研发成本); 用例设计重点:通常情况下主要测试最外层的两类接口:数据进入系统接口(调用外部系统的参数为本系统使用)和数据流出系统接口(验证系统处理后的数据是否正常); PS:设计用例时还需要注意外部接口提供给使用这些接口的外部用户什么功能,外部用户真正需要什么功能;