一、性能测试有哪些
-
基准测试
接口准入测试,主要查看功能是否可用,个别性能指标情况,是否支持展开性能测试(性能测试前的准入测试)。单业务场景和混合场事务并发数为1时持续10分钟测试
-
并发测试
模拟多线程 同时访问接口的场景,分为用户并发场景(同时访问用户数),任务并发场景(同时请求任务数),一般 并发量 为日高峰任务量的10%,20%等,比如 当日请求创建数据接口的有600次,并发量取60,
-
负载测试
确认并发量后,执行并发测试的过程中,逐步增加并发量,以增加服务器负载,当 cpu、内存、IO等任一个达到95%以上,且此时系统没有崩溃,功能可正常使用,停止增加并发量,持续执行10分钟
- 压力测试
混合场景满载状态下的并发数,持续2小时测试
- 稳定行测试
混合场景满载状态下的并发数80%的情况下,持续24H(324H/7*24H)
二、测试场景选择
1、高频使用的场景 (如:首页、某个关键业务操作页面等)
2、关键业务场景
3、最耗资源场景
4、曾经出过问题的场景
5、数据库存在同时操作:增加、删除、查询、修改、表扫描、导入、导出的场景。
三、jmeter批量删除场景
一般我们创建数据后,要执行性能测试,会产生大量数据,此时就需要在性能测试的同时进行批量删除
先使用json提取器,获取所有的数据id,
再使用jmeter beanshell预处理器,获取批量删除的数据id,进行批量删除
已知需要传入批量删除的数据id的参数为数组,[“id1”,“id2”,“id3”],json提取器获取所有的id的数字,${id_matchNr} 为获取的数据id数组的长度,遍历所有id,把它加上双引号,放入到字符串数组内,通过put的方式输出变量
int i=${id_matchNr};
String[] a=new String[i];
for(int j=1;j<=i;j++){
String s= "\"" + vars.get("id_"+j) + "\"";
a[j-1]=s;
}
vars.put("test",Arrays.toString(a));//["id1","id2","id3"]
把获取的数据id传入批量删除接口
三、jmeter json提取器获取多个参数
多个参数使用分号 ;分开参数,下面的Match No一定要输入,否则启动县城,接口不会执行
四、jmeter 稳定性测试
循环次数选择永远,打开调度器,输入要持续执行的时间,即可持续执行测试,比如10分钟给你,24h等