1 运行原理
1.1 概述
- JMeter通过线程组来驱动多个线程运行测试脚本对被测试服务器发起负载;
- 每个负载机上都可运行多个线程组;
- 运行场景可在GUI方式中完成,也可使用命令行,其中命令行的运行方式对于负载机的资源消耗更小;
1.2 远程运行
1.2.1 控制机
- 及被选中作为管理及的那台机器;
- 可参与运行脚本;
- 担负着管理远程负载机指挥远程负载机的任务;
- 收集远程负载机的测试结果。
1.2.2 负载机
- 即向被测试引用服务器发起负载的机器;
- 控制机也是一台负载机;
- 负载机受控制机管理,要启动一个客户端程序(Agent:jmeter-server.bat),此时控制机才可接管负载机。
1.2.3 远程运行逻辑
- 远程负载机启动Agent程序,待控制机连接;
- 控制机连接远程负载机;
- 控制机发送指令(脚本或命令)启动线程;
- 负载机运行脚本,回传状态(包括测试结果);
- 控制机收集结果并显示。
2 测试计划要素
一个脚本就是一个测试计划,也是一个管理单元,一个线程代表一个虚拟用户;请求模拟和并发数都在脚本文件中设置。
- 要素1:脚本中测试计划只能有1个
类似LR中的Controller中的测试场景,一个测试场景只能有一个。在JMeter中脚本是树形结构,测试计划是根节点。
- 要素2:测试计划中至少要有1个线程组
负载是通过线程组驱动,所以计划中至少要出现一个线程组;也可支持多个线程组,类似LR中的混合场景。
- 要素3:至少要有1个取样器
测试的目的是模拟用户请求,没有取样脚本就无任何意义了。
- 要素4:至少要有1个监听器
用来收集测试结果,测试结果可衡量系统性能,分析系统性能。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【文末小卡片领取】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!