51Testing软件测试论坛

标题: API测试是什么 [打印本页]

作者: 梦幻小丑灯    时间: 2021-11-23 14:22
标题: API测试是什么
什么是API

API是Application Programming Interface的简写。

实现了两个或多个独立系统或模块间的通信和数据交换能力。

什么是API测试


API测试是不同于UI级自动化测试,其主要关注在系统架构的业务逻辑层,所以其主要关注不在于UI操作或用户感观上,更重调用逻辑关系。

与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协议,不然没法沟通交流

文章转载至:https://www.kingnettech.com/service/zhishiku/106.html





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2