API测试该了解的一些技术细节

发表于:2019-11-04 10:52  作者:Erin   来源:51Testing软件测试网原创

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: API测试 软件测试技术

  首先,我们想,什么是API?
  简单来说,API,是应用程序接口(Application Programming Interface,又称为应用程序编程接口),是软件系统不同组成部分衔接的约定。一个软件系统越庞大,需要用到的接口相对越多,同时接口的复杂度和接口的设计都需更好的设计和提升。
  那么,什么是API测试API测试其实是一种用程序或工具来发送数据,同时验收系统的返回值的方法。这种测试更偏向于业务实现逻辑。常见的网络协议有TCP、Http、webservice、socket等,http?和webservice都是基于TCP/IP协议的应用层协议,webservice是基于http的soap协议传输数据。我们今天主要说最常见的基于http协议的API的测试。
  一般来说,API测试是除去单元测试和白盒测试之外最能够从底层发现问题的测试方法。那么,API测试需要注意哪些技术细节呢?换句话说,怎么做一个好的API测试呢?
  我们从以下四点说起:
  1、用例设计
  如果把API看做一个黑盒的话,那么我们首先可以设计基于边界值法、等价类划分法等的黑盒用例,这些设计思想其实占据很大成分。常见的比如参数值的边界,参数缺失/多余,参数空/非空,特殊字符等;对于复杂的参数,比如结构体/数组链表等,可以考虑其最大长度限制/内置特殊字符等。其次,请求方式/不合法的数据格式/不合法的cookie也会影响到一个接口的返回值。还有,有些接口涉及到加密解密,需要传一些密钥值,一些非合法密钥的检验,来观察API的响应情况。最后,如果手里有很详细的接口文档,把每个return code都覆盖到,很有必要。比如正常是200 OK,此外还有400(不合法请求),401(未授权),429(太多请求)等,或其它一些自定义的error code,覆盖的过程,也是把工程代码分支覆盖的过程。
  2、请求工具
  一般用Chrome浏览器的话,postman的使用频次应该是最多的了。也可以下载postman等位客户端。之前用Firefox浏览器的时候,还用过HttpRequester。不管用哪种,方法一样。首先,填写好测试URL,选择测试方法(GET/POST/PUT/DELETE),设置Header(常用的有content-type/Cookie等),设置authorization type(Basic Auth等),最后在body中填充测试数据。接下来,点击send就好啦,这样就发送了一个请求到你的目标API了。
  这里面比较复杂的可能就是body了,常用的格式有form-data, x-www-form-urlencoded, applictaion/json等。用哪种格式,正规的接口文档里开发同学就会注明。此外,postman有一个功能很nice,就是它可以配置环境变量。把配置信息抽象成类,不同环境对应不同的实例,初始化设定后,在request请求中通过实例成员变量来引用不同的值,从而在需要的时候通过切换环境来选择不同的配置信息。比如:我配置了一个env1环境,并添加了一组key和value,那么当我引用{{}}这个变量时,就会替换成你所配置的。

 ......
查看更多精彩内容,请点击下载:

版权声明:本文出自《51测试天地》第五十五期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

【福利】填问卷 送2019精选测试大礼包+接口测试实战课程!

评 论

论坛新帖

顶部 底部


建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海瀛东律师事务所 张楠律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2019, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道