1、接口测试背景
1.1、接口测试的必要性
目前,软件系统的复杂度不断上升,传统功能测试的片面性和滞后性导致测试成本急剧增加,且测试效率大幅度下降,仅靠功能测试已难以保证项目质量及进度。而接口测试的应用,恰好能使测试团队更早、更深入地介入项目,这样测试人员在项目初期就能发现系统深层次的问题,降低问题修复的时间成本。
1.2、接口测试的原理
测试人员借助工具模拟客户端向服务端发送请求 文,服务器端接收请求 文后,对相应的 文做出处理并向客户端返回应答,工具模拟客户端应答,测试人间检查应答是否准确。
1.3、接口测试的范围
1)、是否所有的接口都需要测试/p>
随着系统复杂度越来越高,接口也越多,想完全覆盖所有接口是难以实现的。通常情况下,主要测试最外层的两类接口:数据进入系统的接口(调用外部系统的参数为本系统使用)和数据流出系统的接口(验证系统处理后的数据是否正常)。
2)、被测接口都需要测试哪些方面/p>
被测接口的功能是否实现、性能是否达标、安全性是否满足,终点关注数据的交换、传递、处理次数以及控制管理过程。
2、接口基础知识
1、接口的定义
两个不同的系统或者一个系统中的两个不同的功能,它们之间相互连接的部分称之为接口。
在软件测试中,常说的接口一般有两种:图形用户接口(GUI)人与程序的接口;应用程序编程接口(API)
2、接口的分类
1)、HTTP接口:基于超文本传输协议;
2)、Web Service接口:系统对外的接口;
3)、RESTful接口:
3、HTTP
HTTP是应用最为广泛的 络协议之一,所有的万维 文件都必须遵守这个标准。
HTTP的主要特点:
1)、支持客户端/服务器模式。客户端向服务器发送请求时,只需传送请求方法和路劲。常用的请求方法有GET、POST。
2)、简单:HTTP简单,服务器的程序规模小,通信速度快;
3)、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记;
4)、无连接:限制每次连接,使其只处理一个请求。服务器处理完客户端的请求,并收到客户端的应答后,即断开连接。节省传输时间;
5)、无状态:无协议状态,协议对于事务处理没有记忆能力。
4、HTTP请求
HTTP请求包含四个部分:统一资源定位符(URL)、方法(Method)、头(Head)、体(Body)
1)、统一资源定位符
URL是用于完整的描述互联 上 页和其他资源地址的一种标识方法。一般形式:
“<协议>://<诸主机>:<端口>/<路径>/<文件名>”
协议:指获取该互联 资源所使用的协议,HTTP请求使用的是HTTP,还有文件传输协议(FTP);在协议中,后面必须写上“: //”,不能省略。
主机:指出万维 文档在哪一个主机上,可以给出域名、也可以给出地址;
端口:为服务器监听的端口,HTTP默认为80的端口,FTP默认为21端口;
路径和文件名:
对于动态 页,还需要给服务器提供访问动态 页的参数。一般形式为:
“<协议>://<诸主机>:<端口>/<路径>/<文件名>lt;参数1>=<值1>&<参数2>=<值2>”
2)、Method
基本方法有四种:分别为GET、POST、PUT、DELETE。
GET一般用于获取、查询资源信息;POST一般用于更新资源信息等;
除了上述方法以外,还包含PATCH、COPY、HEAD、OPTIONS、LINK、UNLINK、PURGE、LOCK、UNLOCK、PROPFIND、VIEW等。
**GET和POST的区别:
①、提交数据的方式不同:
GET:请求的数据会附在URL之后(即把数据放在HTTP 协议头中),以“分隔URL和传输数据,多个参数用“&”连接。如果数据是英文字母、数字,则直接发送;如果是空格,则转换为“+”后发送;如果是中文、其他字符,则会用Base64加密字符串。
POST:提交的数据放在HTTP的请求体中。
②、传输数据的大小不同
GET:特定的浏览器和服务器会对URL的长度有限制;
POST:理论上不受限制;
③、安全性不同
POST的安全性较GET更高。
3、Headers和Body
请求 文由请求行、头、空行、请求数据组成。
5、HTTP相应
1)、HTTP相应 文(状态行、消息抱头、响应正文)
五种取值可能:
1XX:只是信息:表示请求已接收,继续处理;
2XX:成功:表示请求已成功接收,理解和接受;
3XX:重定向:要完成请求必须进行更进一步的操作;
4XX:客户端错误,请求有语法或者请求无法实现;
5XX:服务器错误,服务器未能实现合法的请求;
常见状态码及描述说明:
200 OK:客户端请求成功;
400 Bad request:客户端请求有语法错误,不能被服务器所理解;
401 Unauthorized:请求未经授权;
403 Forbidden:服务器收到请求,但拒绝提供服务;
404 Not Found:请求资源不存在,比如输入了错误的URL;
500 Internal Server Error:服务器发生不可预期的错误;
503 ServerUnavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常;
2)、JSON
3、接口测试流程
1、编写接口测试计划
一般来讲,接口测试计划包含概述、测试资源、测试功能及重点、测试策略、测试风险、测试标准。
2、编写、评审接口测试用例
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!