四、API 测试怎么做
如何应对复杂场景的 API 测试?
测试场景一:被测业务操作是由多个 API 调用协作完成
背景:一个单一的前端操作可能会触发后端一系列的 API 调用,此时 API 的测试用例就不再是简单的单个 API 调用,而是一系列 API 的调用。
存在情况:
(1)存在后一个 API 需要使用前一个 API 返回结果的情况。
(2)需要根据前一个 API 的返回结果决定后面应该调用哪个 API。
存在问题:
高效地获取单个前端操作所触发的 API 调用顺序
解决思路:
(1)通过抓包,获取前端操作时所触发的 API 调用顺序。
(2)通过用户行为日志,通过大数据手段来获取调用顺序。
测试场景二:API 测试过程中的第三方依赖
背景:API 之间存在依赖关系的,比如你的被测对象是 API A,但是 API A 的内部调用了 API B,此时如果由于某种原因,API B 在被测环境中处于不可用状态,那么 API A 的测试就会受到影响。
解决思路:
启动 Mock Server 来代替真实的 API
测试场景三:异步 API 的测试
什么是异步 API?
调用后会立即返回,但是实际任务并没有真正完成,而是需要稍候去查询或者回调的 API
对异步 API 的测试主要分为两个部分:
(1)测试异常调用是否成功:检查返回值和后台工作线程是否被创建两个方面。
(2)测试异步调用的业务逻辑处理是否正确。
测试异步调用的业务逻辑复杂性:
因为异步 API 通常发生在一些比较慢的操作上,比如数据 I/O、消息队列 I/O 等,此时测试往往需要去验证数据库中的值、消息队列中的值等,这就需要测试代码具有访问和操作数据库或者消息队列的能力。在实际工程项目中,这些能力一般会在测试框架级别提供,也就是说 API 测试框架中包含对应的工具类去访问数据库或者消息队列。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix