目录
一、接口定义
二、接口测试流程
三、执行接口测试
四、参数测试
五、幂等重复调用测试
六、服务提供者故障测试
七、并发测试
八、安全测试
九、接口测试工具
一、接口定义
接口是系统之间进行交互的入口,可以理解为通过接口进行数据的查询和传输。
二、接口测试流程
1、根据需求文档分析需求;
2、结合需求文档和接口说明文档中整理出接口测试案例,里面要包括详细的入参和出参数据以及明确的格式和检查点;
3、和产品开发一起对接口测试案例进行评审;
4、准备接口测试案例中的入参数据和出参数据,并整理成csv格式的文件;
5、结合接口测试案例文档和csv格式的数据文档,集成到接口自动化测试平台。
三、执行接口测试
1、添加接口的url地址;
2、添加接口是用什么方式发送;
3、添加请求头,请求体;
4、发送请求;
5、校验返回结果是否正确。
四、参数测试
接口类型 | 参数类型 | 需测试内容 |
---|---|---|
HTTP/DUBBO | 字符串类 | 正常值 |
长度超长 | ||
内容异常 | ||
空 | ||
NULL | ||
枚举 | 遍历所有枚举类型 | |
NULL | ||
数值类 | 正常值 | |
负数 | ||
小数及不同精度 | ||
超过取值范围 | ||
NULL | ||
数组类 | 正常元素个数 | |
元素个数为0 | ||
数组越界 | ||
时间日期类 | 正常取值 | |
格式非法 | ||
异常取值 |
五、幂等重复调用测试
幂等性:一个数据,或者一个请求,重复来多次,得确保对应的数据是不会改变的,不能出错。
接口幂等性:用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。幂等测试只涉及写入类接口,查询类接口不涉及。
需要测试被重复调用的情况下,是否进行了幂等处理,根据需求进行重复记录处理,更新或者抛出异常。
六、服务提供者故障测试
需要测试服务提供者故障情况下,服务的调用者处理的正确性,例如异常处理是否正确,是否有补偿机制,是否有重试机制等。
七、并发测试
对于金额类业务,会涉及同时对同一条数据的修改,需要关注修改失败后,事务是否发生回滚。
八、安全测试
敏感信息日志是否脱敏,通过查看日志,观察身份证号,身份证地址,姓名等敏感信息是否脱敏。
sql注入,通过入参注入一些where 1=1 、% 、$等特殊字符,观察系统是否异常。
九、接口测试工具
常用的接口测试工具有JMeter,postman,或者是使用python request,还有最近老多广告的Apifox,就我个人比较习惯使用JMeter,这个看个人喜好,工具是其次的,掌握测试方法才是主要的。
以下是关于JMeter使用的一些介绍,有需要的可以进行察看。
【接口测试】JMeter接口关联测试
【接口测试】JMeter强化神器beanshell
【接口测试】神器JMeter
【接口测试】JMeter参数化
最后,给大家推荐这个思维导图,可以复制下方链接查看详细信息。
https://www.processon.com/view/6138112f1e085306ef9fe608?fromnew=1#pc