软件测试你要会的东西

编程入门 行业动态 更新时间:2024-10-28 21:21:07

网络
测试理论
数据库基本操作
LJ

OSI(Open System Interconnection)七层模型

第一层:物理层,确定接口以及传输媒体的标准。RG45、RS449

第二层:数据链路层,主要负责在两个相邻结点之间的线路上,无差错的传输以帧为单位的数据。PPP,CSMA/CD

第三层:网络层,主要负责选择合适的网间路由和结点,确保数据可以及时传输。IP,ARP,ICMP

第四层:传输层,主要负责在两台主机应用进程之间建立端到端的逻辑通信。TCP,UDP

第五层:会话层,负责管理网络设备之间的会话连接,建立会话,保持会话,终止会话。SQL

第六层:表示层,负责对数据进行编码,进行数据格式转换,对数据进行加密、解密等。MPEG4,JPEG,PNG

第七层:应用层,负责向用户提供各种应用服务,如文件传输、收发邮件、浏览网页等。
Telnet,FTP,HTTP,SNMP

TCP、UDP

TCP与UDP的区别

TCP(translation control protocol)传输控制协议UDP(user data protocol)用户数据报协议
面向连接,可靠的面向无连接,不可靠的
一对一一对多,多对一,多对多
报文段数据报
机制:滑动窗口,超时重传,自动纠错
首部开销大,传输速度慢首部开销小,传输速度慢快
电子邮件视频电话

TCP 三次握手四次挥手

三次握手:

  1. 第一次握手:客户端将标志位SYN置为1,并随机产生一个序列号seq=J打包发送给服务端,此时client进入SYN_SENT状态
  2. 第二次握手:服务端收到数据包后由标志位SYN=1得知这是客户端在请求建立连接,server将标志位SYN和ACK都置为1,确认号ack=J+1,随机产生一个seq=K打包发送给客户端,确认连接请求并进入SYN_RCVD状态
  3. 第三次握手:客户端确认标志位ACK是否为1,确认号ack是否为J+1,是的话将标志位ACK=1,确认号ack=K+1发送给server;server收到后确认ACK是否为1,确认号ack是否为K+1,是的话双方进入established状态,连接建立成功,client和server可以开始传输数据

四次挥手:

  1. 第一次挥手:客户端想要释放连接,发送一段报文给服务端,其中:标志位FIN=1,序列号seq=u,并进入FIN-WAIT-1状态
  2. 第二次挥手:服务端收到报文后确认客户端想要释放报文,结束established,进入close-wait状态,并返回一段TCP报文,其中:标志位ACK=1,确认号ack=u+1。客户端收到服务器发出的报文,确认了服务端收到了自己要想释放连接的请求,结束FIN-WAIT=1状态,进入FIN-WAIT-2状态
  3. 第三次挥手:服务端发送完传输数据,想要断开连接,发送一段标志位FIN为1,seq=w的报文给客户端,并进入LAST-ACK状态
  4. 第四次挥手:客户端收到报文后,确认服务端可断开连接,发送一段ACK=1,确认号ack=w+1的报文给服务端,并进入TIME-WAIT状态,等待2MSL(Maximum Segment Lifetime最长报文段寿命,MSL指一个片段在网络中最大的存活时间,2MSL就是一个发送和一个回复所需的最大时间。如果直到2MSL,Client都没有再次收到FIN,那么Client推断ACK已经被成功接收,则结束TCP连接。)后结束会话。
字段含义
URG紧急指针是否有效。为1,表示某一位需要被优先处理
ACK仅当ACK=1时,确认号字段才有效。ACK=0时,确认号无效
PSH提示接收端应用程序立即从TCP缓冲区把数据读走
RST对方要求重新建立连接,复位
SYN请求建立连接,并在其序列号的字段进行序列号的初始值设定。建立连接,设置为1
FIN希望断开连接

TCP、UDP协议的应用

FTP21 TELNET23 SMTP25 DNS53 TFTP69 HTTP80 SNMP161

DNS 域名转换

输入域名后,web会在本地DNS缓存寻找是否有对应的IP地址,若有,则直接向ip发送请求,若没有,则向本地域名服务器请求,若有,返回ip;若没有,向根服务器,然后向顶级域名服务器,直到找到ip地址。获取到ip后,建立TCP连接,发送HTTP请求。传输层(报文段)TCP封装(源端口,目的端口)ip数据包到网络层,服务器收到后响应http请求,返回内容,浏览器解析内容、展示并释放TCP连接。

时分复用、波分复用

时分复用就是分时段传输数据来提高数据传输效率,波分复用是光的频分复用,频分复用是把一段信号中同一时间段不同频率给利用起来,比如低频信号给电话,高频信号给视频。

TCP/IP协议

TCP/IP协议是指能在多个不同网络上实现信息传输的协议簇,找到你想要交互的计算机

OSI七层TCP/IP 协议
应用层应用层
表示层
会话层
传输层传输层
网络层网络层
数据链路层应用层
物理层

ping 包的过程


三层:
A——ping——C
1.A欲发起ping请求,
源IP:10.10.10.1,源MAC:MAC-A,目标IP:10.10.20.1,目标MAC:MAC-C(未知)
2.传到网络层后发现目标ip与自己不在同一个网段,便欲向路由器发送请求。查表没有路由器的MAC地址,ARP广播报文
源IP:10.10.10.1,源MAC:MAC-A,目标IP:10.10.10.100,目标MAC:MAC-E0(未知)
3.SW1收到报文,基于源地址的学习F1/1——MAC-A,基于目的地址的转发
4.R收到报文后解封装发现请求的是自己的MAC地址,学习IP:10.10.10.1——MAC-A并单播回复ARP报文
源IP:10.10.10.100,源MAC:MAC-E0,目标IP:10.10.10.1,目标MAC:MAC-A
5.SW1收到报文,基于源地址的学习F0/1——MAC-E0,基于目的地址的转发
6.A收到报文,学习R-E0MAC地址,编辑数据发送
源IP:10.10.10.1,源MAC:MAC-A,目标IP:10.10.20.1,目标MAC:MAC-E0
7.SW1转发报文
8.R收到解封装后发现请求的MAC是自己的,但ip不是自己的,经检查路由表,是去往E1的路由,欲转发报文
源IP:10.10.10.1,源MAC:MAC-E1,目标IP:10.10.20.1,目标MAC:MAC-C(未知)
9.查表未知MAC-C,广播ARP
源IP:10.10.20.100,源MAC:MAC-E1,目标IP:10.10.20.1,目标MAC:MAC-C(未知)
10.SW2收到报文,基于源地址的学习F0/1——MAC-E1,基于目的地址的转发
11.C收到报文,发现请求的MAC地址是自己的,学习10.10.20.100——MAC-E1;编辑ARP单播报文回应
源IP:10.10.20.1,源MAC:MAC-C,目标IP:10.10.20.100,目标MAC:MAC-E1
12.SW2基于源地址的学习F1/1——MAC-C,基于目的地址的转发
13.R收到报文,学习10.10.20.1——MAC-C
14.填入C的MAC,转发数据
源IP:10.10.10.1,源MAC:MAC-E1,目标IP:10.10.20.1,目标MAC:MAC-C
二层:A——ping——B
1.A在应用层发起目的IP为10.10.10.2的ping请求
2.传输层接到上层请求的数据,将数据分段并加上传输层报头下传到网络层
3.网络层收到数据后,根据ICMP协议封装,添加A的ip为源ip,B的ip为目的ip封装为数据包,下传到数据链路层
4.数据链路层收到数据包后进行封装,源MAC地址为MAC-A,目的MAC地址则查询ARP缓存表。没有目标IP对应的MAC地址,则发出ARP广播
5.交换机F1/1收到广播报文,基于源地址的学习记录F1/1对应MAC-A,基于目的地址转发到F0/1,F2/1;
6.B收到广播报文,解封装,发现所请求的是自己的MAC地址,ARP学习A的MAC地址,同时向A发送ARP单播报文,源IP为10.10.10.2,源MAC为MAC-B,目的IP为10.10.10.1,目的MAC为MAC-A。
7.交换机F2/1学习ARP,对应MAC-B;查表发现目标MAC-A可从F1/1到达,转发报文
8.A收到回应报文,ARP学习MAC-B;可编辑ping包发送。

测试相关理论

单元 集成 系统

  • 单元测试:指对软件中最小可测试单元进行检查,一般由开发进行白盒测试
  • 集成测试:介于单元测试与集成测试之间 ,一般使用白盒+黑盒测试,验证接口以及主要的业务功能
  • 系统测试:最大的测试粒度,由单独的测试小组进行黑盒测试,模拟用户的测试环境验证系统是否符合需求。

黑盒白盒

  • 黑盒测试:即功能测试,不需要了解程序的内部逻辑,只需要测试其开发说明应有的功能
  • 白盒测试:即结构测试,需要了解软件的内部逻辑,检测程序的逻辑结构,得出测试数据
    黑盒测试用例方法:等价类,边界值,判定表法,因果图,正交试验法,流程分析
    白盒测试用例方法:静态测试法,动态测试法:语句覆盖法,判定覆盖法,条件覆盖法,路径覆盖法,组合覆盖法

进程和线程

进程是CPU资源分配的最小单位,线程是CPU调度的最小单位,可以和在同一个进程中的其他线程共享这个进程资源。一个进程可以包含多个线程,一个线程只能在一个进程中,每一个进程最少拥有一个线程。

IPD测试流程

需求分析 测试方案/测试策略/测试用例 测试 TR4报告 配套测试 TR6测试报告 TR1 TR2 TR3 TR4 TR5 TR6 结束

需求分析

了解需求范围:想要做什么,要完成哪些模块
明确目标用户
分析功能步骤:列出所有功能点,对每个功能点进行分层分析,功能点的耦合关系,依赖关系

测试方案

包括项目描述:项目背景,特色(型号、平台、镜头、结构、适用行业)
测试计划:测试轮数,每一轮在具体什么时间段
测试资源:人力、环境、软硬件的需求
测试内容:功能、性能、稳定性、压力、图像、配套、资料测试以及其相应的测试策略
测试风险及规避

测试策略

讨论裁剪策略、重点测试模块,在各轮测试哪些测试项

测试用例

用例编号,用例名称,用例步骤,期望结果,功能模块,优先级,预置条件

测试报告

包括项目背景
测试环境:网络
测试执行情况:以测试版本为维度,列明时间、内容(功能、图像、稳定性、性能)、策略(模块、差异项、回归)、测试人员、每一个版本的测试结果(bug数量、bug分布、DI值)
缺陷统计与分析
测试结论:功能、稳定性、配套是否测试通过;问题关闭率,DI值是否满足发布门槛

思考

一.登录失败如何排查:
1、用户名、密码是否正确
2、用户名密码是否存储在数据库中
3、F12,点击登录后是否调用登录接口
4、如果已调用登录接口,查看请求的URL传参是否正确
5、注册时与现在登录加密解密的方式是否一致
6、是否是网络问题,服务器没有回应

JL

云计算

分布式存储

ceph:高性能、高扩展、高可靠

  • 所有计算节点共享存储资源,即使一台机器宕机,也可以在其他节点上启动虚拟机(因为分布式存储会对文件进行备份(镜像))
  • 创建虚拟机时,只需要克隆镜像而不需要下载镜头,秒级创造虚拟机
  • 按需分配,写入数据时才分配存储空间

Open stack

四个组件
Nova:计算组件,执行所有虚拟机的操作,包括虚拟机的创建,创建虚拟机快照,删除虚拟机。
Glance:镜像组件:管理所有镜像文件,上传镜像,删除镜像。
Cinder:磁盘组件:磁盘操作。
Neutron:网络组件:网络控制。

docker

与传统虚拟机的比较

性能测试-网络

iperf

编译:

tar -zxvf 解压压缩包
cd iperf
./configure
make
make install

执行

iperf -s
iperf -c host -i 2 -w 512k -t 60 -p 5201
-w 指定TCP窗口大小,默认是8KB

udp
iper -s -u

Ixia,STC打流仪 丢包率,时延性能

性能测试-磁盘-fio

FIO
[root@docker sda]# fio -ioengine=libaio -bs=4k -direct=1 -thread -rw=read -filename=/dev/sda -name=“BS 4KB read test” -iodepth=16 -runtime=60

-filename 测试文件名
-name 本次io的名称
-bs 每次传输的块大小
-direct 跳过缓存,直接读SSD
-thread 创建线程的方式
-rw 磁盘读写方式,顺序读写或随机读写
-size 本次IO传输的数据大小
-runtime 运行时间
-iodepth 队列深度,在异步模式下,CPU不能一直无限发命令到SSD
-ioengine io引擎适用Linux本地异步IO

结果关注:IOPS磁盘每秒读写次数;BW磁盘吞吐量

性能测试-CPU-spec cpu

性能测试-内存-stream

数据库基本操作

修改表
alter table user_info add column name varchar(20);
插入数据
insert into user_info(id, pwd) values(1, 12222);
修改数据
update user_info set pwd=111111 where id=2;

多表查询

更多推荐

软件测试你要会的东西

本文发布于:2023-06-13 04:05:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/711312.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:你要   东西   测试   软件

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!