Commit b088a560 authored by 谢昇's avatar 谢昇

Update API测试.md

parent 19dd2329
# 一、HTTP请求方式 # 一、HTTP请求方式
...@@ -144,4 +144,20 @@ API之间是存在依赖关系的,比如你的被测对象是API A,但是API ...@@ -144,4 +144,20 @@ API之间是存在依赖关系的,比如你的被测对象是API A,但是API
但是,对异步调用业务逻辑的测试就比较复杂了,因为异步API通常发生在一些比较慢的操作上,比如数据库I/O、消息队列I/O等,此时测试往往需要去验证数据库中的值、消息队列中的值等,这就需要测试代码具有访问和操作数据库或者消息队列的能力。 但是,对异步调用业务逻辑的测试就比较复杂了,因为异步API通常发生在一些比较慢的操作上,比如数据库I/O、消息队列I/O等,此时测试往往需要去验证数据库中的值、消息队列中的值等,这就需要测试代码具有访问和操作数据库或者消息队列的能力。
在实际工程项目中,这些能力一般会在测试框架级别提供,也就是说要求API测试框架中包含对应的工具类去访问和操作数据库或者消息队 在实际工程项目中,这些能力一般会在测试框架级别提供,也就是说要求API测试框架中包含对应的工具类去访问和操作数据库或者消息队列等。
\ No newline at end of file # 四、API自动化测试框架
接口自动化测试逐渐成为目前投入产出比最高的测试技术。简单地使用Postman进行API测试,会遇到一些显而易见的问题:
1. 当需要频繁执行大量的测试用例时,基于界面的API测试就显得有些笨拙;
2. 基于界面的操作的测试难以与CI/CD流水线集成。
#### 那么理想中的接口自动化测试框架应该是怎样的呢?
一些常见的场景:
* 测试或开发人员在定位问题的时候,想调用某个接口查看其是否响应正常;
* 测试人员在手工测试某个功能点的时候,需要一个订单号,而这个订单号可以通过顺序调用多个接口实现下单流程;
* 测试人员在开始版本功能测试之前,可以先检测下系统的所有接口是否工作正常,确保接口正常后再开始手工测试;
* 开发人员在提交代码前需要检测下新代码是否对系统的已有接口产生影响;
* 项目组需要每天定时检测下测试环境所有接口的工作情况,确保当天的提交代码没有对主干分支的代码造成破坏;
* 项目组需要定时(30分钟)检测下生产环境所有接口的工作情况,以便及时发现生产环境服务不可用的情况;
* 项目组需要不定期对核心业务场景进行性能测试,期望能减少人力投入,直接复用接口测试中的工作成果。
面对这样的需求,比较适合我们的是选择一些成熟的测试框架,如基于 Java 的 OkHttP 和 Unirest、基于Python的http.client和Requests、基于NodeJS的Native和Request等,或者一些更有针对性的开源框架。
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment