接口测试-postman
学习和掌握接口测试的概念和原理。掌握HTTP/HTTPS协议的原理,学习和掌握Dubbox的接口测试方法和协议接口能力,主要掌握Postman的操作以及使用技巧
①HTTP/HTTPS协议:(https------协议(超文本传输协议、无状态) https------s=ssl
eg-----https://www.baidu.com/s?wd=https
www.baidu.com------ip
443-------端口(http默认端口80,https默认端口443)
/s--资源路径
Wd=https------参数
https是http的利用ssl加密数据包,提供对乌洛服务器的身份认证,保护交换数据的隐私与完整
将公钥放入数字证书中,保证公钥不会篡改
客户端发起https请求------ssl利用证书(公钥)进行解析和加密---传送加密信息至服务器---服务器利用私钥进行解密并处理-----处理的数据进行加密后响应客户端------客户端解密后渲染和展现内容
②请求:学习和掌握常见的Get、Post请求
都是http协议,一般get是从服务器获取数据,post是向服务器传送数据
get一般没有请求体,参数放在url后面,一次传输效率高,但数据安全性低
Post将数据放在请求体中,安全性要高,而先传输请求头,在传输请求体,两次传输,所以请求头会比get要小,可以更好的保证http包的完整性
③Cookie:学习和掌握Cookie、Session、token的原理以及解决方案
Cookie:存放于客户端,发送请求后,服务器返回cookie,下次请求携带cookie访问,容易被篡改,内容小,不安全(浏览器禁止cookie--通过url重写,即url后面加上sid=xxx参数)
Session:存放于服务器,发送请求后,服务器生成key-value值,以cookie的形式返回key(sessionid),下次请求携带key访问,较安全,但数据量一多影响性能,且服务器做分部署部署时,访问不同的服务器就无法找到对应的value(通过session集群来集中存放seesion对应的值)
Token:与session原理差不多,将用户uid、过期时间等敏感数据存放在客户端、交互式对比token的签名验证合法性、可跨域,解决session占内存的弊端,以计算换时间
④接口相关:学习掌握接口的文档、接口的基本概念以及接口的测试用例编写,熟悉和掌握接口相关的Postman、Jmeter、SoapUI等测试工具的使用方法
接口测试的测试用例编写:不单单针对参数值进行,还可以针对参数本身进行测试
正向参数----必选参数:所有的必选(必填参数)都包含、组合参数:所有的必选+任意一个或多个可选参数、全部参数:所有的必选+所有的可选参数
反向参数----多参:多出一个或多个必选参数、少参:缺少一个或多个必选参数、无参:没有必选参数、错误参数:参数名输入有误
⑤UDP、TCP和http关系和区别
TCP(传输控制协议)是基于连接的协议,类似于互通电话,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次握手才能建立起来,通过四次挥手断开链接
三次握手:主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的 初始化序列号,为后面的可靠性传输做准备
第一次握手:客户端向服务端发送一个 SYN 报文(SYN = 1)
第二次握手:服务器收到客户端的 SYN 报文,会发送 SYN 报文作为应答(SYN = 1)
第三次握手:客户端收到服务器端响应的 SYN 报文之后,会发送一个 ACK 报文,此时客户端处于 Establised 状态。服务器收到 ACK 报文之后,也处于 Establised 状态,至此,双方建立起了TCP连接
四次挥手:由TCP 的半关闭特性造成的,TCP 提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力。
第一次挥手:客户端发送一个 FIN 报文(请求连接终止:FIN = 1),并停止再发送数据,主动关闭 TCP 连接
第二次挥手:服务端收到 FIN 之后,会发送 ACK 报文,此时的 TCP 处于半关闭状态,客户端到服务端的连接释放
第三次挥手:如服务端也想断开连接(没有要向客户端发出的数据),发送FIN报文
第四次挥手:客户端收到 FIN 之后,一样发送一个 ACK 报文作为应答,这个时候由服务端到客户端的 TCP 连接并未释放掉,需要经过时间等待计时器设置的时间 2MSL(一个报文的来回时间)后才会进入 CLOSED状态
UDP(用户数据报协议)是与TCP相对应的协议,类似于发短信。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!
⑥postman---newman
全局变量和环境变量---获取和设置—用例集---生成报告
参数化(csv、json)—依赖(环境变量)