1.什么是接口?
接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互。
2.接口都有哪些类型?
接口一般分为两种:1.程序内部的接口 2.系统对外的接口
系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把 数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。
程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。
接口的分类:1.webservice接口 2.http api接口
webService接口是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。
http api接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。
json是一种通用的数据类型,所有的语言都认识它。(json的本质是字符串,他与其他语言无关,只是可以经过稍稍加工可以转换成其他语言的数据类型,比如可以转换成 Python中的字典,key-value的形式,可以转换成JavaScript中的原生对象,可以转换成 java中的类对象等。)
3.前后端和测试对应的接口使用
由于现在一款程序的开发实现的前后端分离,前端和后端直接的数据传输和交互都是通过接口来进行操作的。
前端:通过后端人员给的接口文档,来进行Ajax的设计,通过接口向服务发送请求,获取响应的数据,然后通过返回的数据进行下一步的页面跳转和显示。
后端:通过编写接口,为前端提供与服务器和数据请求交互的通道。编写对应的接口,需要传递的参数,参数类型等等。然后生成接口文档,分享给前端,让其按照接口文档编写对应的Ajax。
测试:可以通过接口文档,进行接口验证,查看后端开发的接口和前端所写的Ajax是否对应,有没有出错的接口,还可通过接口流程测试,知道整个系统之间的接口是否是相对应的,有没有接口是不对的,或者没有正常运行。
4.接口测试和接口文档生成的工具
接口测试工具:jmeter、apipost、postman
jmeter:针对于接口测试和性能测试。它的功能主要是性能测试方面强大。
apipost和postman:针对于接口测试,功能都差不多,唯一不用的是apipost是中文版的还可以生成各种类型的接口文档。postman英语版的接口文档生成也是英文的。
接口文档生成工具:swagger、apipost
swagger是一款通过接口注释生成接口文档的工具,不过生成的接口文档也全是英文的。
apipost是通过对开发好的接口进行测试生成的接口文档,文档可以生成在线的html、markdown和word格式的。
工具下载地址:
ApiPost - 可直接生成文档的API调试、管理工具www.apipost.cnApache JMeter - Apache JMeter™jmeter.apache.orgAPI Documentation & Design Tools for Teams | Swaggerswagger.io