一、线程组介绍:
线程组元件是任何一个测试计划的开始点。在一个测试计划中的所有元件都必须在某个线程组下,所有的任务都是基于线程组建立的。
线程组:包含若干请求
线程:一个线程就是一个“虚拟用户”
请求:一个线程组可以包含若干请求。
例如:1个线程组有5个请求,线程数为10个,可通俗理解为10个人,每个人都要执行5个请求,所以请求数10*5=50;
并发数:50;线程数:10
注:线程组也可以看作是一个虚拟用户组。线程组中的每一个线程都可以理解为一个虚拟用户。
二、线程组设置:
线程组设置可分为三个区域:
1.采样器失败后如何处理:
1)continue:继续执行接下来的操作
2)start next thread loop:开始下一次循环
3)stop thread:停止线程,退出该线程(不再执行此线程的操作)
4)stop test:等待当前执行的采样器结束后,结束整个测试
5)stop now:马上停止测试。
2.线程属性:
1)number of threads(users):线程数,相当于模拟的用户数量;
2)ramp-up period(in seconds):达到指定线程需要的时间,例如线程数为100,时间设定为10s,那么就是10s加载100个线程,每秒启动的线程数为100/10=10;
3)loop count:如果填具体的数值就是循环对应的次数;如果选择forever就会一直执行下去直到手动停止;
4)delay thread creation until needed:延迟线程创建,直到需要才创建。
3.调度器配置:
需要选中调度器且配置后才生效。
【实例】用一个普通的线程组来测试一个http接口,测试前添加设置下线程组和其他元件。2
第一步:添加线程组,当前选择、采样器执行错误后继续执行;
第二步:非性能测试,线程数设置为1即可,即“单个虚拟用户”;
第三步:打开调度器开关,填入启动延迟时间和持续时间。注意:使用调度器后中间循环次数作废。
第四步:添加http请求,设置参数;
第五步:根据需求添加http信息头管理器;
第六步:添加查看结果数。
三、线程组的分类:
1.原生线程组:
1)thread group(线程组)
2)setup thread group(设置线程组)
执行预测试操作,在普通线程组执行前触发。
应用场景举例:
A.测试数据库操作功能时,用于执行打开数据库连接的操作;
B.测试用户购物功能时,用于执行用户的注册、登录等操作。
3)teardown thread group(拆线组)
用于执行测试后操作。测试结束时进行回收工作。
应用场景举例:
A.测试数据库操作功能时,用于执行关闭数据库连接的操作;
B.测试用户购物功能时,用于执行用户的退出等操作。
2.可拓展线程组(暂未用到)
参考:https://blog.csdn.net/sinat_15603323/article/details/105274558