自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 收藏
  • 关注

原创 优选算法【专题二:滑动窗口】

什么时候更新结果???当我们是一个合法窗口的时候就更新结果。

2025-12-02 16:22:50 909

原创 【Python】基础

变量里面存储的不仅仅是数字,还可以存储其他种类的数据,为了区分不同种类的数据,我们引入了“类型”概念。在Py中,一个变量是上面类型,是可以在程序运行过程中发生变化的,这个特性称为“动态类型”C/C++是不允许这样的,一个变量定义类型后就固定了,这叫做“静态类型”2、Python中,单引号构成的字符串和双引号构成的字符串没有区别。1、Python变量的类型不需要显式指定,而是在复制的时候确定。如果条件a成立,执行1,2,3 不成立执行3。2、不同的作用域允许出现相同的函数名。a为真,执行1,a为假执行2。

2025-11-18 17:10:59 610

原创 【MySQL】内外连接、索引、事务、用户管理

MySQL服务可能会同时被多个客户端进程(线程)访问,访问的方式以事务方式进行一个事务可能由多条SQL构成,

2025-11-17 13:12:41 982

原创 【MySQL】多表查询

但是这样这张表里面有很多费数据,我们要对这张表进行整合那么,我们要得到有效数据,就需要添加过滤条件。这样就得到一张新表。select 部门号 部门名 员工名 工资 from 员工表,部门表 where如果两个表里面的列名称有相同的话,就需要加上 表名.列名(要指明表名)

2025-11-16 09:57:55 1025

原创 【MySQL】基础

表的约束:表中一定要有各种约束,通过约束,让我们未来插入数据库中的数据是符合预期的。反过来,站在mysql的视角,凡是插入进来的数据,都是符合数据约束的。一般而言,我们建议将主键设计成为和当前业务无关的字段,这样,当业务调整的时候,我们可以尽量不会对主键做过大的调整。enum(枚举)是单选(多选一),插入的数据必须是枚举值中的一个,可以使用下标进行插入数据,并且下标是从1开始。当对应的字段不给值,就会自动被系统触发,会从当前的最大值+1,得到一个新的值,通常和主键搭配使用,作为逻辑主键。

2025-11-16 09:57:37 1073

原创 优选算法【专题一:双指针】

两个位置:cur和dest(开始指向-1)。cur是把数组遍历一遍,dest是判断数组的最后一个位置为止1)先判断cur位置的值2)根据cur位置的值判断dest向后移动一步还是两步3)判断一下dest是否已经到结束位置4)dest没有到结束位置cur++

2025-09-24 16:59:09 655

原创 【论坛系统性能测试】

博客详情页的请求参数有blogId,我们不能使用固定的blogId因为如果当这篇博客被删除的话,博客详情页就会访问失败,那么这个blogId应该从博客列表页的返回值获取。我们要求并发数是一点一点增加的 而不是配置并发数之后中断,因此就需要使用插件。为了达到并发的效果就需要添加同步定时器。要将提取用户凭证放在登录接口的子集。CSV数据文件管理器可以实现参数化。发送10个请求必须要在1s内完成。将信息头管理器放在全局。

2025-08-19 11:14:24 433

原创 【博客系统测试报告】---web界面自动化测试

【代码】【博客系统测试报告】---web界面自动化测试。

2025-08-15 16:04:36 235

原创 【博客系统测试报告】---接口自动化测试

功能复杂度高、高风险功能、重复性高我们对博客系统的每个接口都进行自动化测试。

2025-08-14 21:00:40 772

原创 【接口自动化测试】---logging日志、allure测试报告

实例四、设置日志格式。

2025-08-13 10:41:28 548

原创 【接口自动化测试】---YAML、JSON Schema

控制是否允许对象中存在未在 properties (这是JSON schema中的属性)中定义的额外属性,默认为True。(默认是允许在json返回数据里面存在未在schema中的properties中的)uniqueItems设置为True表示元素必须是唯一的,设置为False表示元素可以是唯一的(也可以是不唯一的) 默认情况,允许存在重复的数据。注意:配置里面不要存在其他字符或者空格,会导致识别不出来当前的配置,意味着配置是失效的。uniqueItems :确保数组中的元素是唯⼀的。

2025-08-11 22:10:25 1170

原创 【接口自动化测试】---自动化框架pytest

初始化--第一个用例、第二个用例---清理--初始化---第一个用例、第二个用例--清理)

2025-08-11 12:10:24 919

原创 【接口自动化测试】---requests模块

requests.get就是发送一个get请求到指定的URL。根据接口的需求和功能,设计正向测试用例(正常场景)和反向测试用例(异常场景),包括边界值测试、参数组合测试等。需求分析、挑选自动化接口、测试用例设计、搭建测试环境、设计测试框架、编写代码、执行测试、生成测试报告。一般我们用GET的时候,请求参数就用params。选择变成语言、开发环境(pycharm)来实现。分析请求:明确接口的URL、请求方法、请求头、请求参数和请求体。分析响应:确定接口返回的数据格式,状态码、可能的错误信息。

2025-08-08 21:49:15 896

原创 【接口自动化测试】---【1】接口测试

⽐如输⼊20个字符、输⼊特殊字符等,但这些可能只是在前端做了校验,后端可能没做校验,如果有⼈通过抓包绕过前端校验直接发送到后端怎么办呢?现在有⼀个操作商品的接⼝,有个字段type,传1的时候代表修改商品,商品id、商品 、名称、价格有⼀个是必传的,type传2的时候是删除商品,商品id是必传的,这样的,就要测参数组合了,type传1的时候,只传商品名称能不能修改成功,id、名称、价格都传的时候能不能修改成功。接口是可以绕过前端发送的请求。接⼝⼀般来说有两种,⼀种是程序内部的接⼝,⼀种是系统对外的接⼝。

2025-08-08 12:34:48 502

原创 【性能测试】---测试工具篇(jmeter)

用户登录之后,服务器返回一个认证凭证,后续请求必须携带该凭证(如访问列表页),否则服务器会返回401/403未授权。法二:将文件路径复制一下,配置环境变量,打开cmd,输入jmeter就可以打开。JMeter需要手动实现这一过程,否则列表页请求会被视为“未登录用户”的请求。2、服务器⽆法继续处理,达到了瓶颈(代码写的不好,内存泄漏、硬件资源等。如果选择了永远,就必须要配置调度器,否则性能测试就是一个死循环。如果配置了调度器,配置了持续时间,就会在2s内不断发送请求。通过变量提取+断言机制。

2025-08-07 21:19:55 2296

原创 【性能测试】---概念篇

负载测试是通过逐步加载的⽅式来确定系统的处理能⼒,确定运动员在其⾝体状况保持正常的情况下所能举起的最⼤重量。举例1:某⼀系统1分钟处理1000个业务,那么TPS = 1000 / 60 = 16.7。从从客⼾端发起⼀个请求到服务器收到请求的整个过程中,各阶段都可能存在性能问题。每秒处理事务数,⽤于衡量系统在⼀定时间内能够处理的事务数。发出开始,到客⼾端接收到最后⼀个字节数据所消耗的时间。根据⼆⼋定律(80%的事务在20%的时间内完成)系统的某⼀功能被多个⽤⼾同时操作时的性能表现,

2025-08-06 10:01:48 696

原创 【web自动化测试】实战--论坛系统

web自动化测试就是对界面的测试。

2025-08-05 23:06:25 447

原创 【web自动化测试】---自动化测试常用函数

由于页面要加载的资源比较多,程序执行的速度很快,因此当代码脚本执行到该行代码的时候页面还没有渲染完成,因此找不到元素,当添加了time.sleep(3)之后,页面已经再3秒内加载完成,此时再去查找,该元素就可以找到了。应用场景:当我们使用自动化测试的时候,我们可能会点击页面上的某个元素,就会出现跳转,我们通过获取当前页面的标题和URL就可以知道当前的跳转结果是不是正确的。当自动化运行报错时,仅仅通过终端的错误提示给的有用信息是一定的,若能将当时的页面变化截图拍下来,能更好的定位问题并解决问题。

2025-08-02 16:36:56 1038

原创 【web自动化测试】---概念篇

驱动可以打开浏览器 就需要安装web驱动。

2025-08-01 11:55:58 466

原创 【论坛系统测试报告】

本次测试对象是一个web网页论坛系统,该系统拥有登录注册、论坛首页、查看帖子详情、发布帖子、编辑帖子、站内私信、个人主页管理等功能登录注册:包括登录功能和注册功能。用户可以输入正确的用户名和密码登录自己的账号,也可以输入用户名、昵称密码以及确认密码进行注册账号。论坛首页:论坛首页可显示不同板块下的帖子,并具备关键字搜索功能,用户可输入关键字精准定位目标内容。此外,首页支持网页背景切换,提供白天和夜间两种视觉模式。查看帖子详情:用户点击帖子标题即可进入帖子详情页。发布帖子。

2025-07-16 16:09:36 745

原创 【MySQL】数据库基础

mysql他是数据库服务的客户端mysqld他是数据库服务的服务器端mysql本质:基于C(mysql)S(mysqld)模式的一种网络服务MySQL是,一套给我提供数据存取的服务的网络程序数据库一般是指,在磁盘或者内存中存储的特定结构组织的数据---将来在磁盘上存储的一套数据库方案。数据库服务:---mysqld为什么不直接把数据存储在文件里,而是要以数据库的形式存储在文件里???因为一般的文件确实提供了数据的存储功能,但是文件并没有提供非常好的数据管理能力(用户角度)

2025-06-30 18:22:39 402

原创 【高并发服务器项目测试报告】

基于多线程和事件驱动的服务器。用于处理大量并发连接,实现高并发和高性能的网络服务的一个网络组件。使用主从Reactor实现连接的监听和读写操作的分离,并采用一个线程对应一个事件循环的方式避免了多线程下的线程安全问题。2、测试计划项目完成之后,我们本篇对我写的项目进行一下测试;1. 设计测试用例2. 根据测试用例进行对应的测试3. 编写自动化测试脚本。

2025-06-27 16:55:23 865

原创 【测试】测试分类

动态测试(dynamic testing),指的是实际运⾏被测程序,输⼊相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以判断⼀个测试属于动态测试还是静态的,唯⼀的标准就是看是否运⾏程序。来 实现重复的和⼀致的回归测试。但是,灰盒测试没有⽩盒测试详细和完整,⿊盒测试是覆盖产品范围最⼴的测试,因此灰盒测试基本是不能够替代⿊盒测试,否则需要很⼤的代价,设计⾮常多的⽤例。集成测试也称联合测试(联调)、组装测试,将程序模块采⽤适当的集成策略组装起来,对系统的⼝ 及集成后的功能进⾏正确性检测的测试⼯作。

2025-05-15 20:07:12 1235

原创 【测试】用例篇

笔试的时候编写测试用例,需要按照excel表格的方式来答题。(会涉及到测试用例的要素)面试的时候回答测试用例题,按照思维导图的方式一一道来即可(不会涉及到测试用例的要素)

2025-05-15 18:17:18 967

原创 【测试】BUG

什么是BUG???程序与规格说明之间的不匹配才是错误问题出现的版本、问题出现的环境、问题出现的步骤、预期结果、实际结果。

2025-05-14 20:45:29 406

原创 【测试】测试基础概念

用户需求:就是一句话,但是能不能真的实现,不一定软件需求:或者叫功能需求,该需求会详细描述开发⼈员必须实现的软件功能。软件需求是测试⼈员进⾏测试⼯作的基本依据。

2025-05-14 19:04:55 631

原创 【智能指针】

当资源对应的引用计数减为0时对应的资源才会被释放,因此资源1的释放取决于资源2当中的prev成员,而资源2的释放取决于资源1当中的next成员。而资源1当中的next成员的释放又取决于资源1,资源2当中的prev成员的释放又取决于资源2,于是这就变成了一个死循环,最终导致资源无法释放。1、现在main函数刚开始,node1和node2分别有一个shared_ptr指向,所有node1和node2的引用计数都是1.// 编译错误,拷贝构造被禁用。->next 也持有 node1,node1的引用计数+1。

2025-05-10 18:08:40 719

原创 数据结构---【二叉搜索树】

数据大于根 往右走 小于根往左走//1、判断树是否为空 为空创建节点 把数据放入//2、树不为空 首先判断 这个要插入的数据是否重复 重复直接返回,cur指向要插入数据的位置 perv指向要插入数据的父亲节点//3、找到位置//4、将父亲的左/右指向插入的数据节点(看num的值大于prev->data还是小于,大于就是right指向node,小于就是left。

2025-04-30 16:48:22 694

原创 数据结构--【堆】

放到最后一个 + 向上调整删除:顶部挪到最后一个 + 向下调整。

2025-04-26 17:35:42 507

原创 数据结构--【二叉树】

一个结构体就是一个树节点。

2025-04-25 18:07:12 909

原创 数据结构--【栈和队列】

特殊情况:判断队列是否为空 为空时要将头尾指针都指向newnode。eg:top=2,ps[0] ps[1] 刚好等于top的值。因为top初始化的时候是0,所以直接返回top即可。链式结构只要插入数据,就要重新向内存申请空间。使用指针指向队头,从头往后走,计数器++使用while循环 top--直接对top--操作即可。

2025-04-23 21:40:02 516 1

原创 【项目日记(三)】

SERVER服务器模块实现:1、Buffer模块:缓冲区模块提供的功能:存储数据,取出数据实现思想:1、实现缓冲区得有一块内存空间,采取vector<char>vector底层其实使用的就是一个线性的内存空间2、要素:a、默认的空间大小b、当前的读取数据数据位置c、当前的写入数据位置3、操作a、写入数据:当前写入位置指向哪里,就从哪里开始写如果后面剩余空间不够了1、考虑整体缓冲区空闲空间是否足够(因为读位置也会向后偏移,前面有可能会有空闲空间)

2025-04-21 14:23:20 1152

原创 【项目日记(二)】

我们的这个高并发服务器是可以支持各种不同的协议,我们进行协议支持的时候,socket有数据到来了,我们去接收数据的时候,缓冲区中的数据不足一条完整的请求,或者比一条完整的请求多。我们就得考虑将socket缓冲区中的数据进行处理,那么数据处理到一半的时候,就得考虑在下次数据到来的时候继续处理,因此,我们就需要给服务器中的每一个连接都设置一个协议处理的上下文,专门用来控制请求数据接收和处理的节奏的。2、上下文的类型不能固定,因为服务器支持的协议可能会不断增多,不同的协议,可能会有不同的上下文结构。

2025-04-16 14:50:54 810

原创 【项目日记(一)】-仿mudou库one thread oneloop式并发服务器实现

客户端处理思想:事件驱动模式事件驱动处理模式:谁触发了我就去处理谁。( 如何知道触发了)技术支撑点:I/O的多路复用 (多路转接技术)1、对所有客户端进行IO事件监控、哪个客户端触发了事件,就去处理谁处理:接收它的请求,进行业务处理,进行响应。优点:单线程操作,操作都是串行化的,思想简单,(不需要考虑进程或者线程间的通信问题,以及安全问题)缺点:所有的事件监控和业务处理都是在一个线程中完成的,因此很容易造成性能瓶颈适用场景:客户端数量较少,且业务处理快速简单的场景2、

2025-04-15 13:52:35 806

原创 【Linux高级IO(三)】Reactor

这种方式避免了服务器一直阻塞在等待新连接的操作上,服务器可以在等待新连接的同时处理其他任务,提高了资源利用率和程序的响应速度。函数可以被多个不同的监听套接字复用,只要这些套接字需要处理新的客户端连接。函数主要负责将套接字添加到事件监听机制中,并为不同的事件类型注册相应的回调函数,它专注于事件的管理和调度。回调函数,服务器可以高效地处理这些连接请求,而不会因为某个连接请求的处理而阻塞其他连接的接受。函数则专注于处理新的客户端连接,包括接受连接、创建新的套接字、设置新连接的属性等操作。

2025-04-08 21:32:11 662

原创 【Linux高级IO(二)】初识epoll

1、向上交付 2、将数据交付给tcp的接收缓冲区 3、查找rb_tree, 看fd,并且看有没有关心EPOLLIN或者EPOLLOUT 4、如果有,构建就绪节点,插入到就绪队列中。返回值是一个文件描述符,创建一个struct file结构体,指向epoll模型,返回的是在进程文件描述符表中的一个fd,通过这个fd就能找到epoll模型。这意味着tcp会向对方通告一个更大的窗口,从而从概率上让对方一次给我发送更多的数据!2、就绪队列(双链表)某个节点的事件就绪了,就将他链入就绪对列中。

2025-04-07 21:04:19 880

原创 【Linux高级IO(一)】理解五种IO模型

1、应用层read&write的时候,本质把数据从用户写给OS ---- 本质就是拷贝2、IO = 等待 + 拷贝(大部分时间在等待,等到有数据了才进行拷贝)要进行拷贝,必须先判断条件成立。这个条件就是读事件就绪,就是读缓冲区有足够的数据可以读 写事件就绪就是发送缓冲区中要有足够的空间什么叫做高效IO呢?单位时间内,IO过程中,等的比重越小,IO效率就越高!其实几乎所有提高IO效率的策略,本质就是让等的比重变小。

2025-04-01 19:22:33 959

原创 【Linux网络(七)】数据链路层

5、NAT技术。1、认识MAC地址Mac地址用来在同一个局域网中,区分特定的主机。1、MAC地址用来识别数据链路层中相连的节点;2、长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)3、, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突;也有些网卡支持用户配置mac地址).MAC地址 像身份证号(唯一标识设备硬件),IP地址 像邮寄地址(逻辑定位网络位置)

2025-03-27 20:09:50 1028

原创 【Linux网络(六)】网络层协议 IP协议

目录1、IP报头2、网段划分3、IP地址数量限制4、私有IP和公有IP5、路由IP协议的本质工作:提供一种能力,将数据跨网络从A主机送到B主机! 可是有能力不一定能确保每次都能成功。这就需要传输层提供策略和网络层提供能力,两者相结合,确保成功!8位服务类型:3位优先权字段(已经弃用), 4位TOS字段, 和1位保留字段(必须置为0). 4位TOS分别表示: 最小延时, 最大吞吐量, 最高可靠性, 最小成本. 这四者相互冲突, 只能选择一个. 对于ssh/telnet这样的应用程序, 最小延时比较重要; 对于

2025-03-27 10:57:56 1069

原创 【Linux网络(五)】传输层协议

客户端在三次握手中,认为只要把三次握手中第三次报文发出,就认为连接建立好了。万一第三次报文c已经发出了,可是s并没有收到,这时c就认为连接已经建立成功了,可是s却认为连接,没有建立成功。这时c向s发送一次数据,s就会向c发送携带RST字段的报文,告诉c连接建立失败,要重新建立连接。

2025-03-26 09:45:42 889

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除