查看原文
其他

接口测试 | 26 基础及简要验证清单

苦叶子 开源优测 2022-11-13

点击上方蓝字“开源优测”一起玩耍

## 什么是API

API(应用程序编程接口)可以被看作是软件系统、服务、组件之间进行通信的桥梁。它约束了通信的基本规则。


简单的说,API接收用户的输入,并返回响应内容。


## API测试


API测试是为了验证API的约束规则是否满足预期的规则。



## 为什么进行API测试


通常我们都是基于用户界面进行验证测试,以验证软件是否满足预期的需要。


如果我们的系统API不能够提供优势,那么不管应用程序的可用性如何,它都不会获得用户的认可,因为:


API负责处理用户的请求,其性能将直接影响用户的体验。


同样的,API的安全也是一个非常重要的方面,如果API很容易受到安全威胁,那么整个产品都可能受到影响,从而失去用户基础。


## 新手做API测试

作为一个从未或是初步涉及API级测试你来讲,在准备测试API前,必须考虑几个重要的问题:


1. 需要从哪几个方面进行测试


2. 选择最适合于API测试的环境


3. 最要的是确定API的目标受众


4. 设置测试的优先级


5. 做好可能发生的故障时的应对方案


6. 评估通过和失败的结果,并确定其对系统的影响度


一旦我们清楚的定义了什么我们的需求,我们就需要决定为什么要测试系统的API,它的服务的目的是什么?


在此基础上我们可能希望能够进行一些常见的测试,例如功能测试、可用性测试、可靠性测试、负载测试、安全测试、API文档测试等等


## API验证清单

在讨论了API测试和分析了其重要性后,我们简单的对API验证清单进行总结:


#### HTTP验证

在测试一个API时,应对HTTP方法的GET\POST\HEAD\PUT\DELETE等方法均应进行测试


验证用户身份验证时,尝试使用HTTP身份验证头来访问API


验证各种错误/认证码,以确保响应的是可验证的,一些验证代码包含 404(未找到服务器) 201(请求实现) 204(没有内容)等等


对于4xx和5xx错误是必须测试的,因为它们分别反应了客户端和服务器端的错误


为了确保API的最佳网络性能,必须将HTTP压缩机制应用到API测试中


#### API测试

API必须支持格式转换,例如json转换到xml、反之亦然


检查API版本号以验证特定版本是否兼容特定的设备、服务等等


验证API必须足够强大的支持批量操作能力


分页是一个非常强大的能力,而且能够减少服务不必要的计算,提升服务效率


API必须能够有效的处理服务运行期间的出现的错误


#### 内容

在验证API时,应该验证包括json、xml等格式的内容是否满足预期


当API为restful风格时,应对验证其是否满足restful风格机制、约束


API的日期和时间必须符合特定地区的时区规范


API的业务逻辑必须满足预期的机制


最后,安全是不可绕过的,其是决定API测试有效性的一个不可避免的因素。


## 小结

API测试既简单也复杂,有技术上的要求,更要求能把技术与测试的结合,以产生1+1大于2的效果,否则可能是一场无用功。

 

开源优测

分享软件测试开源技术、经验、方案的首发平台

长按二维码/微信扫描 关注开源优测

QQ群:260407012

苦叶子私人微信:liyimin1912

有问题,可留言或加好友进微信群

苦叶子原创文章首发平台



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存