一、什么是接口测试
1.定义:测试系统组件间接口的一种测试。主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点,重点是检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等
2.原理:模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的过程
3.重点:检查数据的交换,传递和控制管理过程,还包括处理的次数;
4.核心:持续集成是接口测试的核心;
5.用例设计重点:通常情况下主要测试最外层的两类接口:数据进入系统接口(调用外部系统的参数为本系统使用)和数据流出系统接口(验证系统处理后的数据是否正常);
二、为什么要做接口自动化测试
1.越底层发现bug,它的修复成本是越低的。
2.如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试就可以为这种情况提供解决方案。
3. 接口测试相对容易实现自动化持续集成,且相对来说较稳定,可减回归测试人力成本与时间。
4. 从安全层面来说:
(1)、只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。
(2)、前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。
三、流程
需求分析 -> 用例设计 -> 脚本开发 -> 测试执行 -> 结果分析->脚本维护
四、需要掌握的技术
①了解系统及内部各个组件之间的业务逻辑交互;
②了解接口的I/O(input/output:输入输出);
③了解协议的基本内容,包括:通信原理、三次握手、常用的协议类型、报文构成、数据传输方式、常见的状态码、URL构成等;
④常用的接口测试工具,比如:jmeter、loadrunner、postman、soapUI等;
⑤数据库基础操作命令(检查数据入库、提取测试数据等);
⑥常见的字符类型,比如:char、varchar、text、int、float、datatime、string等;
7.语言:python、java
备注:内容非原创,多为网上收集转载,仅供自己学习。