一、什么是接口测试
以下是百度百科所定义的接口测试内容:
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
接口测试一般包括:接口的功能测试,接口的性能测试,接口的安全测试。
一些大公司会专门设置功能测试组,自动化测试组,性能测试组;
而平时我们所说的接口测试指接口的功能测试具体就包括一些业务功能测试,边界值测试,参数组合测试,异常情况测试等;
二、什么是接口,接口都有哪些分类
接口:
做接口测试,首先要了解什么是接口,接口是一种抽象性的概念,编程接口(API)通俗的解释应该是:一个组件(或程序库)提供给开发者进行编程使用的,通过代码可以与之沟通的入口,用于连接连个功能模块或代码模块;接口定义了一种能力,有定义者和实现者,接口定义一般是抽象的,不包括具体实现。
接口一般分为两种,一种是程序内部的接口,一种是系统对外的接口;
程序内部的接口是用于一个系统内程序之间方法与方法,模块与模块之间的交互;
系统对外的接口主要用于共享一些信息,通过一个方法来获取数据。
常用的接口类型:webservice接口、HTTP接口
webservice接口
Web Service是构建互联网分布式系统的基本部件,它是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,别人能够用编程的方法通过Web来调用这个应用程序。
它通过标准通信协议,在互联网上以服务的方式发布有用的程序模块,目前大部分是用SOAP作为通信协议。
它提供一份详细的接口说明书,来帮助用户构建应用程序,这个接口说明书叫WSDL(Web服务描述语言,Web Service Description Language)。
请求报文和返回报文都是XML格式的,XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized MarkupLanguage,标准通用标记语言)。
HTTP 接口
HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上 web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式;http接口最主要的作用是能够较好地解决不同系统(可能是功能不同、开发语言不同、服务商不同,等等,但都是基于http服务的)之间的交互的需求;
请求方式有:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT,常用的有: GET、 POST
返回的内容为json串形式
JSON VS XML
·可读性 JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,很难分出胜负。
·可扩展性 XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。
·编码难度 XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。
·解码难度 XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。这一点XML输的真是没话说。
·流行度 XML已经被业界广泛的使用,而JSON才刚刚开始,但是在Ajax这个特定的领域,未来的发展一定是XML让位于JSON。
三、接口测试目的及测试用例设计
1、为什么要做接口测试2、抓包: Charles 、fiddler、wireshark
4、http测试工具:Postman、HttpRequest、火狐JsonHandle
6、性能测试工具:LoadRunner、Apache JMeter