接口测试基础知识

1、接口测试背景

1.1、接口测试的必要性

目前,软件系统的复杂度不断上升,传统功能测试的片面性和滞后性导致测试成本急剧增加,且测试效率大幅度下降,仅靠功能测试已难以保证项目质量及进度。而接口测试的应用,恰好能使测试团队更早、更深入地介入项目,这样测试人员在项目初期就能发现系统深层次的问题,降低问题修复的时间成本。

1.2、接口测试的原理

测试人员借助工具模拟客户端向服务端发送请求报文,服务器端接收请求报文后,对相应的报文做出处理并向客户端返回应答,工具模拟客户端应答,测试人间检查应答是否准确。

1.3、接口测试的范围

1)、是否所有的接口都需要测试?

随着系统复杂度越来越高,接口也越多,想完全覆盖所有接口是难以实现的。通常情况下,主要测试最外层的两类接口:数据进入系统的接口(调用外部系统的参数为本系统使用)和数据流出系统的接口(验证系统处理后的数据是否正常)。

2)、被测接口都需要测试哪些方面?

被测接口的功能是否实现、性能是否达标、安全性是否满足,终点关注数据的交换、传递、处理次数以及控制管理过程。

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端口;

路径和文件名:

对于动态网页,还需要给服务器提供访问动态网页的参数。一般形式为:
“<协议>://<诸主机>:<端口>/<路径>/<文件名>?<参数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、编写、评审接口测试用例
在这里插入图片描述

3、执行接口测试(Postman、JMeter、SoupUI等)

4、接口自动化测试持续集成要点:

1)、流程方面:在回归阶段加强接口异常场景的覆盖,并逐步向系统测试、冒烟测试阶段延伸,最终达到全流程自动化;
2)、结果展示:更加丰富的结果展示、趋势分析、质量统计和分析等;
3)、问题定位:报错信息、日志更精准,方便问题复现与定位;
4)、结果校验:加强自动化校验能力;
5)、代码覆盖率:不断尝试由目前的黑盒向白盒下探;
6)、性能需求:完善性能测试体系;

4、接口文档系统

API文档工具来维护接口信息。

1、ShowDoc简介

目前,有很多维护API文档的工具,本文选择ShowDoc:

①、ShowDoc是一个开源、免费的工具;
②、ShowDoc是一个非常适合IT团队的在线API文档、技术文档工具,可以实现实时同步;
③、ShowDoc可以方便、快速地编写出美观的API文档;
④、ShowDoc提供免费的在线文档托管服务;

2、ShowDoc部署
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值