接口测试接入的时机
服务端测试在参加完需求评审之后,开始梳理需求,进行需求的拆分,功能点的拆解等。需要参加研发的技术评审,等待评审通过后,拿到设计文档和接口文档后开始介入接口测试的工作。
接口测试的流程
接口测试的流程和一般的测试流程是一致的,测试计划–测试用例–测试执行,具体请查看下图。
接口用例设计思维
常用的接口请求方式有GET和POST,GET请求中参数都会被转换成序列化进行网络传输,简单理解就是GET请求方式,不需要考虑入参的格式,因为最终都会转换成字符型。POST请求方式,一般是JSON格式的请求体,涉及到多种参数类型,如字符型,整型,布尔型,时间戳,列表对象,字典对象等,进行接口用例设计时需要针对不同的数据类型进行不同的入参校验。
input
格式校验
string型,int型,long型,bool型,objec型(包含{},[])。具体的测试点请查看下面的实例。
必填项校验
依次去掉一个参数,请求接口,进行必填项校验。
业务相关属性的入参
拥有主键相关属性的入参,如订单ID,用户ID等,
枚举值相关的入参,如状态:草稿,已提交,已审核,已发布等
身份校验
请求的接口一般需要携带用户的身份信息,正确的用户身份信息,服务器才会进行处理,否则请求会被拒绝。
handle
主要进行后台功能逻辑实现的部分,不同场景的代码功能实现验证
output
主要进行接口响应体的断言,是保障测试用例可靠性的主要依据。接口返回的数据是否满足业务需求,是否和接口文档的一致,是否存在敏感信息等。
接口测试的价值
自动化接口测试的必要性
- 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程,主要是编写代码、脚本,让软件自动运行,发现缺陷,代替部分的手工测试;
- 当服务端改动功能、添加新功能时、测试环境切换时、新发布程序后,避免新代码导致已有功能不可用,都需要进行接口的全量回归。人工触发不及时且容易遗漏。
- 接口自动化接入持续集成,服务端发布触发接口测试代码运行,尽早发现问题
- 抽取部分接口测试用例,定时运行程序,对线上常用的业务操作进行监控,及时发现修复。
自动化接口测试适用场景
- 提测前冒烟测试
- 预生产/上线前回归测试
- 服务端底层逻辑变更后的回归测试
- 线上服务器可用性监控