栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

接口测试基础

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

接口测试基础

目录

一、接口测试基础

1.接口

 2.软件接口类型

 二、接口测试

1.接口测试原理

 2.接口测试特点

(1)测试可以提前介入,提早发现Bug,符合质量控制前移的理念

(2)可以发现页面操作发现不了问题

(3)接口测试低成本高效益(底层的一个Bug能够引发上层8个左右Bug,接口测试可以实现自动化)

(4)不同于传统的单元测试是从用户的角度对系统进行全面的检测

3.接口测试实现方法

4.接口自动化

三、网络协议

1.HTTP协议

2.URL

四、请求与响应

1.http请求

拓展:常见方法

2.HTTP响应

五、RESTful接口规范

1.定义

2.RESTful接口分格

3.RESTful架构特点

六、接口测试流程


一、接口测试基础

1.接口

接口的概念:

指系统或组件之间的交互点,通过这些交互点可以实现数据的交互(数据交互的通道)

接口分类:

硬件接口与软件接口,作为测试工程师,更多关注软件层面的接口

 2.软件接口类型

接口测试分类有许多种,按照范围划分:系统之间的接口和程序内部的接口

系统之间的接口:多个内部系统之间的交互,内部系统与外部系统之间的交互

程序内部的接口:方法与发放之间,模块与模块之间的交互

 二、接口测试

接口测试,是对系统或者组件之间的接口进行测试,主要是校验数据的交换、传递和控制管理过程、以及相互逻辑依赖关系

1.接口测试原理

模拟客户端向服务器发送请求,服务器接收请求后进行相应的业务处理,并向客户端返回响应数据,检查响应数据是否符合预期

解释

我们通过工具代码向服务器发送请求,该请求按照接口文档的规定进行发送,测试返回的相应是否符合预期的结果,就可以检验的结果,就可以检验接口是否存在问题了

 2.接口测试特点

(1)测试可以提前介入,提早发现Bug,符合质量控制前移的理念

根据W测试模型(双V模型)提倡测试提前介入,提前介入测试,可以尽早发现问题,越早发现问题,成本越小

(2)可以发现页面操作发现不了问题

页面可能在前端进行了操作限定,比如注册功能中密码框输入的长度等,在进行页面测试时,是不能超过长度输入的,但通过访问接口,可以自动以密码的长度,接口测试可以发现页面操作发现不了问题

(3)接口测试低成本高效益(底层的一个Bug能够引发上层8个左右Bug,接口测试可以实现自动化)

接口测试通过几行代码,执行多条用例,可以大大提高工作的效率,节约企业成本

(4)不同于传统的单元测试是从用户的角度对系统进行全面的检测

3.接口测试实现方法

(1)使用接口测试工具来实现·(比如:JMeter、Postman)

接口测试的本质是通过像接口发送请求,查看响应是否正确,现阶段主要postman工具来测试接口测试,JMeter会在后续的性能测试中重点讲解

(2)通过编写代码实现(比如:Python + Requests)

接口测试的本质另一种方式就是通过代码实现,由于本质就是接口发送请求,同样可以使用代码实现,并且代码相比工具实现起来更加灵活,但要求测试人员具有一定的coding能力

4.接口自动化

测试分类:

按照是否自动化进行测试分类,可以分为:

-- 手工测试

-- 自动化测试

接口自动化猜测是:

针对自动胡测试,用工具或代码替代人进行测试的一种活动

三、网络协议

1.HTTP协议

HTTP协议,超文本传输协议,是一个基于请求与响应模式的、应用层的协议,也是互联网应用最为广泛的一种网络协议(传输超文本--> 超文本)

2.URL

URL:统一资源定位符,是互联网上标准资源的地址。HTTP使用URL来建立连接和传输数据

格式:

http :// www. jiyun.con: 8080/ news/index.html ?uid=128&page=1

(1)写一部分:http,常见的协议HTTP.HTTPS.FTP

(2)域名部分:www.jeremyblong.cn,也可以使用IP地址作为域名使用

(3)端口部分:8080,端口可以省略。默认端口(HTTP:80,HTTPS:443,FTP:21)

(4)资源路径部分:news/index.html

(5)查询参数部分:uid=128&page=1,查询参数通过”?“与URL进行分离,可以允许有多个参数,多个之间用”&“作为分隔符

四、请求与响应

1.http请求

HTTP请求由三部分组成,分别是:请求行、请求头、请求体

请求行:请求行用来说明请求方法,要访问的资源,要访问的资源以及所使用的协议版

POST 用户登录 - 禅道 HTTP/1.1 请求方法 URL地址 协议/版本 Host: demo.zentao.net # 主机名 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0 # 用户代理信息 Accept: text/html,application/xhtml+xml,application/xml;q=0.9, /;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Referer: 用户登录 - 禅道 Content-Type: application/x-www-form-urlencoded Content-Length: 54 Connection: keep-alive Upgrade-Insecure-Requests: 1 // 该空行表示请求头数据已经结束 account=demo&password=efc4a3b32e48054865e5a8321cfda3e4

拓展:常见方法

(1)GET:从服务器获取资源(一项或多项)

(2)POST:在服务器新建一个资源

(3)PUT:在服务器更新资源(客户端提供改变后的完整资源

(4)DELETE:从服务器删除资源

其他请求方法:

(5)HEAD:请求获取由Request-URL所标识的资源的响应消息报头

(6)TRACE:请求服务器收到请求信息,主要用于测试或诊断

(7)CONNECT:保留将来使用

(8)OPTINS:请求查询服务器的性能,或者查询与资源相关的选项和需求

请求头:

请求头紧接着请求行,请求头部由键值对组成,每行一对. 请求头部通知服务器有关于客户端请求的信息

User-Agent:产生请求的浏览器类型(用户信息) Accept:客户端可识别的内容类型列表 Content-Type:请求体数据的类型,常见的类型有: text/html: HTML格式 text/plain:纯文本格式 image/jpeg:jpg图片格式 application/json: JSON数据格式 application/x-www-form-urlencoded: form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据格式) multipart/form-data: 在表单中进行文件上传时使用

请求体:

(1).请求体不在GET方法中使用,经常在POST、PUT方法中使用

(2).请求体的数据可以是:表单数据、文本、XML、JSON

(3).与请求数据相关的最常使用的请求头是Content-Type(application/json)和Content-Length

2.HTTP响应

HTTP响应也由三个部分组成,分别是:状态行、响应头、响应体

1、状态行:状态行由协议号、状态码、状态消息三部分组成

200系列:

200 成功 服务器已成功处理了请求

300系列:

301 永久移动 请求的网页已永久移动到新位置,即永久重定向 # 重点

302 临时移动 请求的网页暂时跳转到其他页面,即暂时重定向 # 重点

400系列:

400 错误请求 服务器无法解析该请求 # 重点

401 未授权 请求没有进行身份验证或验证未通过

403 禁止访问 服务器拒绝此请求 # 重点

404 未找到 服务器找不到请求的网页

500系列

500 服务器内部错误 服务器遇到错误,无法完成请求 # 重点

501 未实现 服务器不具备完成请求的功能

502 错误网关 服务器作为网关或代理,从上游服务器收到无效响应

504 网关超时 服务器作为网关或代理,但是没有及时从上游服务器收到请求

505 HTTP版本不支持 服务器不支持请求中所用的HTTP协议版本

2、响应头

响应头用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理响应数据

3、响应体

响应体就是响应的消息体,数据可以是普通文本、XML、JSON、HTML源码

五、RESTful接口规范

1.定义

RESTful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。

REST:即(Representational State Transfer)的缩写。词组的翻译是"表现层状态转化"。如果一个架构符合REST原则,就称它为RESTful架构。

2.RESTful接口分格
操作请求方式URL成功状态码
查询某个用户GEThttp://127.0.0.1:8080/myweb/users/1200
查询所有用户GEThttp://127.0.0.1:8080/myweb/users200
添加用户POSThttp://127.0.0.1:8080/myweb/users201
修改用户PUT/posthttp://127.0.0.1:8080/myweb/users/1201
删除用户DELETEhttp://127.0.0.1:8080/myweb/users/1204

3.RESTful架构特点

特点:

(1).每一个URL代表一种资源

(2).客户端和服务器之间,传递这种资源的某种表现层

(3).客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化

(4).接口之间传递的数据最常用格式为JSON。

常用HTTP动词有四个

GET:从服务器获取资源(一项或多项)

POST:在服务器新建一个资源

PUT:在服务器更新资源(客户端提供改变后的完整资源)

DELETE:从服务器删除资源

六、接口测试流程

(1)需求分析: 主要依据需求文档

(2)接口文档解析: 一般是由开发人员编写接口文档(API文档)

(3)设计测试用例

(4)执行测试

- 使用接口测试工具实现

- 通过编写代码实现

(5)接口缺陷管理与跟踪

(6)生成测试报告

(7)接口自动化持续集成(可选)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/301623.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号