目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
1、环境配置
1)创建jmter脚本
Ip:10.196.130.103
Port:8082
url:/pinter/case/memory
query: userName=admin&password=1234
2)Jmeter添加监控三方插件
下载地址:http://jmeter-plugins.org/downloads/all
Jar包放jmeter中lib/ext目录
下载插件:
3 Basic Graph:windows下可用的实时tps和响应时间的插件
Custom JMeter Functions
Random CSV Data Set Config
PerfMon :服务端性能实时监控插件
2、监控工具
1)Jmeter工具
2)jstat命令
Jstat –gcutil 72800 100
3)jvisualvm工具
3、内存泄漏表现
1)现象一:通过jmeter插件可以看到,tps一直下降,RT一直上升
Tps逐渐下降,降至0
Rt相应时间一直上升
2)现象二:通过jstat查看,old老年代一直是100%,fgc次数一直上涨
Old老年代一直处于100%
Fugc一直上涨
3)现象三:Jvisualvm内存一直上涨,最后变成一条曲线
4、判断是否为内存泄漏
查看日志是否有内存溢出OutOfMemoryError的报错
cd /usr/src/tomcat-pinter/logs
tail -100 catalina.out
5、排查思路
1)可以忽略的对象
数据类型相关的不用管:[B Byte [C Char [I int
Java开头的不用管:属于底层对象
2)重点关注的对象
业务相关:一般以com/cn开头
框架相关:org开头三方框架
6、定位问题方法
1)通过jmap命令定位问题
通过jmap命令打印出暂用内存前30的对象
Jmap –histo 72800 | head -30
2)通过jvisualvm工具定位问题
点击堆dump下载到服务器显示的目录
在远程服务器给对应的文件授权
chmod 777 /usr/src/tomcat-pinter/temp/heapdump-1671609652793.hprof
下载文件到桌面
通过jvisualvm打开文件
右上角文件>装入>堆>文件
定位问题
通过大小排序查看
7、源码分析
1)根据打印的路径找到项目对应的目录
2)通过sz或者ftxp下载到本地
3)利用jd.gui工具查看源码
Jd.gui官网地址:http://java-decompiler.github.io/
4)分析源码
代码逻辑问题:每次有用户登录,就会去写入session,没有判断用户已经登录,存在session数据
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
只有经历了痛苦的耕耘,方能绽放出辉煌的花朵;只有经历了坎坷的跋涉,才能抵达成功的彼岸。相信自己,奋斗不息,未来必将光芒万丈。
困境是砥砺前行的催化剂,挫折是铸就胜利的磨刀石。不论风雨如何,我们要坚定信念,勇往直前,因为奋斗的汗水将点亮未来的星辰。
每一次努力,都是给梦想增加了一分力量;每一次坚持,都是为成功准备了一份底气。相信自己的能力,追逐心中的目标,勇往直前,终将收获辉煌。