性能测试 —— 生成html测试报告、参数化、jvm监控

性能测试 —— 生成html测试报告、参数化、jvm监控_第1张图片

1.生成HTML的测试报告

1.1配置

(1)找到jmeter 的安装目录,下的bin中的jmeter.properties(jmeter配置文件)

性能测试 —— 生成html测试报告、参数化、jvm监控_第2张图片

(2) ctrl +f ,搜索jmeter.save.saveservice.output_format,取消井号 并且 把等号后的xml改为csv,点击保存

性能测试 —— 生成html测试报告、参数化、jvm监控_第3张图片

性能测试 —— 生成html测试报告、参数化、jvm监控_第4张图片

1.2生成

(1)在jmeter的安装目录下,新建tests文件夹,在tests文件夹中新建script和report文件夹,script是放脚本的,report是放测试报告的,把jmeter脚本放入script。

性能测试 —— 生成html测试报告、参数化、jvm监控_第5张图片

(2) 在cmd中 进入 tests目录:

性能测试 —— 生成html测试报告、参数化、jvm监控_第6张图片

(3)再执行命令:

jmeter -n -t script/一码通.jmx -l api.jtl -e -o performanceReport/

命令:

a .指定 生成测试脚本是script下的一码通.jmx,性能测试的数据会写到api.jtl中,然后解析成html报告

  b .其中 “一码通” “api” “performanceReport”都是自定义的

性能测试 —— 生成html测试报告、参数化、jvm监控_第7张图片

现在我也找了很多测试的朋友,做了一个技术分享的交流群,共享了很多我们收集的视频教程和技术文档,如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受,可以加入我们一起交流。而且还有很多在自动化,性能方面有一定建树的技术大牛,分享他们的经验,还会分享很多直播讲座和技术沙龙,可以免费学习!划重点!开源的!!!点击下方小卡片进群(备注“知乎”)

点击下方链接加入群聊【自动化测试交流群】:

自动化测试交流群:110685036​jq.qq.com/?_wv=1027&k=QEkp9MRI

性能测试 —— 生成html测试报告、参数化、jvm监控_第8张图片

1.3查看报告

(1)回到tests下可以看到performanceReport目录:

性能测试 —— 生成html测试报告、参数化、jvm监控_第9张图片

(2)进入目录看到html的测试报告:

性能测试 —— 生成html测试报告、参数化、jvm监控_第10张图片

性能测试 —— 生成html测试报告、参数化、jvm监控_第11张图片

注意:

(1)再一次使用命令生成htlm的测试报告时,要把之前的performanceReport文件和api.jtl进行删除。

(2)测试脚本是要保存到tests下的script中。

(3)测试脚本如果改名字了,要把命令的名字也修改。

性能测试 —— 生成html测试报告、参数化、jvm监控_第12张图片

2.参数化

一个用户登录很多次和多个用户登录一次的区别:

这两个操作的结果是不同的。牵扯到一个缓存的问题。

缓存: 核酸检查为例,第一次获取24小时核酸检测的结果,客户端真实的向服务端发送请求来获取数据,后面在24小时以内查询,都不会获取,直接使用缓存的数据。

2.1模拟并发登录:

参数化: 在客户端模拟向服务端发送请求的过程中模拟不同的数据。

(1)配置元件——CSV数据文件设置

性能测试 —— 生成html测试报告、参数化、jvm监控_第13张图片

(2)造数据:

性能测试 —— 生成html测试报告、参数化、jvm监控_第14张图片

(3)设置CSV数据文件设置

性能测试 —— 生成html测试报告、参数化、jvm监控_第15张图片

(4)在登录请求参数中,调用定义的变量

性能测试 —— 生成html测试报告、参数化、jvm监控_第16张图片

(5)设置线程数

性能测试 —— 生成html测试报告、参数化、jvm监控_第17张图片

(6)执行,六次登录的请求参数都是不同的(模拟了六个用户的登录)

性能测试 —— 生成html测试报告、参数化、jvm监控_第18张图片

性能测试中针对登录你是怎么测试的?

首先需要明确的是登录的性能测试目标,也就是每秒并发多少个用户同时登录系统,在目标的基础上,造具体的登录系统的用户数据。因为在测试中每秒并发登录使用的是不同的用户登录。

3.JVM监控

主流语言:

Java:sun 企业级市场占据绝对性的优势,特别是在新的架构模式下,它的技术组件非常完善。

Go:Google,Go是随着k8s,容器技术而流行的语言。字节跳动里面的测试开发必须要懂go语言

Python:在大数据领域,数据分析领域,机器学习领域非常具备优势。

C,C++:底层操作系统,以及驱动。

Net,C#:

使用Java语言开发的产品,普遍存在OOM问题。

Java是一个跨平台(Linux,unix,windows)的语言,具体的来说就是在某一个平台编写的代码,能够在其他的平台上也是能够执行的。

性能测试 —— 生成html测试报告、参数化、jvm监控_第19张图片

JVM监控工具主要监控Java应用程序是否会内存泄露,当然也可以监控该Java应用程序的CPU资源。比如该服务分配了0.1C的CPU,200M的内存,那么当内存使用率达到200或者是超过200M,这个时候就内存泄露。

(1)启动java应用程序

a.把jar包放到桌面

b.从cmd中进入桌面

c.启动java应用程序: java -jar 包名

性能测试 —— 生成html测试报告、参数化、jvm监控_第20张图片

Java程序部署:

1、使用maven打包成.jar的文件,然后使用如下命令来启动: java -jar xxx.jar

2、使用maven打包成.war的文件,然后使用如下命令来启动 java -jar xxx.war

(开发给jar包或者war包,都使用这个命令部署)

(2)打开jvisualvm

a.重新打开一个控制台,输入jvisualvm:

性能测试 —— 生成html测试报告、参数化、jvm监控_第21张图片

b. 出现如下界面,点击这个jar包,再点击监视,就可以看到对这个应用程序的监控:

性能测试 —— 生成html测试报告、参数化、jvm监控_第22张图片

c.通过jmeter,向这个应用程序发送请求:

性能测试 —— 生成html测试报告、参数化、jvm监控_第23张图片

d.观察jvm的变化:

性能测试 —— 生成html测试报告、参数化、jvm监控_第24张图片

Java语言写的那些程序容易内存泄露:

使用到文件读写的,比如淘宝的下发优惠劵;文件上传,文件下载,文件传输。

如果内存泄露了,怎么办?

我们返回给开发,开发修改后,我们继续使用原来的配置和数据、步骤来进行测试,验证问题是否修改完毕。

JVM监控工具怎么用的?

监控cpu、内存,主要关注是否内存泄漏,好的内存情况应该是呈正态分布的。

下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

资料获取方式 :

你可能感兴趣的:(软件测试,自动化测试,技术分享,html,jvm,自动化测试,测试工程师,软件测试,性能测试,压力测试)