一、什么是接口测试
接口测试是测试系统组件间接口的一种测试。
接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。
测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等
二、为什么做接口测试(接口测试的好处)
1..接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。
2..现在很多系统前后端架构是分离的,从安全层面来说:
(1)、只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易),需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。
(2)、前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。
3.接口测试位于测试的前期阶段,越早接入测试,发现问题的成本越低。
4.检查系统的安全性、稳定性
5.如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。
三、接口测试流程
1.分析接口文档和需求文档
分析文档去找测试点,一般从这几种方向去找:功能性测试点 性能测试点 安全测试点
2.编写接口测试计划(一般由leader编写)
5w1h
why:为什么进行接口测试
what:测试接口包括那些(测什么)
when:测试接口不同阶段的起止时间
where:相应的接口文档 接口缺陷的存放位置 测试环境
who:项目有关人员组成 哪些接口分配给那些人
how:使用那些测试工具以及测试方法进行测试
3.编写接口测试用例
根据具体哪个接口来编写,一般分为单接口和多接口两种场景来编写测试用例
单接口场景测试:
正向数据:也就是能正常发送请求,正常获取响应的数据,一般我们从三个方面去组织:
所有必填参数
全部参数(必填参数+选填参数)
参数组合(必填参数+某些选填参数)
反向测试:用不属于规定范围的数据区发送请求检查服务器能否正常处理
异常数据:数据为空,长度过多或者过少(边界值外),类型不符(需要数字类型传递str类型),错误的数据
异常的参数:不传参数,少传参数,多传参数,传递错误的参数
异常的业务数据:结合业务功能考虑输出的各种异常返回情况
多接口场景的测试
业务场景功能测试(站在用户角度考虑常用的使用场景)
多业务场景功能测试主要是测试接口之间数据依赖
4、接口测试执行
根据设计的测试用例就可以执行测试用例当然执行的方式有几种
使用postman之类的工具,一个一个进行测试,这种方式我们叫做手工测试
使用jmeter之类的有自动化功能方式进行测试,这种叫做工具自动化测试
python测试脚本,使用测试脚本自动加载测试,这种就是自动化测试了
5、缺陷管理
使用缺陷管理工具来对执行用例的缺陷进行管理
提示:缺陷提交->修复->回归->关闭
6、生成接口测试报告
测试完成了以后就可以生成测试报告了
四、接口测试的测试点