乐趣区

关于接口:接口测试注意的点

接口测试作为集成测试的一部分,通过间接调用被测试的接口来确定零碎在功能性、可靠性、安全性和性能方面是否能达到预期,有些状况是功能测试无奈笼罩的,所以接口测试是十分必要的。

接口测试分为两种,一种是 webservice 接口,走 soap 协定通过 http 传输,申请报文和返回报文都是 xml 格局的,测试时通过工具 soapUI 进行测试。应用状况比拟少;另一种 http api 接口,走 http 传输协定,通过门路来辨别调用的办法,最罕用的是 get 和 post 申请。

get 申请和 post 申请的区别在哪里呢?网上的答案为:

1、get 申请能够在浏览器中申请到,post 申请的测试须要借助工具

2、get 申请应用 url 和 cookie 传参,post 的数据放在 body 中

3、post 比 get 更平安,因为传递的参数在 url 上是看不到的

4、get 申请的 url 会有限度,而 post 申请的数据能够十分大

5、个别 get 申请是来获取数据,post 申请是传递数据的

其实,对于当初飞速发展的 互联网来说,下面的说法曾经不谨严了。首先,post 申请的参数也能够写在 url 里,然而这种状况不多见;其次外表上看起来,post 利用 body 传参,比 get 的 url 传参平安,但其实只有用抓包工具(fiddler,Charles 等),post 的参数也是和盘托出;再次,当初的浏览器十分弱小,能够输出反对很长的 URL,所以也不再有限度一说了。这么说来,种种区别只有最初一条是最基本的了。

怎么来测试接口呢?依据什么来测呢?这就须要开发提供的接口文档了,接口文档和功能测试的需要说明书的性能是一样的。包含:接口阐明、调用的 url,申请形式(get or post),申请参数、参数类型、申请参数阐明,返回后果阐明。这里接口文档生成能够应用 apipost 接口文档生成工具。有了接口文档后,咱们就能够设计用例了,个别接口测试的用例分为以下几种:

1、通过性验证,说白了就是传递正确的参数,是否返回失常的后果

2、参数组合,因为参数有必传和非必传,参数的类型和长度,以及传递时可能业务上的一些限度,所以在设计用例时,就要排列组合这些状况,保障所有状况都能笼罩到

3、接口的安全性,这个又分为几种状况:

1) 绕过验证,比方提交订单时,在传递商品价格参数时,批改商品价格,就要看后端有没有验证了。或者我领取时,抓个包将订单金额一改,如果能以我改后的金额领取,那这个借口就有问题了。

2)绕过身份验证,就是某个性能只有有非凡权限的用户能力操作,那我传递一个一般的用户,是不是也能操作呢

3)参数是否加密,这个关系到一些账户的平安,比方咱们在登录一些网站时,它要将咱们的登录信息进行加密,如果不加密咱们的信息就会裸露,危害性极大。

4) 明码平安规定,设置明码时复杂程度的校验。

4、依据业务逻辑来设计用例

用例设计完了,用什么来测试接口呢?咱们能够借助一些工具,比方 apipost 和 jmeter。apipost 应用比较简单,能够在列表中抉择申请形式,在输入框中输出 URL,如果是 get 申请,间接点击发送就可以看返回后果了。

如果是 post 申请,会波及到几种参数的上传形式和增加申请头、权限验证还有增加 cookie 等操作。apipost 都能够简略实现

还有一种测试接口的工具是 jmeter,用处比拟宽泛,岂但能测接口的性能,还能对接口进行性能测试。比方:压力测试、负载测试等。在 jmeter 中须要创立线程组,如图:

退出移动版