1、性能测试流程
需求调研-测试环境搭建-测试脚本编写-数据制造-执行测试-回归调优-执行报告
2、java 线程的状态,影响比较大的状态是
runnable, waiting, timewaiting,blocked,terminter
blocked timewaiting
3、jmeter怎么使用Java类
编写一个类实现javasampleclient,并实现其方法,里面写业务逻辑,如果有对外暴漏的参数,可写在getdefaultparamters方法中;
打成jar,将其和依赖的jar放在lib/etx下
jmeter使用时调用javasampler 引用
4、性能测试有哪些指标,各自的阈值是多少
cpu 系统的消耗的80%
Load 小于内存核数
磁盘io。80%
内存。 80%
网络io。带宽上线
5、tps压不上去有哪些原因
压力机本身的性能瓶颈
网络io
被测程序的性能瓶颈
其他外部程序导致的time-waiting
中间件tomcat mysql nginx的链接限制
测试机的性能评级
Java线程的阻塞,等待
6、程序cpu高和数据库cpu高的分析思路
程序cpu参考两个数据tps和响应时间,如果tps比较高是正常的资源消耗,如果tps比较低,有可能是程序过于消耗cpu,可以使用jprofilter分析下
数据库CPU高有可能是某些sql导致消耗资源过大,可根据慢查询监控,查看执行计划,是否未用索引或者索引失效导致
7、Java持久代和老年代存放什么数据
持久代(方法区)存放静态变量,常量,Java类的属性
老年代存放类的实例和数组等
8、Java内存溢出为什么,有哪些分析方法
Java内存溢出是由于老年代中存活大量的对象,gc无法回收,导致虚拟机一直处于FGC状态,此时会报出out of memory 错误;
首先找到jvm中那些对象占用大量的空间,可使用jvisualvm 和jmap分析
9、如果构造测试数据,你主要用什么
连接jdbc使用sql制造数据
使用存储过程
使用接口构造数据
10、如何制造动态参数
把程序返回的结果通过正则匹配找到需要的参数,将其保存,程序调用使用该变量,因为返回的结果是动态的,所以调用时也是动态的
11、性能测试设计,一般有哪些性能场景
基础场景:基准测试,单交易测试 ,混合测试,稳定性
其他场景:高可用,异常
12、线下环境怎么评估线程环境
线下环境和线上环境配置一致
使用单机器测试结果评估多机器考虑一定性能消耗
机器配置不要和线上机器配置差异过大
线上一般能评估性能问题,但是需要真实数据,还是直接在线上测试比较好
13、jmeter使用场景哪些beanshell
如果需要对使用前的参数做处理,可以使用beanshell的前置处理器
如果对返回的参数做逻辑判断,可以使用beanshell的断言
https://blog.csdn.net/liuyuzhu111/article/details/103852586
看完自己默写的,脑子真是笨的异常,记不住,理解力差,只能背下来了