接口的测试,并不仅仅是掌握某一种工具。工具是多种的,我们不能只会做接口的功能和性能测试,还要能够了解什么是的接口,共勉。
一、Http介绍
1、不同角色眼中的接口(开发、测试)
开发眼中的接口:模块与模块之间的对接方式定义
测试眼中的接口:可以独立部署成服务的协议接口
2、常见的接口协议(如http等)
HTTP:超文本传输协议
HTTPS: 安全超文本传输协议
FTP : 文件传输协议
TCP :网络控制协议
IP : 互联网协议
UDP : 用户数据协议
............
3、http协议栈中的位置(http协议的底层原理)
【HTTP和https区别】https://blog.csdn.net/qq_38289815/article/details/80969419
4、http协议响应码(2XX、4XX、5XX)
1XX:信息响应类,表示接收到请求并且继续处理(一瞬间的中间状态)
2XX:处理成功响应类,表示动作被成功接收、理解和接受。
3XX:重定向响应类,为了完成指定的动作,必须接受进一步处理。
4XX:客户端错误,客户请求 包含语法错误或者不能正确执行。
a. 响应码404: 我们请求的资环不存在
5XX:服务端错误,雾浮起不能正确执行一个正确的请求。
(解决:a. 重启服务器 b. 查看日志抛出的异常)
------------------------------
5、http协议响应模型,也可以说是 一次请求的生命周期。
场景:登录
1. 客户端发起请求到api接口层
1.1 用户在客户端填写用户名和密码,点击登录,发送请求
2. api接收到客户端发起的用户请求
2.1 api对业务逻辑进行验证
2.1.1 验证用户名和密码是否合法
比如:用户名要求必须为真实手机号码(11位,1开头,第二位34578)
如果验证失败,即用户名不合法,那么需要给客户端返回响应码
比如码值为1,2,3
1 代表用户名格式错误
2 代表用户名或密码错误
3 代表密码格式错误
3. api会将用户输入的数据层发给db层
Create、Read、Update、Delete
select * from user where
userName = ' ' and password = ' ';
3.1 数据库查询成功 则返回 1,失败则返回 0
4. DB会将返回的查询数据库的 条目数 给api
5. api返回成功或失败的 状态码 给客户端
6. 客户端将返回信息提示给用户
(1) 客户端:功能测试、性能测试、自动化测试
(2) 接口层:接口测试、功能测试、性能测试、自动化测试
(3) 数据库层:可以 将开发人员使用到的 sql 语句 单独拿出来进行性能测试
---------------------------
6、常用的http协议的请求方式(get、post等)
get、post、、、、、、
二、Jmeter 接口测试