接口测试
1.接口文档:前端和后端如何进行数据交互的文档
请求地址
请求方式
数据所带的参数及其类型
返回所带的参数及其类型
2.接口测试用例——通常使用等价类法
3.执行用例
4.缺陷报告
为什么要进行接口测试?
1、提早介入测试可以大大的降低损失
2、保证功能接口正常
接口测试:通过工具或代码向接口发送请求,获取响应数据,验证接口返回的数据是否与预期一致。
是对系统或组件之间的接口进行测试,主要是校验数据的交换、传递和控制管理过程、以及相互逻辑依赖关系。
接口测试原理:模拟客户端向服务器发送请求(psotman),服务器接收请求后进行相应的业务处理,并向客户端返回响应数据,检查相应数据是否符合预期。
(我们通过工具或代码向服务器发送请求,该请求按照接口文档的规定进行发送,测试返回的响应是否符合预期的结果,就可以检测接口是否存在问题)
接口测试特点:1、测试可以提前介入测试,符合测试前移的理念,越早发现缺陷,越早修复,损失越小。
2、可以发现一些页面操作发现不了的问题。
3、接口测试低成本高效率。
4、不同于传统的单元测试,接口测试是从用户的角度对系统进行全面的检测。
接口测试实现方式:1、使用接口测试工具来实现,比如:JMeter,Postman。
2、通过编写代码来实现,比如Python+Request。
接口测试流程:1、需求分析
2、接口文档解析
3、测试用例编写—通常使用等价类法
4、执行测试用例
5、缺陷跟踪
6、产出报告
网络协议
OSI七层模型
1.应用层——为应用程序提供服务
2.表示层——数据格式转化、数据加密
3.会话层——建立、管理和维护会话
4.传输层——建立、管理和维护端到端的连接
5.网络层——IP选址及路由选择
6.数据链路层——提供介质访问和链路管理
7.物理层——物理层
TCP/IP五层模型
1.应用层
2.传输层
3.网络层
4.数据链路层
5.物理层
TCP/IP四层模型
1.应用层
2.传输层
3.网络层
4.数据链路层(网络接口层)
常用的网络协议有哪些?
HTTP(Hypertext Transfer Protocol Vertion 1.1)——超文本传输协议—版本
HTTPS(Secure Hypertext Transfer Protocol)——安全超文本传输协议
FTP(File Transfer Protocol)——文件传输协议
RIP(Routing Infomation Protocol)——路由信息协议
TCP/IP(Transmission Control Protocol/Internet Protocol)——传输控制协议/Internet协议
UDP(User Datagram Protocol)——用户数据报协议
TFTP(Trivial File Transfer Protocol)——小文件传输协议
DHCP(Dynamic Host Configuration Protocol)——动态主机配置协议
URL
http请求:请求行、请求头、请求体
请求行
请求头
请求体
常见的请求方式
get、post、put、delete、patch、options、head、trace
HTTP响应:状态行、响应头、响应体
状态行——协议版本号、状态码、状态消息
状态码
响应头:用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理响应数据。
响应体:就是响应的消息体,数据可以是普通文本、XML、JSON、HTML源代码
http和https的区别
https协议需要到CA申请证书,一般免费较少、需要一定的费用
http是超文本传输协议,信息是明文传输,https是ssl加密传输协议
http和https使用的是完全不同的连接方式,http端口是80,https端口是443
http的链接很简单,是无状态的,https协议是由ssl+http协议构建的可行加密传输、身份证的网络协议,比http协议安全
UDP和TCP的特点及区别
(1)TCP是可靠传输,UDP是不可靠传输;
(2)TCP面向连接,UDP无连接;
(3)TCP传输数据有序,UDP不保证数据的有序性;
(4)TCP不保存数据边界,UDP保留数据边界;
(5)TCP传输速度相对UDP较慢;
(6)TCP有流量控制和拥塞控制,UDP没有;
(7)TCP是重量级协议,UDP是轻量级协议;
(8)TCP首部较长20字节,UDP首部较短8字节;
如何将文件上传至Linux服务器
第一种:scp使用说明:
1、把本机的文件传给目的服务器:
1scp get66.pcap root@192.168.1.147:/super
备注:把本机get66.pcap拷贝到147这台服务器的super目录下,需要提供147的密码
2、在本机上执行scp,把远端的服务器文件拷贝到本机上:
1scp root@192.168.1.147:/super/dns.pcap /
备注:在本机上执行scp,把远端服务器的dns.pcap文件拷贝到本机的根目录下
3、拷贝目录下的所有文件:
1scp -r /super/ root@192.168.1.145:/
备注:把/super/目录下的所有文件,拷贝到145服务器根目录下
第二种:xshell软件里的xftp程序:
里面有个xftp小插件,可以支持文件在笔记本和服务器互传,这个小插件需要单独在网上下载,直接百度搜xftp,很方便。
1、点击xshell软件上的xftp图标(前提xftp已经下载好)
2、然后就可以互传文件了啊
推荐使用xshell软件比较好用。
如何使用ssh连接服务器
选择协议:选择SSH2协议。
输入需要连接的主机的IP地址
输入需要连接的主机的用户名和密码。
Postman基本使用
接口请求的常用方式(GET/POST)
1、GET和POST的区别:(1)长度:GET有长度限制,POST没有长度限制。
(2)安全性:GET通常是将参数显示在URL地址中,可以被看见,不是很安全;POST是将参数写入body中,不能被看见更加安全。
(3)作用:GET通常作用于从数据库中读取数据;POST则是将数据提交/更新于数据库中。
GET请求方法测试
POST请求方法测试
新建目录
使用断言
断言功能
断言的特点:
1、使用postman进行接口测试,其断言写在Tests里面,Tests内的脚本响应数据接收到后才执行
2、执行测试后,在Test Results当中查看断言结果
常见断言:
断言响应状态码是否为200
断言响应体JSON数据
断言响应体是否包含指定字符串
断言响应体是否等于指定字符串
断言响应头信息是否包含指定的头部信息
在程序设计中,断言是一种放在程序中的一阶逻辑,目的是为了验证预期结果和测试结果。
每新建一个接口就需要输入相应的URL地址太麻烦了,设置参数化,将共同的数据写入全局/局部变量环境中,使用变量名就行
举一个登录注册的案例(如图):
总结:设置全局变量和局部变量的好处就是两个或多个接口之间有关联时,就进行关联操作方法:前一个接口中使用set,后面的接口中使用(两个花括号+变量名)。
断言—自动化判断是否成功
Python的assert是用来检查一个条件,这是一种高级的异常形式。如果它为真,就不做任何事,如果它为假,则会抛出AssertError并且包含错误信息。断言经常用在测试过程中,通过使用给定条件和程序中的条件进行判断,如果抛出异常则说明这代码有问题。
批量执行