Jmeter简介

453 阅读3分钟

Jmeter简介

  • JMeter 是Apache 组织使用 Java 开发的一款测试工具
  • 应用领域:
    • 测试静态和动态资源(静态文件、Java小服务程序、CGI脚本、FTP服务器等)
    • 用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分销整体性能
    • 对应用程序做功能/回归测试
  • 作用:
    • 接口测试
    • 性能测试
    • 压力测试
    • web自动化测试
    • 数据库测试
    • JAVA程序测试
  • 优缺点
    • 开源、免费,跨平台,支持多协议,小巧,功能强大
    • 不支持IP欺骗,使用JMeter无法验证JS程序和页面UI,须与selenium配合完成web应用的测试

JMeter 组件

1. 线程组概念
  • 进程:正在运行的程序
  • 线程:进程中的执行线索
  • 线程组:进程中有许多线程,对线程按性质分组,分组的结果就是线程组
  • 三者关系:1个进程可以包含多个线程组,1个线程组可以包含多个线程
  • 并发执行:多个线程同时执行
  • 顺序执行:多个线程顺序执行
2. 线程组的作用
  • 方便管理线程
  • 可以通过一系列属性控制线程的执行
3. 线程属性
  • 线程数:组内线程个数, 多个用户访问
  • Ramp-UP时间(s):时间间隔,ramp_up time/线程数
  • 循环次数:每个线程循环执行取样器的次数;1个用户循环访问
  • Same user on each iteration
  • 延迟创建线程直到需要
  • 调度器配置
    • 持续时间(s):持续执行几s
    • 启动延迟(s):延迟几s开始执行
4. 层级结构与执行顺序
  • 测试计划下有多个线程组,线程组下有多个线程
  • 线程组的执行顺序:默认并发执行;勾选 测试计划 下的选项:独立运行每个线程组--》顺序执行
5. 特殊线程组 setUp线程组和tearDown线程组
6. 参数化
  • 概念:动态的获取,设置或生成数据,是一种由程序驱动代替人工驱动的设计方案
  • 作用:提高脚本的编写效率和质量
  • 实现
    1. 用户定义的变量
    2. CSV数据文件设置(csv:逗号分隔值,简洁的数据存储格式)
      使用JMeter编写脚本模板<--中间件关联程序与数据-->使用CSV文件存储测试数
      据
      
    3. 用户参数
    4. 函数
7.直连数据库
  • 概念:编写脚本 让 JMeter直接访问并操作数据库
  • 作用
    • 将接口响应的结果与直连数据库响应的结果做对比,判断接口实现是否符合预期
    • 比人工访问数据库更高效快捷
  • 实现
    • 在测试计划里添加依赖(选择需要的jar包)
    • 配置数据库连接信息
      • 添加并配置JDBC Connection Configuration组件
    • 添加线程组,在线程组下添加 JDBC Request组件-->编写 sql语句
    • 添加察看结果树组件
8. 断言
  • 概念:让程序代替人工判断响应结果是否符合预期
  • 作用
    • 更安全
    • 更高效
    • 更准确,功能更强大
  • 实现
    • 响应断言 response code + response body
    • 大小断言 size
    • 断言持续时间 响应时间 time