性能测试行业认知
分类:
文章
•
2025-04-26 21:40:40
性能测试行业认知
一.性能测试的分类
1.概念
- 性能测试是一个非常广泛的概念,包括的很多方面的测试,也可称之为非功能测试
- 自动化测试属于功能测试的范围,由于其测试方法要求测试人员拥有一定的代码能力,所以被单独分成一个测试模块
2.具体分类(测试范围)
- 负载测试:通过逐步加压的方法,达到既定的性能阈值的目标。阈值的设定应是小于等于某个值,如cpu使用率小于某值
- 压力测试:通过逐步加压的方法,使得系统的某些资源达到饱和,甚至失效的状态
- 并发测试:同一时间内,多个虚拟用户同时访问统一模块、统一功能,通常的测试方法是设置集合点
- 容量测试:通常指数据库层面,目标是获取数据库的最佳容量的能力,又称之为容量预估。具体测试方法为在一定的并发用户,不同的基础数据量下,观察数据库的处理能力,即获取数据库的各项性能指标。
- 可靠性测试:又称为稳定性测试或疲劳测试,是指系统在高压情况下,长时间的运行系统是否稳定,如cpu使用率在80%以上,7*24小时运行,系统是否稳定
- 异常测试:又称之为失败测试,是指系统架构方面的测试,如在负载均衡架构中,要测试宕机、节点挂掉等状况系统的反映
3.性能测试工具
对比维度 |
loadRunner |
JMeter |
量级 |
重 |
轻 |
易用性 |
易 |
易 |
是否开源 |
否 |
是 |
语言支持 |
C/java1.5 |
java |
是否收费 |
是 |
否 |
二.测试工具:JMeter
1.JMeter组成
- 测试计划
- 线程组【控制多线程并发——虚拟并发】
- 包含断言、定时器、监听器、配置元件、后置处理器、前置处理器
- 逻辑控制器【当什么条件满足是要做什么】
- Sampler【放置所有请求】
- 断言【预期结果和实际结果的比对】
- 定时器【设置多长时间,几点运行等】
- 监听器【调试脚本是否成功,对资源进行监控】
- 配置元件【先后信息,如进行请求的时候设置cookie等】
- 后置处理器【并发完成之后要做的事,后一个请求用到前一个请求的结果】
- 前置处理器【在请求发生之前要做什么】
2.JMeter实现多并发
- 线程组:负载发生器,用多线程或多进程的方式来模拟用户的使用行为。JMeter是以线程的方式来进行模拟用户的并发访问。
- 添加线程组:线程属性
- 线程数:启动多少个线程(多少个虚拟用户)
- Ramp-Up:表示多长时间内将线程数加载完毕
- 循环测试:要循环的次数
- 调度器【对什么时候执行脚本做设计】
- JMeter实现逻辑分支控制
- 逻辑控制器:用来控制测试脚本的逻辑判断,也可以理解为如何控制脚本的运行。例如:如果控制器【右击线程组 —> 添加 —> 逻辑控制器 —> 如果控制器】,就是当满足什么样的条件后执行哪一步操作。
- 在如果控制器里面,添加Sampler的http请求,访问www.baidu.com
- 还需要在线程组中添加监听器—>查看结果树,用于查看执行结果
- 当如果控制器中的条件满足,才会执行内部的http请求
- 在线程组中添加配置元件 —> 用户定义的变量,点击添加设置对应的变量名称、值和描述(放到逻辑控制器上面)[键:ifRun,值:1]
- 在逻辑控制器中设置条件
${ifRun}==1
,则当满足条件为1时访问百度
3.JMeter实现配置管理
- 配置元件:用来提供一些配置相关的信息,如http请求头、cookie管理,提供参数化数据。还可以进行用户自定义变量等,用以来定义常量等。