自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 sql优化——慢sql定位和优化

一般有3个思考方向MySQL是一个经过互联网大厂验证过的生产级别的成熟数据库,对于Mysql数据库本身的优化,一般是通过Mysql中的配置文件my.cnf来完成的,比如。Mysql5.7版本默认的最大连接数是151个,这个值可以在my.cnf中修改。binlog日志,默认是不开启缓存池bufferpoll的默认大小配置等。由于这些配置一般都和用户安装的硬件环境以及使用场景有关系,因此这些配置官方只会提供一个默认值,具体情况还得由使用者来修改。关于配置项的修改,需要关注两个方面。

2024-04-20 08:07:12 17

转载 性能测试 TPS 上不去问题分析,思路整理

性能测试 TPS 上不去问题分析,思路整理。

2024-04-19 23:45:05 13

转载 JVM配置测试

QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。初始堆值和最大堆内存内存越大,吞吐量就越高。最好使用并行收集器,因为并行收集器速度比串行吞吐量高,速度快。设置堆内存新生代的比例和老年代的比例最好为1:2或者1:3。减少GC对老年代的回收。

2024-04-19 23:11:15 12

原创 性能测试流程(全)

(Average Transaction Response Time, ART): 即用户发起一个事务,到事务被完全处理完毕,所需的平均时间,通常以秒为单位。(Think Time, TT): 用户在发起连续两个事务之间的平均等待/思考时间。这两个参数对于理解用户的行为模式至关重要。用户并不会连续不断地发送请求;他们会在两个请求之间有一个思考期或等待期。举例说明:假设一个应用程序的TPS约等于5.8,即每秒可以处理大约5.8个事务。平均事务响应时间为2秒,用户思考时间为8秒。

2024-04-19 22:11:14 499

原创 性能分析与调优

自底向上:通过监控硬件及操作系统性能指标(cpu、内存、磁盘、网络等硬件资源的性能指标)来分析性能问题(配置、程序问题)自顶向下:通过生成负载来观察被测试的系统性能,比如响应时间、吞吐量;然后从请求点由外及里一层层分析,从而找到性能问题所在。

2024-04-18 16:19:00 1035

原创 内存相关知识(新)

内存层次结构:内存层次结构是一种层次化的存储设备结构,它包括寄存器、缓存、主存和辅助存储器。每一层次的存储设备都有不同的速度、容量和成本。内存单元:内存被划分为一系列连续的内存单元,每个单元都有一个唯一的地址。每个内存单元通常存储一个字节的数据。地址空间:地址空间是由内存单元组成的线性地址范围,用于寻址和访问数据。地址空间可以分为物理地址和逻辑地址。物理地址:物理地址是内存中实际的硬件地址,用于访问和存储数据。物理地址是由内存控制器和内存映射电路生成的,并用于在内存中定位特定的数据单元。

2024-04-17 21:47:22 604

原创 性能监控汇总

要进行性能分析,需要在性能脚本运行时,对服务器进行性能监控常用的性能监控命令,当然也可以通过性能平台来进行查看。

2024-04-16 17:50:00 761

原创 性能测试汇总一

用户定义的变量: 配置原件中 找到 用户定义的变量;测试计划这个元件中找到变量的名称: 英文字母、数字、下划线 (java变量的命名规则)变量引用: ${变量的名称}前置处理器 > 用户参数用户定义的变量 vs 用户参数用户定义的变量, 在启动时候获取一次值,在运行过程中不会再动态获取。所以在运行过程中值永远不会变的。用户参数, 在启动时候会获取值,在运行过程中也会动态获取值。所以在运行过程 中,用户参数的值是可能发生变化的。用户定义的变量,相当于 “全局变量”, 可以跨线程组被引用。

2024-04-15 17:51:22 1028

原创 性能测试-数据库优化二(SQL的优化、数据库拆表、分表分区,读写分离、redis、数据库监控)

数据库优化重点: type类型,rows行数,extra。

2024-04-12 09:59:33 690

原创 性能测试-数据库优化一(配置参数)

这些日志、监控平台,是记录了sql和sql的执行时长,所以不管你有没有开启慢sql的开关,日志中都会有sql和sql的执行时长。max_connections 最大连接数,现在是151. centos系统,默认情况下,一个进程运行打开的进程+线程 数量默认是1024,数据库的最大连接数大概是这个值的1/5,也就是说,在不修改操作系统的参数配置 情况下,数据库的最大连接池,大概可以是200.数据库对磁盘的性能要求比较到,因为对数据库的操作,需要磁盘的io,而这个慢sql日志一旦开启,就 要使用磁盘的写操作。

2024-04-11 10:02:45 683

原创 linux之shell命令

bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

2024-04-08 21:22:35 976

原创 性能分析-数据库(安装、索引、sql、执行过程)与磁盘知识(读、写、同时读写、内存速度测试)

数据库,其实是数据库管理系统dbms。数据库管理系统,数据库管理系统,管理数据。数据:一切可以用计算书来存储都是数据。数据对于一个项目是非常非常重要的,所以对数据的保存、数据的稳定性、数据的安全性要求是比较 高的。如果数据存在磁盘上,希望磁盘的稳定性就要求比较高。----所以,数据库的数据存的磁盘,一般选择机 械硬盘。关系型数据库:库和表 库是数据的一个整体。mysql数据库,库名称,就是一个文件夹名称。一个库就是一个文件夹。表用二维表的方式栅格化数据,进行存储。

2024-04-08 20:55:43 915

原创 linux中常用的查看日志命令

假设我们有一个名为。

2024-04-07 21:43:33 467

原创 linux常用命令

输出可能包含CPU型号、核心数、缓存大小等信息。

2024-04-07 21:29:09 221

原创 常用的Shell 命令

【代码】常用的Shell 命令。

2024-04-07 21:05:58 134

原创 性能分析-docker知识(安装、常用命令、监控)

docker是一个做系统虚拟化的软件,跟vmware类似,虚拟出来的也是操作系统。我们现在在企业中, 使用docker虚拟出来的系统,大多都是linux系统。docker镜像image:就是虚拟一个docker容器需要的操作系统、服务的依赖、服务包,打包成的一个文 件。docker容器 container:就是用docker软件虚拟出来的一个linux操作系统。docker仓库:就是管理镜像的地方。docker的操作系统是一个不完整的操作系统。部署项目的操作系统,有很多操作系统的功能是不需要的。

2024-04-07 18:55:10 514

原创 性能分析-nginx(tomcat、nginx【配置】、负载均衡)

像kyj项目请求直接对接 tomcat,tomcat的连接池就会直接影响“并发用户数”如果这种情况下做性能测试的时候,并发用户数不能满足要求,可以加大线程池的配置。如:项目性能测试发现项目所在机器,资源利用率不高,系统的整体负载不高。-------服务器的资源没有得到足够利用。适当调大线程池的大小,也要去调整堆栈大小,两个一起搭配,才可能让整个tomcat的性能提升。

2024-04-07 13:44:09 457

原创 性能分析--内存知识(tomcat、内存溢出、GC、堆栈)

列表的数据结构,索引位置,告诉你某个数据在列表的中的某个位置。列表,插入或删除一个数据, 在它的索引位置之后的所有数据,都得移动。列表数据类型,在进行数据 插入、删除是比较慢的。链表插入数据、删除数据,速度比 列表要快,但是,查询或获取数据的速度,要比 列表要慢。链表: 数据之间相互记录,构成一个数据链。

2024-04-06 16:30:25 378

原创 性能分析-CPU知识(系统负载,top、arthas、IO、监控平台)

查看cpu信息: top、lscpu cat /proc/cpuinfo。选择: 架构、核、主频。

2024-04-05 16:21:17 529

原创 性能分析命令(进程:ps、top;性能监控命令(cpu,内存,io,进程):vmstat、mpstat 、pidstat ;网络监控:netstat 、磁盘监控: iostat ;sar,ss)

进程列表中,是根据cpu的使用率从高到低排序当发现 系统很卡的时候,就用top来看 系统负载比较高。

2024-04-05 15:07:56 296

转载 安利一款简单好用的 Mockoon 工具,让 Mock 上手如此简单!

场景2:涉及到第三方接口,比如支付接口,需要付费对接第三方,在测试环境的时候很多都没有对接好,也需要Mock模拟一个支付成功或者失败的接口,然其他的接口可以跑通。场景1:上游现在接口没有开发完,想要跑通整个业务流程,就可以Mock假的接口把流程调通 【Mock模拟上游接口的响应结果,给下游接口提取从而执行接口测试】上个样例的请求消息是最简单的get请求,并且没有额外的请求参数和请求头部。④配置详细的接口地址: 自己编辑详细的接口地址,这个地址会跟公共接口地址进行拼接,组成完整的接口地址。

2024-04-04 20:03:45 13

原创 MYSQL

练习地址(https://www.nowcoder.com/exam/oj?

2024-04-04 15:23:49 1792

原创 Jenkins 持续集成 【CICD、自动化】

持续集成是一种开发实践,它倡导团队成员频繁的集成他们的工作,每次集成都通过自动化构建(包括编译、构建、打包、部署、自动化测试)来验证,从而尽快地发现集成中的错误。让产品可以快速迭代,同时还能保持高质量。Jenkins是基于Java开发的持续集成工具,开源免费,测试常用的场景: 使用Jenkins实现自动化的持续集成测试,达到无人值守测试的境界。【释放人力 7 *24】

2024-04-04 15:23:04 1375

原创 Jenkins配置出现Failed to send out e-mail javax.net.ssl.SSLHandshakeException: Server chose TLSv1.2, b...

网上查了资料觉得可能是jdk版本不兼容TLS版本,但是随着在再了解,发现更多是jdk1.7和1.6的不兼容。而我用的是jdk1.8,应该不是这个原因。做自动化测试时,打算使用jenkins发送邮件,在安装插件Email Extension Plugin后,进行配置的途中,出现标题中报错信息。结果:经过两次尝试顺利解决该问题,希望给大家提供一个思路。这次出现的报错信息:Failed to send out e-mail。不勾选SSL协议,尝试发送短信。(注意有两个地方需要取消勾选)成功解决报错的问题。

2024-04-04 14:42:32 278

原创 接口加密和图片验证码处理

消息摘要算法的主要特征是加密过程不需要密钥,并且理论上经过加密的数据无法被解密,加密之后的密文长度是固定的,比较容易被破解掉,简单的密码很容易破解。主要是为了校验数据在传输过程中是否被修改,应用场景:密码加密、文件校验 【哈希算法】

2024-04-02 17:17:36 577

原创 Python+requests+Pytest+logging+allure+pymysql框架详解

请求模块:将处理好的数据通过requests模块发送请求,在发送请求之前判断是否含有前置sql,有就调用前置sql函数并进行参数替换检查和参数替换操作。提取响应结果:通过excel文件读取的内容判断是否需要提取响应结果,并提取响应结果到环境变量。再查通过需要替换的变量名在环境变量中查询对应的值。提取预期结果-----》读取的数据进行序列化操作。先判断excel文件读取的数据是否需要断言,检查excel读取的内容是否需要替换变量,需要替换变量,先提取需要替换的变量名,替换变量的值并返回。

2024-04-02 12:14:21 1827

原创 支付接口和数据库断言及封装

请求方法: post请求地址:http://shop.lemonban.com:8107/p/order/pay请求参数:{“payType”:3,“orderNumbers”:“1733308182027309056”}请求头部: {“Content-Type”:“application/json”,“Authorization”: “bearer12fa7db3-1270-4ab1-8d48-ba1b7dccc4bb”}响应结果: weixin://wxpay/bizpayurl?

2024-04-01 16:51:23 1010

原创 注册接口和前置SQL及数据生成及封装

公用之前的提取的函数: 如果是json就用jsonpath提取,如果是text就或文本 【类似我们的响应断言的思路】faker.python下有更多的生成随机的方法:这些方法有很多,没有必要都记住,做好笔记,以及用到了再查笔记即可。查询结果不为None,那么就是存在数据库了,重复了,不能用,就继续重新生成一个号码,再重复上述操作。生成完成后,我们需要设置到环境变量里,后面要用的时候去环境变量里获取,用这个同样的号码。我注册的第一条用例的数据就需要用,也就是这个号码的位置需要用-函数生成的数据 替换。

2024-04-01 09:32:27 825 1

原创 python-自动化测试- 多接口动态参数设计

测试数据都放在excel中管理,每个接口如果有提取的数据就直接放在excel里写好,到时候直接读取出来做响应的提取操作即可。电商项目: 购物车 token proId skuID等 需要执行多个接口 获取返回值;业务流: 前面过很多步骤 【中间步骤都是单独的一个接口的请求】以上情况 都不太适合用conftest夹具测试使用。因为前置很多 处理比较麻烦。参考postman的处理方法。设计的思路:业务流: 登录-搜索-进入详情页-添加购物车-查询购物车-结算-提交订单。

2024-03-26 17:37:08 1234

原创 jsonpath和json数据(序列化eval()、反序列化loads())及断言处理(断言封装)

安装:pip install jsonpath导入: from jsonpath import jsonpathjsonpath能通过简单的方式就能提取给定JSON中的字段。结合2个网站,使用网站当中案例去练习。jsonpath运算符 – 以$ 符号开头$…price 获取json当中,key为price的所有值——》获取某个key的所有值,这个较为常用;=递归搜索$.store.book[1].price——》一级一级去获取 更加精准。

2024-03-26 09:31:11 1034

原创 接口关联和requests库

postman的接口关联配置:js代码,重点在于思路。关于这个工具具体的详细使用: 参数化 + 断言 + CSV批量等 都可以。

2024-03-25 16:00:00 838

原创 接口测试(概念)和抓包(http与https协议:请求信息{请求行:【请求类型(请求方法)、请求地址】,请求头,请求体}、响应信息:【响应行:格式,状态码】,响应头【cookies】,响应正文】)

项目: bug越早刚发现,修复成本越低。直接通过工具/代码 (非页面点击操作)直接调用后端封装好的接口,来测试功能模块的业务逻辑(正常+异常+交互)的过程就是接口测试。面试题: 为什么要做接口测试?原因1:接口测试更早介入,更早发现bug,而且bug更加接近于底层bug,影响范围广,可以有效的降低bug修复成本,从而降低研发成本。这也是一种测试左移。需求–>开发—>测试—> 上线 【测试右移: 关注上线之后 用户行为 优化测试流程】

2024-03-25 11:35:36 1073

原创 pytest测试框架 (allure测试报告、数据驱动ddt、夹具【fixture,yield】)

1) 可以直接使用assert断言,并且自动识别预期和实际结果,报错信息详细显示 : == 这里区别于unittest 的assertEqual 的断言方法2)可以自动发现测试模块和测试函数里的测试用例,并自动收集执行;3)有非常丰富的第三方插件,allure报告4)pytest的数据驱动灵活pytest的夹具非常灵活且功能丰富conftest自动发现,不用导入共享可以设置夹具返回值前置后置写在一个夹具里。

2024-03-22 08:55:32 1023

原创 python 数据库操作(pymysql.connect、游标cursor.execute(fetchone、fetchmany、fetchall))、数据库封装

做测试的时候总是有些场景需要用到数据库的:场景一: 查询并获取数据-- 比如验证码查询【测试环境里】场景二:构造测试数据避免重复,查询校验数据是重复 – 用户名 手机号码不能重复。场景三: 进行数据库数据确认,确认测试结果;数据库断言。接口测试 没有界面直观判断。

2024-03-21 17:52:59 879

原创 python 操作excel(openpyxl.load_workbook)、excel操作封装

openpyxl:第三方库 支持的格式有:.xlsx、.xlsm、.xltx、.xltm,l不支持.xls文件格式【转化】-1)安装 :pip + pycharm两种方式安装都可以-2)导入:全部导入 和部分导入读取excel表格里所有内容:sh.values。

2024-03-21 17:06:46 1444

原创 python 类和对象(属性、初始化函数__init__、方法、继承(重写、多层继承、多重继承)、动态属性 【反射】setattr)

类和对象:抽象 + 概念很多。== 概念类比生活中例子理解就可以。类: 人类 猫类 狗类 植物类,类是一类事物统称,这类事物具备共同特征。对象:Mimanchi,折耳猫,汪汪,绿萝,类里面的一个实实在在的个体成员。是类的具象化存在。属性: 类或者对象的特征和状态。【人:眼睛,肤色: 黄色 身高,白色,卷毛狗】类: 人类 猫类 狗类 植物类,类是一类事物统称,这类事物具备共同特征。对象:Mimanchi,折耳猫,汪汪,绿萝,类里面的一个实实在在的个体成员。是类的具象化存在。

2024-03-21 16:36:51 933

原创 python 异常捕获、断言(assert 、finally) 与日志(loguru.logger)

代码执行顺序从上到下依次运行的,如果出错了,后面的代码不会出错。--所以要对异常做处理。常见的异常的类型,不需要记;平时写代码的时候 经常会报错,积累常见错误,排查问题。常见异常的报错的类型:NameError,IndexError,KeyError,ValueError,ZeroDivisionError对于自动化编程人员来说,代码报错了怎么排查?–具备基本能力。

2024-03-21 15:55:39 773

原创 python 模块与包

模块与包。

2024-03-21 15:03:02 332

原创 python pathlib 路径处理

【代码】python pathlib 路径处理。

2024-03-20 19:02:53 85

原创 python 函数(解包**、互相调用、作用域、函数的封装、内置函数:eval()、zip()、文件处理open())

【代码】python 函数(解包)

2024-03-20 17:06:45 616

空空如也

空空如也

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

TA关注的人

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