jMeter - 概述


在详细介绍 JMeter 之前,让我们首先了解一些与应用程序测试相关的术语。

  • 性能测试- 此测试在给定的基础设施配置下设置了最佳的性能预期。它还在测试过程的早期强调在应用程序投入生产之前是否需要进行任何更改。

  • 负载测试- 该测试基本上用于在设计运行的最高负载下测试系统。

  • 压力测试- 此测试试图通过压倒系统资源来破坏系统。

什么是JMeter?

JMeter是一款可以对不同协议或技术进行负载测试、面向性能的业务(功能)测试、回归测试等的软件。

Apache 软件基金会的Stefano Mazzocchi是 JMeter 的原始开发人员。他编写它主要是为了测试 Apache JServ(现在称为 Apache Tomcat 项目)的性能。Apache 后来重新设计了 JMeter 以增强 GUI 并添加功能测试功能。

JMeter 是一个具有图形界面的 Java 桌面应用程序,使用 Swing 图形 API。因此,它可以在任何接受 Java 虚拟机的环境/工作站上运行,例如 Windows、Linux、Mac 等。

JMeter 支持的协议是 -

  • Web - HTTP、HTTPS 站点“web 1.0”web 2.0(ajax、flex 和 flex-ws-amf)

  • Web 服务 - SOAP / XML-RPC

  • 通过 JDBC 驱动程序的数据库

  • 目录 - LDAP

  • 通过 JMS 的面向消息传递的服务

  • 服务 - POP3、IMAP、SMTP

  • FTP服务

JMeter 功能

以下是 JMeter 的一些功能 -

  • 作为一个开源软件,它可以免费使用。

  • 它有一个简单直观的 GUI。

  • JMeter 可以对许多不同的服务器类型进行负载和性能测试 - Web - HTTP、HTTPS、SOAP、通过 JDBC 的数据库、LDAP、JMS、邮件 - POP3 等。

  • 它是一个独立于平台的工具。在 Linux/Unix 上,可以通过单击 JMeter shell 脚本来调用 JMeter。在 Windows 上,可以通过启动 jmeter.bat 文件来调用它。

  • 它具有完整的 Swing 和轻量级组件支持(预编译的 JAR 使用包 javax.swing.* )。

  • JMeter 以 XML 格式存储其测试计划。这意味着您可以使用文本编辑器生成测试计划。

  • 其完整的多线程框架允许多个线程并发采样,并允许单独的线程组同时采样不同的功能。

  • 它具有高度可扩展性。

  • 它还可用于执行应用程序的自动化和功能测试。

JMeter 是如何工作的?

JMeter 模拟一组用户向目标服务器发送请求,并返回统计信息,通过表格、图表等显示目标服务器/应用程序的性能/功能。

看一下下图,它描述了 JMeter 的工作原理 -

JMeter流程