自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学习无止境、创作无瓶颈

测试的那些事儿...

  • 博客(35)
  • 资源 (5)
  • 收藏
  • 关注

原创 自动化测试之httprunner框架hook函数实操

将上面的流程串起来之后发现,从kafak消息的发送、数据库的查询、文件读取/数据判断,到kafka消息监听断言整个流程能够完成上述的诉求。通过一个例子来解读hook函数的作用。在真实的业务场景下,我们在编写自动化cases的时候完全可以用纯代码的方式来实现我的复杂的业务场景。通过这种方式能更有效的认可自动化去替代人工操作。

2024-04-10 17:37:21 868 1

原创 测试自动化流程设计思路

基于当前互联网敏捷开发的现状,手工人力测试已不足以满足当前快速的版本迭代;以下将介绍一种可实现的自动化设计与使用。

2024-04-07 17:09:44 890

原创 Jmeter分布式压测不同线程场景及插件用法

1、jp@gc - Stepping Thread Group (deprecated)参数说明 This group will start:线程数,图中为100个线程 First wait for:第一个线程延迟多久启动,上图是0秒 Then start:初始加载多少个个线程,图中为0个 Next,add:下次加载多少个线程,图中为10个 Threads every:运行多久后再加载线程,图中为1s ...

2021-05-19 17:42:45 1685

原创 BeanShell实现复杂加解密场景接口

一、场景说明市面上存在一个商户想要使用某宝的接口,并想通过某宝对其授权查询订单的操作。这个时候某宝同意这个商户的接口查询要求,并且出示了以下的接口说明:1.接入某宝需要提供各种证明在某宝上面进行注册,注册完成后,某宝会给这个商户一个专属的商户号及密钥2.接入某宝后,调用某宝的接口时,需要将请求报文数据进行AES加密;需要对AES密钥进行RSA加密;需要对整体报文进行加签名验证商户信息3.接入某宝后,调用返回数据与2一致均为加密数据,需要对其进行验签后进行解密方可得到正确返回数据于是某商户

2021-05-18 19:23:28 419

原创 JMeter功能_CSV文件使用

一、csv文件使用场景介绍1、验证项目中多模块下的测试回归(测试用例自动验证)2、验证模块中同一接口(包括对内或对外)对不同ServiceCode的业务处理验证3、验证接口cases场景4、接口数据预处理二、关于csv文件的使用测试回归,全场景接口用例编写首先明确项目中,前期模块接口的用例编写规范用于文档的存储与下游业务人员的使用。在此基础上通过工具Jmeter来实现快速效率接口调用及验证,解决用例的编写与执行的串联。 结合用例编写习惯,保留表头标题将原中文更改为英文业务码,将

2021-05-10 20:46:57 8707 3

原创 Jmeter接口测试实例

一、关于Jmeter接口测试选择使用Jmeter的原因:与其他工具或者框架的比对 - Postman 和 HttpRunnerJmeter本身适合做性能压测,进行接口测试时能够在测试计划中编写测试场景并测试,也可以对特定场景进行性能压测。相对于其他工具来说可能会比较单一 Jmeter适合复杂的场景的接口测试,这个功能有点类似HttpRunner框架的自写功能方法。可以利用Java来实现某种场景下的接口功能验证。例如接口的加解密验签操作,支持jar包构建BeanShell语法支持的形式进行(对标Ht

2021-05-10 13:50:54 3868 14

原创 微服务框架 -- SpringCloud

SpringCloud官网解释为:spring Cloud为开发人员提供了快速构建分布式系统中的一些常见模式的工具(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导层选举、分布式会话、集群状态)。分布式系统的协调导致了锅炉板模式,使用Spring Cloud开发人员可以快速建立实现这些模式的服务和应用程序。它们在任何分布式环境中都能很好地工作,包括开发人员自...

2019-08-26 17:29:59 228

原创 RPC服务框架 -- Dubbo

一、模式比较我们知道Dubbo和SpringCloud是分布式RPC框架,那么先了解传统开发模式和分布式开发模式的一点知识。MVC设计模式:Model View Controller 模型-视图-控制器,首先区分MVC和三层架构区别,MVC是一种设计模式,不是分层结构,最典型的例子就是:JavaBean - JSP - Servlet,JavaBean作为数据库访问和操作解决业务逻辑实现,...

2019-08-26 11:29:10 401

转载 Redis数据类型实现原理

1、对象的类型与编码  Redis使用前面说的五大数据类型来表示键和值,每次在Redis数据库中创建一个键值对时,至少会创建两个对象,一个是键对象,一个是值对象,而Redis中的每个对象都是由 redisObject 结构来表示:typedefstructredisObject{//类型unsigned type:4;//编码u...

2019-08-23 10:13:15 174

原创 排序之冒泡排序、快速排序、归并排序、堆排序、二分查找

package test;import org.junit.Test;/** * @PackageName:test * @ClassName:Test2 * @Description: * @Author: ZQ * @Date:2019/08/19 10:21 */public class Test2 { /** * 快排排序:指定一个位置,将比该值...

2019-08-20 16:16:28 381 1

转载 MySQL锁机制

锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。本章我们着重讨论MySQL锁机制 的特点,常见的锁问题,以及解决My...

2019-08-19 09:46:28 317 1

原创 mysql分库分表、主从复制读写分离

mysql分库分表:场景:在进行设计数据库时,在用户量不大的情况下单表单库在承载最大2000/s以下的请求应该是没有问题的,单表磁盘存储200w已经就够多了。但是如果单表单库的情况下达到这么高的并发和存储对mysql数据库的性能有极大的挑战。当业务发展变大可以进行redis缓存解决一部分查请求并发减少mysql压力值,达到mysql阈值可以使用MQ进行削峰,但是这个不是长久的办法,如果业务量再...

2019-08-11 21:02:56 460

原创 分布式事务的解决方案介绍

前要:关于分布式事务问题当我们的在进行传统模块开发时,假如在一个系统里面包括员工,财务,请假模块。每当我们进行对这些模块进行操作时需要保证当我开启一个事务的时候到我把全部的模块走完没有错误的情况下提交,但是当其一插入时报错可以将事务进行回滚,这就是在传统项目下的事务操作。当在进行分布式系统的开发时,每个模块独立开发,也就意味着每个模块例如员工,财务,请假模块都分别分布在一台机器上...

2019-07-25 15:23:30 169

原创 redis和zookeeper分布式锁实现及比对

一、redis分布式锁官方支持的一种分布式锁,叫做RedLock算法。这个分布式锁有3个重要的考量点,互斥(只能有一个客户端获取锁),不能死锁,容错(大部分redis节点或者这个锁就可以加可以释放)!1、最普通的实现方式就是在redis里创建一个key算加锁 SET my:lock 随机值 NX PX 30000,这个命令就ok。这个的NX的意思就是只有key不存在的时候...

2019-07-25 12:59:14 6337 1

原创 Redis的高可用和高并发机制

一、高并发机制我们知道redis是基于单线程的,在单机模式下能承载的也就几万左右吧,所以怎么提高其在大数据下几十万的高并发请求,通过redis的主从架构和读写分离。1.主从复制redis主从复制的配置就不强调,主要看主从复制的原理及过程:在进行redis的主从复制的过程中,需要一台master主机作为管理员,去搭建多台slave从机。当slave从机试图启动时会向master主机发送一...

2019-07-23 20:20:33 370

原创 Redis之线程模型与过期策略

一、线程模型(单线程)redis是基于reactor模式开发的网络事件处理器,这个处理器叫做文件事件处理器(File event Handle),这个文件事件处理器是单线程的,采用IO多路复用机制来同时监听所有的socket,根据所有的socket上对应的事件选择对应的事件处理器处理。redis对客户端请求流程看图。单个客户端的连接及请求过程:首先,客户端与redis进行交互是基于...

2019-07-23 17:34:28 406

原创 ElasticSearch全文检索引擎相关认识

一、Es的分布式架构是怎么样的(如何实现分布式)我们知道ElasticSearch是一个分布式搜素引擎,底层依赖于lucene全文检索,其中它 的核心思想就是在多台机器上启动es进程实例来组成es集群。es中存储数据的基本单位是index索引,整个结构类似于index->type->mapping->document->field。我们完全可以类比mysql数据库来理解...

2019-07-22 17:21:45 272

原创 关于各消息中间件MQ的场景使用及各大问题的思想解决

首先围绕着为什么使用消息中间件,使用之后对自己的项目的一个好处是什么,为什么使用这种中间件,其他的中间件的优劣之处,使用之后如果消息中间件出现了一些问题你是怎么解决的。一、为什么在你的项目架构中使用到了消息中间件? -- 解耦,异步,削峰.解耦: 首先我们要知道没有使用中间件前我们的项目的框架是一个什么样子的,假设我们的项目中有模块分工,有ABCDEF...

2019-07-20 22:38:13 796

原创 蚂蚁云分布式架构+慕课前端项目+商家后台项目启动及展示

该项目已经托管到github平台,希望各位大佬给点意见帮修复下bug!地址:https://github.com/ituser-zq/itmayiedu-shopp-parent.git前提说明:1.该项目为学习分布式的结业项目,相关后台页面从开源电商项目云EC电商上扒下来的。2.该项目为前后台分离项目,前台模板使用的是慕课网开源项目,地址:https://github.com/u...

2019-07-19 13:40:21 797

原创 手撕JDK动态代理

来一个非常好理解的实例来写一个JDK动态代理:假设有一对象有“唱,跳,rap,打篮球”的功能,我们将该对象的功能抽象化为一个接口,假设我们现在需要对该对象打篮球之前和之后做一些动作,比如扭秧歌,掉带等等,这时就对该功能进行代理。一、首先来一个接口定义该对象有的功能:public interface MyService { /** *这里就演示一个...

2019-07-18 09:49:58 490

原创 SpringMVC设计原理及源码分析

用一张图分析MVC设计原理:①:DispatcherServlet是SpringMVC中的前端控制器(FrontController),负责接收Request并将Request转发给对应的处理组件.②:HanlerMapping是SpringMVC中完成url到Controller映射的组件.DispatcherServlet接收Request,然后从HandlerMapping...

2019-07-07 15:16:36 530

原创 简单分析Spring核心IOC和DI底层源码

一、 首先要了解Spring的核心编程思想,什么是AOP,OOP,BOP,IOC,DI?1.AOP:AspectOrientedProgramming(面向切面编程),所谓的面向切面即是将一个有规律的整体的代码,在开发的时候将其分开,运行的时候在将其合并,这样就可以在每一个模块间做其他的事情,面向切面也就是面向规则。2.OOP:ObjectOrientedProgramming(面向对象编...

2019-07-05 17:35:28 1286

原创 Redis简介、Linux安装、主从复制配置、哨兵机制配置

Redis简介Redis是非关系型数据库,该数据库是为了减轻对数据库的访问压力。一般的应用场所比如:短信验证码的时间有效期、关于在服务器使用集群时候的保证session共享的解决方案、解决使用集群带来的幂等性的问题使用全局id防止重复提交、大量静态数据的存储。Redis的5种基本类型:String、List、Set、Sorted Set、Hash --一般使用String类型,因为在互...

2019-03-31 21:14:28 479

原创 Windows上启动Mycat注意事项之错误: 找不到或无法加载主类 Files\mycat

问题缘由:当我在测试使用mycat进行mysql数据库的读写分离测试时发现出现以下情况:可以发现,使用cmd启动时报错了。问题:会发现我将mycat的启动文件放到了D:\Program Files\mycat\bin该目录下,会发现名为Program Files的文件夹中间带空格,而报错的地方无法加载Files\mycat文件,说明mycat在读配置文件启动时没有将空格进行处理。...

2019-03-27 12:27:41 2364 2

原创 redis客户端RedisDesktopManager连接常见问题

RedisDesktopManager是一款连接redis数据库的客户端。背景:我是在自己机器上装的redis,使用的是虚拟机,系统是linux 版本是centeros-6.4在使用这个连接redis的时候,发现连接不上。第一步:在自己的本机外面试下能不能连接上虚拟机,打开cmd,使用 ping 192.168.232.132 (192.168.232.132这个为虚拟机的ip地址...

2019-03-27 11:32:43 1942

原创 SpringBoot快速入门

1.创建一个Maven工程,注意类型为Jar工程项目2.Pom.xml文件引入依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <ve...

2019-03-26 23:07:05 195

转载 配置mysql主从服务器(转)

教程开始:一、安装MySQL说明:在两台MySQL服务器192.168.21.169和192.168.21.168上分别进行如下操作,安装MySQL 5.5.22二、配置MySQL主服务器(192.168.21.169)mysql-uroot-p#进入MySQL控制台createdatabase osyunweidb; #建立数据库osyunweidbinse...

2019-03-24 23:12:48 283

原创 Java虚拟机内存结构、相关参数调优及GC算法分析

该内容是参照书籍《深入理解Java虚拟机》

2019-03-24 00:29:51 591

原创 Java网络编程理解及Netty框架的快速使用理解

分布式、消息队列,中间件的大趋势需要我们对网络编程的理解更加的深厚。那么我们知道如果需要实现在网络上的通讯那么肯定需要连接然后发送数据。那么我们在需要访问服务器的时候是通过ip地址加端口号来进行访问的,如果使用的是域名来进行访问的话是通过DNS来解析域名实现连接。而在程序中socket使用的协议分为TCP和UDP协议。TCP协议:面向连接的协议,可靠的协议,需要三次握手才可以通讯(在HTTP底层...

2019-03-22 22:56:16 419

原创 Java设计模式总纲及面试必问的几种模式

Java设计模式类型总结:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式------------------...

2019-03-21 22:03:43 625

转载 IDEA中对Git的常规操作(合并,提交,新建分支,更新)

工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下:假设小组中有两个人,组长小张,组员小袁场景一:小张创建项目并提交到远程Git仓库场景二:小袁从远程Git仓库上获取项目源码场景三:小袁修改了部分源码,提交到远程仓库场景四:小张从远程仓库获取小袁的提交场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发场景六:小袁把分支提交到远程Git仓库场景七...

2019-03-20 22:07:14 205

原创 Linux命令大全

一、文件系统的管理tips:输入命令的时候要常用tab键来补全ls 查看目录信息 ( ls / ) ls -l 等价于 llpwd 查看当前所处的路径 cd 切换目录 (cd /) ,如果不带参数则切换到用户主目录 ~mkdir 创建文件夹mkdir -p a/b/c 如果要创建的文件夹的父目录不存在,则自动创建rmdi...

2019-03-20 22:03:55 224

原创 Java之多线程知识理解(浅谈)

多线程之快速入门 线程与进程的区别简单理解:进程就是应用程序(每个正在系统上运行的程序都是一个进程),每个进程包括多个线程。而线程是一组指令的集合,可以在程序里独立执行,一般把线程理解为轻量级的进程。具体化理解: 在一台电脑里面小明发现有多个APP,想要边用网易云听歌边用idea写代码还想边用迅雷下载学习资料,然后使用迅雷发现有以前的多个未完成的下载的任务于是开始多个下载。在该案...

2019-03-20 14:23:37 428

原创 Java之2019全新学习路线

JAVA语言核心 Java核心语法 Java8新特性 Java9新特性 NIO(同步非阻塞) Java数据结构 JavaWeb前后端交互 HTML基础和CSS JavaScript与jQuery XML与XML解析 HTTP协议 Tomcat服务器 服务器组件Servlet JSP EL表达式 JSTL 会话控制Session和Cookie 服务器Fi...

2019-03-17 13:58:47 611

原创 java学习笔记之java8新特性

速度更快(针对Java底层HashMap的改进的理解) 在java8以前,回顾一下HashMap的底层数据结构的使用原理:hashmap是以entry为主体的数组,entry是hashmap的基本单位。原始的entry实体对象在创建后在内存中的分布是无序的,当创建一个实例对象时就需要对已有的对象进行equals比对效率低下于是使用到了数组型存储,在C语言的数据结构的介绍中hash结...

2019-03-17 00:26:38 298

CMMI3标准文档模板(全套全)

CMMI全套资源标准模板,第一章到第21章全面文档及模板

2020-08-14

软件设计师历年全部资料.txt

本人强力推荐的10天强刷必过中级软件设计师,亲身测试有效。

2019-07-07

50个PCB应用电路实例

该文档记录了50个使用51单片机来实现的PCB应用电路的实例练习题

2019-03-25

Linux操作大全

本文档用于描述和收集了大量程序员在Linux系统需要使用到的大部分命令!

2019-03-17

Oracle数据库总结

该文章简介了作者在学习数据库Oracle中的全过程的总结!

2019-03-17

空空如也

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

TA关注的人

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