测试接口的时候,可能很多人都会想,按着研发给的接口协议文档来测,不就好了吗?

 

其实,对于接口的测试,还需要有点深度的需求分析,然后再进行对应的测试。对于接口测试,这里有个不太详细的总结,给大家分享下~

 
维基百科对【接口测试】的定义如下:接口测试,是集成测试的一部分;即验证被测接口在功能、可靠性、性能和安全方面是否达到预期的软件测试活动。
 
接口测试,不仅仅是根据接口文档做简单的输入输出的测试。下面给大家看个简单的分析:
 
· 业务功能分析:
    正常情况;
    异常情况;
 
· 边界分析:
    参数有、无或null;
    参数顺序、个数、类型;
    特殊字符;
    覆盖必输入字段;
    组合可选字段;
    字符串长度(0、max、max+1);
    业务规则边界;
 
· 隐形需求:
    并发;
    DB数据量大;
    同时大批量数据;
    环境异常;
 
· 安全性:
    SQL注入;
    敏感信息是否加密;
 
· 性能测试:
    CPU;
    内存;
    磁盘I/O;
    网络I/O;
 
 
举个例子:给某客户端提供群发接口,该接口协议采用HTTP+JSON/XML方式传输,返回参数使用JSON包装好后的数据以便分析,其中的一个接口协议如下:
 
接口描述:批量发送相同的内容
接口地址:---
请求方式:post
请求参数:
字段名称  数据类型  必填  描述
----      string    是    账号
----      string   是    密钥
----      string   是    被叫号码集合
----      string   是    主叫号码
----      string   是    短信内容
----      string    是    时间戳
返回结果:
参数名称  数据类型  说明
----      string    被叫号码
----      string    生成的短信发送序列号
result    string    1:发送成功;0:发生失败
resultMsg string    失败原因
 
对该接口进行部分简单的分析:
 
业务功能:
    正常使用场景:用户名与主叫号码匹配,其他字段符合规则
    ......
    异常使用场景:用户名或密钥不对等
    ......
边界分析
    业务规则边界:被叫单个/多个(最大个数)/被叫号码异常、长短信边界
    .......
    参数边界:必输字段都有填写正确/缺少必输字段、缺少时间戳或时间戳为null或格式不对、被叫为空、被叫号码长度
    ......
安全性:
    敏感字符是否加密、SQL注入、恶意攻击等