接口测试概述

什么是接口?

API

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

举例说明:

  • 笔记本电脑上提供了各种物理硬件接口,比如USB接口,耳机接口、麦克风接口、电源接口等….
    这些不同的接口有不同的功能:比如通过USB接口插入U盘就可以拷贝电脑数据,插入耳机接口可以听音乐,我们无需关心这些接口的工作原理,只需通过这些接口满足我们的使用需求即可。

  • 在中国天气网网上查询某个城市天气,主要输入城市名称,即可获取到对应的天气。查询背后的本质也是调用了网站后台接口来获取数据,这里的接口是Web服务软件接口。用户不需要关注数据在网站后台是怎么查询的,只需要返回一个结果即可。

开放平台

基于互联网的应用正变得越来越普及,在这个过程中,有更多的站点将自身的资源开放给开发者来调用。对外提供的API 调用使得站点之间的内容关联性更强,同时这些开放的平台也为用户、开发者和中小网站带来了更大的价值。

气象大数据交易平台

微信开放平台

接口测试

什么是接口测试?

接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。其中接口协议分为HTTP,WebService,Dubbo,Thrift,Socket等类型,本套课程主要是针对HTTP类型接口来进行讲解。测试类型又主要分为功能测试,性能测试,稳定性测试,安全性测试等。

为什么要做接口测试?

接口测试实施在多系统的平台架构下,有着极为高效的成本收益比(当然,单元测试收益更高,但实施单元测试的成本投入更大,技术要求更高)。

接口测试天生为高复杂性的平台带来高效的缺陷检测和质量监督能力,平台复杂,系统越庞大,接口测试的效果越明显。

接口测试优势主要体现在如下三个方面:

1、节省了测试成本

根据数据模型推算,底层的一个程序BUG可能引发UI层的8个左右BUG,而且底层的BUG更容易引起全网的死机;接口测试能够提供系统复杂度上升情况下的低成本高效率的解决方案。

2、接口测试门槛相对较低

接口测试不同于单元测试,接口测试是站在用户的角度对系统接口进行全面高效持续的检测。

3、效益更高

将接口测试实现为自动化和持续集成,当系统复杂度和体积越大,接口测试的成本就越低,相对应的,效益产出就越高。

怎么样去做接口测试?

基本的接口功能自动化测试流程如下:

需求分析 -> 用例设计 -> 脚本开发 -> 测试执行 -> 结果分析

需求分析

需求分析是参考需求、设计等文档,在了解需求的基础上还需清楚内部的实现逻辑,并且可以在这一阶段提出需求、设计存在的不合理或遗漏之处。

用例设计

用例设计是在理解接口测试需求的基础上,使用ExcelXMind等思维导图软件编写测试用例设计,主要内容包括参数校验,功能校验、业务场景校验、安全性及性能校验等,常用的用例设计方法有等价类划分法,边界值分析法,场景分析法,因果图,正交表等。

脚本开发

使用自己熟悉的语言或者工具来开发即可。

测试执行

可以直接运行接口测试脚本或者使用CI来执行测试

结果分析

根据测试报告来分析接口测试结果。

参考资料