自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用例执行链路伪代码业务流程整理

前几集,已经完成了测试用例接口开发的部分内容以及Jmeter二次开发流程的拆解,环境初始化的工具类封装。那么这一集我们将测试用例接口发开的最重要的部分execute进行伪代码分析,对他进行流程整理。我们的需求:开发用例执行HTTP接口,controller->service->mapper那么话不多说,我们就开始吧。查询用例详情初始化测试报告判断压测类型(JMX、SIMPLE)初始化测试引擎组装测试计划执行压测发送压测结果明细压测完成清理数据通知压测结束。

2024-07-20 13:28:23 98

原创 Jmeter二次开发流程拆解与环境初始化工具类封装

从之前几集里,我们完成了测试用例接口与测试模块接口的开发以及Jmeter二次开发的Demo。这一集我们将会正式对Jmeter进行二次开发。

2024-07-20 12:21:37 236

原创 用例模块管理接口开发实战

在上一集,我们已经完成了测试用例接口的开发,那么我们继续从E-R图出发。接下来,我们就要着手压测模块的开发了。那么话不多说,我们开始代码的设计。

2024-07-19 23:42:08 566

原创 测试用例接口开发实战

在上一集,我们也大概完成了对Jmeter的二次开发的Demo版本的了解,我们接下来就要基于这个Demo来将Jmeter压测进行平台化。那么这一集,我们讲一讲测试用例接口开发实战。

2024-07-19 23:01:23 402

原创 Jmeter二次开发Demo

在上一集,我们已经完成了JMX脚本的分析,大致了解了JMX脚本的基本元素。那么在这一集,我们将会介绍一下Jmeter二次开发的Demo。

2024-07-16 20:12:11 1138

原创 JMX脚本组成分析

在前两集,我们已经完成了项目与环境管理开发的实战。通过观察E-R图,我们下一步的内容就是要去完成压测模块的内容,那么在完成压测模块的内容之前,我们要计划一下如何压测,以及要从哪个角度切入。我计划压测引擎支持两种测试计划录入。一个是本地上传JMX脚本,另一个是在线创建测试计划。其中,我们应该好好研究一下本地上传JMX脚本应该如何进行。研究以上内容,我们应该先从JMX脚本的组成出发,那么我们现在就开始对JMX脚本的组成进行分析。

2024-07-14 13:36:30 2298

原创 环境管理开发实战

在上一集我们完成了项目管理开发实战,那么我们可以看到下面的E-R图和标题,我们可以知道,今天我们要完成环境管理开发实战!可以看到一个项目当中是可以存在n个环境的,所以今天的环境管理开发实战,有的参数会和项目的字段有关系哦!

2024-07-14 12:07:07 2138

原创 项目管理开发实战

在前两集,我们已经完成了SpringBoot3.X + MybatisPlus逆向工程和SpringBeanUtil工具类封装的工作。这一集我们将完成项目管理的开发。

2024-07-12 17:46:46 1793

原创 对象转换传输规范SpringBeanUtil工具类封装

上一集我们已经完成了SpringBoot3.X + MybatisPlus的逆向工程,这一集我们将会完成对象转换传输规范SpringBeanUtil工具类的封装。在讲主要内容的之前,我们将会补充一些小知识。

2024-07-11 16:49:30 2652

原创 新版SpringBoot3.X+MybatisPlus逆向工程实战

通过前两篇博文的学习,我相信你已经完成了对数据库的表的创建。这一篇博文,我们将会进行新版SpringBoot3.X + MybatisPlus的逆向工程实战。

2024-07-11 13:06:15 2151

原创 压测引擎数据库设计(下)

上一篇博文讲述了我们压测引擎数据库设计的上半部分的内容,这一篇博文将会把压测引擎数据库设计最后的内容也讲完。上一篇博文已经把下图的“项目”、“环境”和“压测模块”三张表已经设计完成,这一篇博文将会继续完成“压测用例”、“测试报告”和“测试报告明细”这三张表的设计。

2024-07-11 12:31:21 2924

原创 压测引擎数据库设计(上)

在当今快速发展的互联网时代,软件质量保证和性能测试变得尤为重要。自动化测试平台,提供了一套完整的解决方案,以确保软件产品在发布前能够满足性能和稳定性的要求。本文将深入探讨滴云自动化测试平台中的压测引擎数据库设计,分析其结构、功能以及如何支持自动化测试的各个环节。

2024-07-07 17:59:50 3314

原创 技术难点思考SpringBoot如何集成Jmeter开发

Java的Runtime类提供了与操作系统交互的接口,允许Java应用程序执行系统命令、启动外部应用程序或脚本,并与之进行交互。启动和管理进程:使用Runtime类的exec()方法启动JMeter的命令行工具,进行压力测试。访问系统资源:通过Runtime类的方法,如totalMemory()和freeMemory(),监控Java虚拟机的内存使用情况。执行特定操作。

2024-07-07 17:24:08 2889

原创 浅识Jmeter与浅谈互联网公司高并发业务压测流程痛点

JMeter 是 Apache 软件基金会开发的一个开源软件,用于负载测试和性能测试。它被设计用来模拟多种请求到服务器、网络或对象,以测试其性能。JMeter 适用于开发人员、测试工程师和系统管理员,帮助他们了解应用程序在不同负载下的表现,从而优化性能和稳定性。运行环境:需要安装JDK8 以上。

2024-07-06 16:27:34 3462

原创 测试引擎模拟接口实战

在上一章的内容中,我简单介绍了整个微服务的各个子模块,还封装了一些工具类。当然,若还没完成上次内容的也可以点击右侧的传送门------

2024-07-04 21:45:34 3125

原创 Spring Boot整合Redis

把对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为对象的过程称为对象的反序列化。

2024-05-29 17:32:16 7744 2

原创 Spring Boot整合MyBatis

1.繁琐的编程模型需要手动管理数据库连接的创建、获取和关闭。需要手动创建和关闭Statement/PreparedStatement对象。需要手动处理查询结果集ResultSet的遍历和数据提取。2.低层次的抽象JDBC API提供的是底层的数据库访问接口,开发者需要关注很多细节性的问题,如SQL语句的拼装、结果集的映射等。开发效率较低,可维护性较差。3. 缺乏高级功能支持JDBC无法提供诸如事务管理、一级缓存、延迟加载等高级功能。需要开发者自行实现这些功能,增加开发难度。

2024-05-26 21:56:02 8602

原创 初识Spring Boot

互联网公司在开发Spring Boot项目时,通常会有一套规范的目录文件结构,这提高了代码的可读性和可维护性、实现了关注点分离、提升项目可扩展性。在初学Spring Boot时,经常遇到项目无法启动的奇怪现象,很有可能时应用启动的位置,即Application的启动类位置有问题。SpringBoot是建立在Spring框架之上的一个项目,它的目标是简化Spring应用程序的初始搭建以及开发过程。在实际的工作当中,我们通常会选择第二种,若项目庞大,漏掉了相关的配置扫描包,出现了问题是极其难以排查的。

2024-05-26 00:21:05 8455

原创 AOP编程

它通过将横切关注点从业务逻辑中解耦,不仅提升了代码的整洁度和可维护性,还极大地增强了代码的可复用性和扩展性。随着企业应用的复杂性不断增加,AOP提供了一种优雅且高效的解决方案,使得开发者能够更加专注于解决业务问题,而不是被底层的通用问题所困扰。AOP,提供了一种机制,可以将一些横切系统中多个模块的共同逻辑(如日志记录、事务管理、安全控制等)从代码中分离出来,以提高模块的内聚性和可重用性。AOP,面向切面编程,一种编程范式,指导开发者如何组织程序结构。OOP,面向对象编程,一种编程思想。

2024-05-25 14:34:32 8409 1

原创 IOC控制反转

通过Spring的IOC容器,我们不需要在 BusinessService 中创建 Logger 的实例,而是通过配置类 AppConfig 来告诉Spring如何创建这些Bean,以及它们之间的依赖关系。在传统的编程模式中,组件之间的依赖关系是由组件自身在内部创建和维护的。而在控制反转模式中,这种依赖关系由外部容器(如Spring框架)来管理,组件不再负责自己的依赖,而是通过外部容器来注入所需的依赖。Spring框架是实现控制反转的典型例子,它提供了一个强大的I0C容器来管理组件的生命周期和依赖关系。

2024-05-24 00:06:57 8695 1

原创 初识Spring

Spring 是一个开源的 Java 应用框架,它提供了一套全面的解决方案,用于开发企业级 Java 应用程序。Spring 框架旨在简化 Java 开发,并提供了一种灵活且非侵入式的编程模型,帮助开发人员构建可扩展、模块化和可维护的应用程序。

2024-05-23 22:42:11 8279 2

原创 子模块介绍,开发规范说明和工具类封装

上一章我们已经创建了整个聚合工程该聚合工程有以下子模块我们来一一介绍。

2024-05-13 16:21:33 7711

原创 聚合工程搭建、工程依赖导入

上一章讲了自动化云测平台的一些环境的准备如果还未完成云服务器的环境搭建和本地环境的搭建,请点击左侧 ->那么正式开始这一章的内容。

2024-05-11 22:36:48 7490

原创 项目环境准备

在正式开始项目的环境准备前,先简单介绍这个项目。先简单介绍一下该项目的技术栈。

2024-05-11 21:57:43 7717

原创 Redis ttl与key过期策略

为了保持代码的简洁性和性能的高效性,Redis采用了一种简单的过期策略,即在对键进行访问时检查其过期时间,并在需要时进行过期处理。惰性删除也就是说,假设有一个key已经到了过期的时间,但是暂时还没删除它,key还存在,后面一次访问,正好用到了这个key,于是这次访问就会让redis服务器触发删除key的操作,同时返回一个nil。当当前时间轮的指针转到下一级时间轮的槽位时,将下一级时间轮中对应的槽位的任务触发。定时任务添加:当添加一个定时任务时,计算任务的触发时间与当前时间的时间差,将任务放入相应的槽位中。

2024-04-06 19:47:18 7972

原创 浅谈Redis和一些指令

浅浅谈一谈Redis的客户端。

2024-04-06 19:26:05 7769

原创 Redis特性与应用场景

Redis是一个在内存中存储数据的中间件,用于作为数据库,用于作为数据缓存,在分布式系统中能够发挥重要作用。

2024-03-10 00:27:58 7882

原创 浅谈Redis和分布式系统

1.单机架构(应用程序 + 数据库服务器)2.数据库和应用分离应用程序和数据库服务器 分别放到不同的主机上部署。3.引入负载均衡,应用服务去 => 集群通过负载均衡器,把请求均匀的分发给集群中的每个服务器。当集群某一个主机挂了,其他的主机依然可以承担服务,提高了整个系统的可用性。4.引入数据库读写分离,数据库主从结构一个数据库节点作为主节点,其他的数据库节点作为从节点。主节点负责写数据,从节点负责读数据。主节点需要把修改后的数据同步给从节点。5.引入缓存,冷热数据分离。

2024-03-10 00:04:40 8247

原创 Linux指令(二)

今天继续来学习Linux的指令。

2024-01-16 16:49:35 6052

原创 Linux指令(一)

今天来学习Linux的一些基本的指令。今天要学习的指令有ls,pwd,mkdir,cd,touch,rm等。

2024-01-12 22:00:46 6011

原创 @MultipartConfig注解

在学习Javaweb的Servlet文件上传和下载的过程中,我们会遇到一个特殊的注解---@MultipartConfig。

2023-10-10 16:47:03 7009

原创 HTML入门

HTML是超文本标记语言(Hypertext Markup Language)的缩写。它是一种用来创建网页和其他在线文档的标记语言。HTML使用一些特定的标签(tag)来告诉浏览器如何显示文本、图像、音频和视频等内容。HTML标签通常由尖括号包围,例如,其中tagname是标签的名称。标签可以有属性,属性用来提供有关标签的额外信息,例如中的src属性指定图像文件的URL。HTML文档由一系列嵌套的标签组成,这些标签形成了一个标签树,也称为DOM(文档对象模型)树。

2023-06-25 16:22:29 448

原创 排序算法合集(2)

上一篇文章,我们已经讲完了冒泡排序,选择排序,插入排序和希尔排序。那么我们今天来讲一下堆排序,快速排序和归并排序吧~

2023-05-04 13:15:35 1397 1

原创 排序算法合集(1)

今天我们正式开始讲述算法中的排序。排序算法是我们十分重要的算法,为什么呢?排序是在各种情况下都非常重要的,无论是在人类社会还是在计算机科学中。以下是一些排序的重要性:数据分析:在数据分析中,对数据进行排序可以帮助我们更好地理解数据。例如,对销售数据按照时间顺序进行排序可以帮助我们了解产品销售的趋势。搜索算法:在搜索算法中,排序可以帮助我们快速地找到需要的信息。例如,在搜索引擎中,对搜索结果按照相关性进行排序可以使用户更容易找到他们需要的信息。

2023-04-19 18:08:04 4775 1

原创 二叉树(OJ)

我们来看一下题目的具体要求:既然我们都学了二叉树了,我们就应该学会如何去递归。分析一下:我们如果去用遍历的思路去做,肯定是可以做出来的,遍历嘛,先将第一次出现的数给存起来作为一个key,那么遍历整个二叉树,如果出现了一个不同于这个key的数值,那么我们就说这个二叉树不是单值二叉树,如果到最后访问完整个二叉树都没有出现一个不同于这个key的值,那么我们就可以说这个二叉树是一个单值二叉树。但是看了一下这个思路,一个个遍历是不是显得十分的龊啊?

2023-04-11 20:12:13 753

原创 梦中情树---二叉树

今天就来讲树的一种特殊结构---二叉树当然先来给大家看一张图片看到这棵树了吗?它从根开始,每个结点都有且仅有两个分支,这个结构就是我们的二叉树。其实我们上次讲的堆也可以看成一棵二叉树,但是人家的本质是一个数组。我今天所讲的二叉树就是以链式的结构来展开。再看链式的二叉树的实现前,还是先来回顾一下二叉树的概念:1.空树。2.非空树:有左右两棵子树和根节点所形成。

2023-04-11 19:21:13 6002

原创 堆来咯!!!

int size;//堆当前的有效元素个数//堆的容量}Heap;由于堆是一个数组,所以我们需要用顺序表的形式动态的管理它。所以在这个结构体里头我们定义了该结构体数据类型的数组用来存储数据,size用于展示当前堆的有效元素个数,capacity用于展示当前堆的容量。

2023-04-10 13:35:19 4640

原创 栈与队列(OJ)

那么就到了最后一步了,我们遍历完整个字符串,发现过程中没有发现任何的不匹配问题,也就是我们上面分析的三种情况的二、三种情况,那么我们还需要判断我们分析的第一种情况,第一种情况只需要检查一下我们的栈是否为空即可,如果我们的栈不是空的,那么就完美了,我们直接返回true,如果不是,我们就返回false。假设我们的栈里面一次入栈了1-7的数字,我们需要一样按顺序去出栈,那么我们第一个数字就必须输出1,那么我们就必须如下图,先把1以上的其他数字入另一个栈。

2023-04-03 22:03:54 1274 3

原创 顺序栈和非循环队列来咯!!!

通过上几篇文章,我们一直在学习我们的线性表,我们学习了我们的顺序表,链表等相关线性表,那么我们今天来学习一下栈和队列这两种线性表叭!当然我们今天只介绍我们的顺序栈和非循环的队列。可能有小伙伴想问了:为什么不介绍链栈,共享栈,循环队列呢?原因很简单啊~我不会!当然,过几天应该会学会,过几天的事过几天再说。马上就进入我们的顺序栈和非循环队列当中吧。

2023-03-23 08:53:52 796 3

原创 带头循环双向链表来咯!!!

继上文,我们了解了结构最简单的一种链表---单链表那么我们今天就来讲解一下结构最复杂的链表---带头循环双向链表。当然今天的链表也许看起来结构十分复杂,对比单链表看上去难上很多,但实际上,越是结构复杂,越是操作起来简单。那么话不多说,马上就开始我们的带头循环双向链表的讲解吧那么还是先来了解一下各种特点的区别吧~

2023-03-14 16:42:03 839 4

空空如也

空空如也

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

TA关注的人

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