HTTP协议4.14

API自动化测试

接口测试又称API测试,是软件的一种测试模式,它包含两个维度,在侠义的角度上指的是对对应用程序接口的功能进行测试,在广义的维度上是指集成测试中,通过调用API测试整体的功能来完成度,可靠性,安全性和性能

金字塔模型

测试工作可以分为两个维度:

1、质量管理

2、测试效率

质量管理:指的是能够积极的寻求推动问题解决方案和持续改进质量提升,

测试效率:可以说通过技术手段来提升研发效率从而进一步来提升测试效率

进入工作中 ,一天上班 首先就需要开早会,早会中我们需要对做以下问题:

1、昨天干了什么  

2、今天准备干什么  

3、存在什么问题(昨天工作中存在的问题,今天工作需要哪些人员配合下)

 

 

 ui层:功能测试-- ui自动化

service 层:接口测试  2个服务之间集成后的测试  又称API

unit层:单元测试   经常用于白盒测试  这个对技术的要去度非常的高  

金子塔的理解:

越底层的应该投入大量的精力去做,越上层的投入少量的精力去做

有很多主流的测试⼯具都可以做接⼝测试,如PostMan,JMeter,SoupUi等,除了⼯具还有在Python语⾔中很多 的第三⽅的库都是可以来做接⼝测试的,如:urllib,requests,aiohttp等

方法论:

1、类比---在不同的事务中找到共同点

2、科学方法论

这个里面有一个很大问题的解决思路:

a、把它拆分成小的问题   

b、逐步解决每个小问题

接口测试

1、协议---接口测试本质

2、主流工具---通过工具怎么做这个事情

3、代码框架

4、MockServer

HTTP协议;

HTTP协议,也可以称呼为超文本传输协议   它的默认端口是8.0,目前使用的版本是HTTP/1.1,最新的版本是HTTP/2.0,

HTTP/2.0版本使用:在分布式架构以及微服务架构中,基于新一代的架构设计有了gRPC的协议,它就是基于HTTP/2.0的版 本来进⾏设计的。

gRPC的协议:应用在互联网金融的领域

TCP/IP协议按层次主要为:应用层,传输层,网络层,数据链路层。

协议---双方共同遵循的一套标准

应⽤层决定了向⽤户提供应⽤服务时通信的活动。⽽HTTP的协议和gRPC的协议就是属于应⽤层的协议

传输层 应⽤层的下层是⽹络传输层,提供处于⽹络连接中的两台计算机之间的数据传输。

⽹络层 主要是⽤来处理⽹络上流动的数据包,所谓数据包就是⽹络传输中的最⼩单位,在该层协议中,规范了通过怎样的 路径到达⽬标计算机,并且把数据包传送给对⽅

网络层的目的:

1、保障数据传输

2、知道数据传输的目的地

链路层 主要是处理连接⽹络的硬件部分,如操作系统,硬件设备的驱动等

 

 

三次握⼿

为了确保把数据能够送到⽬标的服务器,TCP协议内部使⽤了三次握⼿的策略机制,也就是说在TCP协议中,TCP 把数据包送去后,TCP会进⾏确认对⽅是否收到,或者是确认是否成功送达,那么三次握⼿主要使⽤了TCP的标 志,具体为:SYN和ACK。⾸先Client端发送连接请求报⽂,Server段接受连接后回复ACK报⽂,并为这次连接分配 资源。Client端接收到ACK报⽂后也向Server段发送ACK报⽂,并分配资源,这样TCP连接就建⽴了。总结三次握⼿ 具体为:

第⼀次握⼿:起初两端都处于CLOSED关闭状态,Client将标志位SYN置为1,随机产⽣⼀个值seq=x,并将该 数据包发送给Server,Client进⼊SYN-SENT状态,等待Server确认;

第⼆次握⼿:Server收到数据包后由标志位SYN=1得知Client请求建⽴连接,Server将标志位SYN和ACK都置 为1,ack=x+1,随机产⽣⼀个值seq=y,并将该数据包发送给Client以确认连接请求,Server进⼊SYN-RCVD 状态,此时操作系统为该TCP连接分配TCP缓存和变量;

第三次握⼿:Client收到确认后,检查ack是否为x+1,ACK是否为1,如果正确则将标志位ACK置为1, ack=y+1,并且此时操作系统为该TCP连接分配TCP缓存和变量,并将该数据包发送给Server,Server检查ack 是否为y+1,ACK是否为1,如果正确则连接建⽴成功,Client和Server进⼊ESTABLISHED状态,完成三次握 ⼿,随后Client和Server就可以开始传输数据

3次握手的目的:

 保障数据传输的安全性和可用性

URL是统⼀资源定位符

URI可以称为统⼀资源标识符

在微服务的架构模式下,使⽤的也是轻量级的 通信模式(REST API),在微服务的架构模式中,需要清楚的是它的通信可以分为同步通信模式和异步通信模式

http请求流程

1、客户端与服务端之间建立TCP的连接请求

2、客户端发送Request请求到服务端

3、服务端Response响应回复客户端的请求

4、客户端与服务端之间关闭TCP的连接请求

 

 

持久连接:connection:keep-alive

只需要建立一次客户端的连接  

 

posted @ 2022-04-14 17:03  净植  阅读(64)  评论(0)    收藏  举报