什么是 API
API 是 Application Programming Interface 的简写。
- 实现了两个或多个独立系统或模块间的通信和数据交换能力。
什么是 API 测试
API 测试是不同于 UI 级自动化测试,其主要关注在系统架构的业务逻辑层,所以其主要关注不在于 UI 操作或用户感观上,更重调用逻辑关系。
如果你想学习软件测试的,我给你推荐个群:903217991,里面有从基础开始学习的软件测试学习视频讲解,还有大牛帮你解决疑惑。
与 UI 级自动化测试通过控制键盘输入和鼠标等操作不同的是:API 测试,我们是通过工具或代码方式去调用特定的 API,获取输出,并记录系统的响应。
API 测试需要与应用程序的 API 进行交互,为了测试这些 API,我们可以:· 使用测试工具来进行测试 · 自己写代码的方式进行测试
API 测试准备工作
首先你得获取目标测试系统的 API 相关文档,例如 API 对应的参数格式、期望返回结果等(一由开发提供文档,二自己抓包分析)就我们所处国内的实际情况,在大部分情况下,开发都没有成型的文档。所以作为测试人员,你应该具备以下技能:· 优先去推动开发生成一份合适的 API 说明文档 · 掌握抓包分析工具,能够自己去抓包分析形成 API 文档 · 至少把 http 协议掌握,了解其报文结构 · 对用户业务熟悉,能把 API 级业务逻辑和用户业务结合起来
API 主要测试什么
API 级测试至少应该覆盖以下测试要点:· 验证 API 所暴露的资源是否恰当的列出、创建、修改、和删除 · 验证 API 是否功能可用以及用户友好,是否便于与其他平台集成 · 安全测试,验证 API 是否包含了必要的认证以及敏感数据是否做了脱敏处理,是否支持加密或明码的 http 访问 · 自动化测试,将 API 高度业务场景化,实现自动化测试 · 文档,形成足够的文档,确保 API 质量的可维护行
API 测试要注意什么
在 API 测试过程中要重点关注什么呢?· API 测试用例要进行分类分组 · 每个 API 测试用例都应该参数化 · 在测试执行时,优先执行 API 测试 · 测试用例应该尽可能做到可独立执行 · 为了确保覆盖率,应该为 API 的所有可能输入进行测试数据规划
API 测试能发现什么 bug
在 API 测试时,一般会发现哪类型的 bug 呢?· 无法正确处理错误的深入条件 · 缺少或重复功能 · 可靠性问题 · 安全问题 · 多线程问题 · 性能问题 · 响应数据结构不规范问题 · 有效参数值不能正确处理
API 测试有哪些工具
· SoapUI · JMeter · PostMan · 自己写代码 其他工具不推荐了,笔者首推 SoapUI 或自己写代码
API 测试你可能遭遇哪些大坑
· 无效的测试数据规划,导致你的参数穷举组合 · 因为没有界面,开发又不提供文档的情况下,大部分人无从下手,会一脸懵逼 · 平时测试大都关注正常的正常的情况,但要注意异常处理 API 必须进行测试,你懂的 · 代码你要会点代码,会点 HTTP 协议,不然没法沟通交流
总结
如果你想学习软件测试的,我给你推荐个群:903217991,里面有从基础开始学习的软件测试学习视频讲解,还有大牛帮你解决疑惑。