如何应对复杂场景的 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 测试框架中包含对应的工具类去访问数据库或者消息队列。
标签:怎么,异步,调用,队列,API,测试,操作 From: https://www.cnblogs.com/xianyumaixianyu/p/18276688