接口测试要测试什么?
一. 什么是接口测试?为什么要做接口测试?
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
由于如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,所以就要做接口测试。同时,接口测试相对容易实现自动化持续集成,且相对 UI 自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。现在很多系统前后端架构是分离的,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。
二、接口测试用例设计
接口测试的用例设计是关键,不能只是单纯正常请求通过就算接口测试过了,要从业务、功能、性能等上去设计用例。参考了网上的资料还有平时自己的一些经验,下图算是一个大致的设计思路吧

三、怎么做接口测试?
一般情况下,由于我们项目前后调用主要是基于 http 协议的接口,所以测试接口时主要是通过工具或代码模拟 http 请求的发送和接收。这边给大家介绍国产接口测试工具 apipost 的使用方法
发送 HTTP 请求
API 界面功能布局

API 请求参数
Header 参数你可以设置或者导入 Header 参数,cookie 也在 Header 进行设置

Query 参数 Query 支持构造 URL 参数,同时支持 RESTful 的 PATH 参数(如:id)

Body 参数
Body 提供三种类型 form-data / x-www-form-urlencoded / raw ,每种类型提供三种不同的 UI 界面 1)当你需要提交表单时,切换到 x-www-form-urlencoded

2)当你需要提交有文件的表单时,切换到 form-data

3)当您需要发送 JSON 对象或者其他对象时,切换到对应的 raw 类型即可

API 请求响应点击发送按钮后,如果有数据返回,则会显示返回数据,响应时间,响应码,Cookie 等。

注意:返回数据默认是 Pretty 模式,便于查看 JSON XML 格式。您可以通过切换 原生 或 预览 模式 查看其它类型的类型。返回 Headers

评论