一、接口是什么?
1. 官方解释:API(Application Programming Interface) 即应用程序接口。是一个软件组件,或是一个Web服务与外界进行交互的接口,这里接口可以和API划等号。2. 逐层叠加方式解释:功能层面:接口就像一个黑盒子,其上游负责输入参数,下游负责输出参数,类似于平时的黑盒测试对象。
例如:在Chrome浏览器中输入:https://www.v2ex.com/api/nodes/show.json?name=Python,按回车键之后。 页面实际发送了一次请求接口。 具体的要求是:接口地址(https://www.v2ex.com/api/nodes/show.json?) 请求参数及其值(name=Python)。 后面这个“name=Python”就是输入数据;返回的数据就是浏览器展示的一个JSON格式数据。至于这个数据是怎么来的,目前还是看不到的。 所以这就像黑盒子一样,输入不同的数据会得到不同的返回结果。注:JSON数据在线检查工具:http://www.bejson.com/ 数据流层面:可以将接口理解为连接前端(Web页面、APP等)和数据库(Database)等后端的纽带,用于二者之间传递数据、处理数据。 现在主流的框架结构中,后端一般使用数据库存储数据,前端不能直接数据库中操作数据,一方面不安全,另一方面效率低,要完成数据的交互,必然要有中间的纽带,那就是接口。 从这个层面来讲,接口主要负责前端页面和数据库之间数据的传输和交互。
当下大部分的互联网产品都采用前/后端分离的方式,即前端的表示层负责展示数据及其样式:
编程层面:可以将接口理解为业务逻辑处理方法的外在表现形式,它可以是一个类下面的方法,也可以是一个函数。从数据流层面来理解,接口会按照“业务逻辑”处理数据。 函数或方法按照逻辑返回不同的数据,这便是接口在不同参数下的不同返回信息。所以从“白盒操作”角度来看,接口测试是直接对函数或方法的代码层进行测试。
二、什么是接口测试
接口测试主要用于检测外部系统与内部系统之间,以及系统内部各个子系统之间的交互点。其测试的重点是:检查数据的交换、传递和控制管理过程,以及系统间的逻辑依赖关系。
三. 什么是接口文档
接口文档是前后端之间数据交互的一纸契约,有规范的格式和内容要求。后端按照接口协议接收前端传递来的合法数据并返回符合规范的数据,前端按照接口协议传递符合规范的数据并对后端返回的数据依据展示需要做处理。 所以说,接口文档是对前后端开发的强有力约束。
四. 接口文档的重要性
接口文档是纽带,接口文档确定后,前后端即可各自开发自己的代码,开发完成后就可以联调了,而联调的过程就是对接口是否能使用进行测试,这样可以节省前后端等待的时间。 接口文档是对业务逻辑的传承,在标准研发流程中,接口文档始终是最新的,所有前后端人员修改方案都要先设计接口并更新接口文档,然后再修改代码。这样间接地节省了后期维护的成本和新入职员工的学习成本。
五. 没有接口文档,该如何展开接口测试
1. 找开发要(开发不一定给) 2. 看开发代码(需要有代码能力)3. 抓包获取(最简单)