接口测试及接口测试工具【Postman】相关的面试题

Postman是一种接口调试与http接口测试的工具,可以非常方便的模拟get、post或其他请求来调试和测试接口

Postman优点

1.支持各种请求类型:get、post、put、patch、delete……
2.支持在线存储数据,通过账号就可以进行迁移数据
3.支持用例到处、导入、批量运行
4.很方便的支持请求header和请求参数的设置
5.支持不同的认证机制,包括Basic Auth、Digest Auth、OAuth 1.0、OAuth 2.0等
6.相应数据是自动按照语法格式高亮的,包括HTML、JSON、XML和文本

Postman使用流程

  1. 根据接口用例所属的模块新建集合管理
  2. 在集合中不同模块下编写接口测试用例
  3. 处理接口之间的数据关联操作和添加环境变量
  4. 在tests tab下中增加断言
  5. 将接口调试通过
  6. 批量运行用例或者导出通过Newman去运行生成html报告

Postman参数化有哪几种方式

  1. 内置函数
  2. pre-scripts编写js脚本
  3. 全局变量
  4. 环境变量
  5. Collection变量
  6. 批量执行时使用的CSV、txt文本或者Json文件

Postman如何设置关联

  • 通过正则表达式提取的方式或者json取值的方式,提取需要的参数
  • 将参数设置为全局变量
  • 在后面接口中,使用{{全局变量}}代替要替换的参数值

接口测试能发现什么问题

1、发现很多在页面上操作发现不了的bug
2、检查系统的异常处理能力
3、检查系统的安全性、稳定性
4、前端随便变,接口测好了,后端不用变
5、可以测试并发情况,一个账号同时(大于2个请求)对最后一个商品下单或者不同账号对最后一个商品下单
6、可以修改请求参数,突破前端页面输入限制

如何分析bug是前端还是后端

先抓包看请求报文,对着接口文档看请求报文有没有问题,有问题就是前端发的数据不对;请求报文没有问题,那就看返回报文,返回数据不对,那问题就是后端开发的问题

当一个接口出现异常时,如何分析

1、用fiddler工具抓包,或者浏览器上给按f12(app上就用fiddler设置代理,去看请求报文和返回报文)
2、查看后端日志,xhell连上服务器,查看日志

如何模拟弱网测试

fiddler和charles都可以模拟弱网测试,模拟弱网测试也就是模拟丢包

如何分析bug是前端还是后端

先抓包看请求报文,对着接口文档看请求报文有没有问题,有问题就是前端发的数据不对;请求报文没有问题,那就看返回报文,返回数据不对,那问题就是后端开发的问题

1、请求接口url是否正确,错误则是前端的bug
2、传参是否则正确,错误则是前端的bug
3、请求接口和传承都正确,查看响应报文是否正确,错误则是后端bug
4、也可以在浏览器控制台输入js代码调试进行分析

手工接口测试或者自动化接口测试过程中,上下游接口有数据依赖如何处理

用一个全局变量来处理依赖的数据,比如登录后返回token,其他接口都需要这个token,那就用全局变量来传token参数

### Postman 接口测试常见面试题汇总 #### 1. Postman接口测试中的重要性 Postman 是一款广泛使用的 API 测试工具,在软件测试领域具有很高的关注度。它不仅能够帮助开发者和测试人员快速构建、运行以及调试 HTTP 请求,还支持复杂的场景化测试[^1]。 #### 2. 接口测试的主要内容有哪些? 接口测试应覆盖多个维度,包括但不限于以下几个方面: - **功能测试**:验证接口在正常输入下的行为是否符合预期,同时也需考虑异常情况的处理能力。 - **数据传输与格式验证**:确认数据结构、编码方式(如 JSON 或 XML)、字段长度等均满足设计需求。 - **错误处理与异常流程测试**:模拟各种可能发生的错误条件,评估系统的健壮性。 - **安全性与授权验证**:确保敏感操作受到适当保护,防止未授权访问。 - **性能与负载测试**:检验高并发情况下服务的表现稳定性[^2]。 #### 3. 接口契约测试的概念是什么? 接口契约测试是一种专门用于验证实际实现是否严格遵循预定协议的技术手段。其核心在于对比生产环境中的响应结果同文档描述的一致程度,从而提前发现问题并降低因变更引发的风险。 #### 4. 使用代码进行接口测试时需要注意什么? 当采用编程方式进行接口调用时,通常建议创建 session 对象以便于管理连接状态及共享配置参数。这样不仅可以提高效率还能增强可维护性[^3]。 ```python import requests session = requests.Session() response = session.get('https://example.com/api/resource') print(response.status_code) ``` #### 5. Postman 支持哪些类型的自动化测试? 利用 Postman 可执行多样化的自动检测方案,比如借助 JavaScript 编写自定义逻辑来匹配期望值或者提取动态生成的数据作为后续步骤依赖项的一部分。此外还可以与其他 CI/CD 工具链无缝衔接完成更高级别的流水线作业[^4]。 #### 6. 常见的 Bug 类型有哪些? 在日常实践中可能会遇到诸如返回码不符预期、缺失必要字段、非法字符过滤不当等问题。这些问题往往源于开发阶段遗漏边界情形考量或是版本迭代过程中引入的新缺陷。 #### 7. Postman 提供了哪些有用的内置变量? 为了简化某些重复性的设置工作,Postman 内嵌了一系列便捷实用的功能选项,例如 `$randomInt` 能够产生指定范围内的随机整数值;而像 `$timestamp`, `$guid` 则分别对应当前时间戳表示形式以及唯一标识符生成器等功能组件[^5]。 --- ###
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Taverry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值