多线程WEB高并发压力测试软件JMeter

简介:
一、 Apache JMeter工具

  1)简介

  JMeter——一个100%的纯java桌面应用,它是 Apache组织的开放源代码项目,它是功能和性能测试的工具。JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、java对象、数据库和查询、ftp 服务器或者其他资源)。

  2)Jmeter压力测试软件的下载地址:http://download.csdn.net/detail/yjflinchong/4495241

http://blog.csdn.net/yjflinchong/article/details/7853928

  3)Apache JMeter 的特性:

  a) 能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。

  b) 完全的可移植性和100% 纯Java。

  c) 完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。

  d) 完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。

  e) 精心的GUI设计允许快速操作和更精确的计时。

  f) 缓存和离线分析/回放测试结果。

  g) 高可扩展性:

  h) 可链接的取样器允许无限制的测试能力。

  i) 各种负载统计表和可链接的计时器可供选择。

  j) 数据分析和可视化插件提供了很好的可扩展性以及 以及个性化。

  k) 具有提供动态输入到测试的功能(包括Javascrīpt)。

  l) 支持脚本变成的取样器(在1.9.2及以上版本支持BeanShell)。

  二、 JMeter可以做哪些方面的测试

  原先Jemer是为Web/HTTP测试而设计的,但是它已经扩展以支持各种各样的测试模块。它和用于HTTP和SQL数据库(使用JDBC)的模块一起运送。它可以用来测试静止资料库或者活动资料库中的服务器的运行情况,可以用来模拟对服务器或者网络系统加以重负荷以测试它的抵抗力,或者用来分析不同负荷类型下的所有运行情况。它也提供了一个可替换的界面用来定制数据显示,测试同步及测试的创建和执行。

  三、具体事例

  1)测试环境:

  硬件配置 软件环境

  测试时间 2004 年 5 月 25 日

  服务器 P4 512M 内存 Oracle 10g+Tomcat5.5

  客户端 P4 512M 内存 Jmeter

  测试内容 khxx_xg.jsp 接受用户参数、调用 javabean 、输出相关信息。

  2)安装启动JMeter

  请将下载的.zip文件解压缩到C:/JMeter目录下。现在,请使用C:/JMeter/bin下面的jmeter.bat批处理文件来启动JMeter的可视化界面,下面的工作都将在这个可视化界面界面上进行操作。图1就是Jmeter的可视化界面。



测试计划的内容:

  1、右键单击测试计划,选择添加-〉线程组

  在线程组里设置负载信息,即线程属性。我向测试计划中增加相关负载设置是Jmeter需要模拟十个请求者,每个请求者在测试过程中并发请求,并且连续请求10次。

  线程数: 10

  Ramp-up period(inseconds): 0

  循环次数: 10

  说明:线程数代表发送请求的用户数目,Ramp-up period(inseconds)代表每个请求发生的总时间间隔,单位是秒。假如我的请求数目是5,而这个参数是10,那么每个请求之间的间隔就是10/5,也就是2秒。如果设置为0就代表并发请求。Loop Count代表请求发生的重复次数,如果选择后面的forever(默认),那么 请求将一直继续,如果不选择forever,而在输入框中输入数字,那么请求将重复 指定的次数,如果输入0,那么请求将执行一次。

  2、添加HTTP默认请求值

  右键单击线程组,选择添加-〉配置元件-〉HTTP默认请求值,以下是我设置的信息:

  说明

  名称: HTTP 默认请求值 该元素的名称

  服务器名称或IP:

  localhost 被测试服务器的 IP或者名字

  端口号: 8080 服务器提供服务的端口号,我用的服务器是 Tomcat,所以端口号是8080

  协议: http 发送测试请求时使用的协议

  路径: /hrbin/hg_admin/khxx_xg.jsp 默认的起始位置。

   3、添加HTTP请求

  右键单击线程组,选择添加-〉Sampler-〉HTTP请求,以下是我设置的信息

  说明

  名称: HTTP 默认请求值 该元素的名称

  服务器名称或IP:

  localhost 被测试服务器的IP或者名字

  端口号: 8080 服务器提供服务的端口号,我用的服务器是Tomcat,所以端口号是8080

  协议: http 发送测试请求时使用的协议

  路径: /hrbin/hg_admin/khxx_xg.jsp 默认的起始位置。

  因为我测试的是查询,故添加了一个同请求一起发送的参数(in_id=dsgds):

   4、添加监听器,存放测试结果。

  右键单击测试计划,选择测试计划-〉添加-〉监听器-〉聚合报告

  你也可以选择用表格查看结果、图形结果、查看结果树等。

  4)运行测试

  单击运行,选择启动。


      本文转自yjflinchong 51CTO博客,原文链接:http://blog.51cto.com/yjflinchong/1165097,如需转载请自行联系原作者






相关文章
|
13天前
|
XML 数据管理 测试技术
深入探索软件自动化测试框架的设计与实现
【4月更文挑战第26天】 随着软件开发周期不断缩短,传统的手动测试方法已难以满足快速迭代的需求。本文聚焦于自动化测试框架的构建与优化,旨在提供一种高效、可维护且可扩展的软件测试解决方案。文章从自动化测试的必要性出发,详细阐述了自动化测试框架设计的核心要素,包括模块化设计、数据驱动测试以及关键词驱动测试等概念。同时,结合实例分析了如何利用流行的测试工具进行框架搭建,并提出了针对常见问题的创新解决方法。最后,通过案例研究展示了该框架在实际项目中的应用效果和潜在改进空间。
|
19天前
|
设计模式 测试技术 持续交付
深入白盒测试:提升软件质量与性能的关键策略
【4月更文挑战第20天】 在软件开发的复杂世界中,确保产品的质量和性能始终是至关重要的任务。白盒测试,作为软件测试领域的重要分支,提供了对程序内部结构和逻辑的深入分析手段。本文将探讨如何通过有效的白盒测试策略来优化软件性能,减少缺陷,并最终提高用户满意度。通过剖析代码检查、单元测试、集成测试等白盒测试技术,我们将了解这些方法如何揭示潜在的问题点,并为改进提供方向。
|
3天前
|
SQL 安全 数据处理
Web 测试神器:HackBar 保姆级教程
Web 测试神器:HackBar 保姆级教程
|
5天前
|
机器学习/深度学习 人工智能 算法
深入探索软件自动化测试的优化策略
【5月更文挑战第4天】 随着软件开发周期的不断缩短和发布频率的增加,传统的手动测试方法已无法满足快速迭代的需求。因此,本文聚焦于自动化测试流程的优化,旨在提高测试效率和质量。文章首先回顾了自动化测试的基本概念与实施条件,随后分析了当前自动化测试面临的主要挑战,包括维护成本高、测试用例设计复杂等问题。在此基础上,提出了一系列优化策略:持续集成环境下的自动化测试、数据驱动测试、关键字驱动测试、以及基于人工智能的测试用例生成和维护等。通过案例分析和性能评估,验证了这些策略在提升测试覆盖率和减少人工干预方面的有效性。
|
5天前
|
机器学习/深度学习 敏捷开发 人工智能
探索软件自动化测试的未来趋势
【5月更文挑战第4天】 在快速发展的信息时代,软件已成为支撑现代社会运行的核心力量。随之而来的是软件测试领域面临的挑战和机遇,特别是自动化测试技术。本文将深入探讨自动化测试的最新发展,分析其对提高软件开发效率、降低维护成本的重要性,同时预测未来可能的技术趋势。通过实际案例分析和最新研究动态的梳理,旨在为读者呈现一个清晰的自动化测试技术蓝图。
|
8天前
|
测试技术 持续交付 数据安全/隐私保护
深入理解软件自动化测试中的数据驱动策略
【5月更文挑战第1天】 在软件测试领域,自动化测试已经成为提高测试效率和质量的重要手段。其中,数据驱动测试(DDT)作为一种高效实施自动化测试的策略,允许测试用例与测试数据分离,增强了测试脚本的可维护性和灵活性。本文将详细探讨数据驱动测试的核心概念、实现方式以及在实际中的应用案例,帮助读者更深入地理解如何利用数据驱动策略优化自动化测试流程。
|
9天前
|
Java 测试技术 开发者
深入理解与应用单元测试:软件质量的守护者
【4月更文挑战第30天】 在现代软件开发过程中,单元测试作为保障代码健康的重要环节,其地位日益凸显。本文将探讨单元测试的核心概念、实施单元测试的重要性以及如何高效地设计并执行单元测试。通过实例分析,我们将揭示单元测试在确保软件产品质量和加速开发周期中的关键作用。
|
9天前
|
存储 敏捷开发 监控
深入理解软件自动化测试中的数据驱动策略
【4月更文挑战第30天】 在追求高效率和可靠性的现代软件开发过程中,自动化测试已经成为确保产品质量的关键手段。数据驱动测试(DDT)作为一种高效的自动化测试策略,它通过外部化测试数据和脚本,增强了测试用例的可维护性和可扩展性。本文将深入探讨数据驱动测试的概念、实施方法以及在实际项目中的最佳实践,旨在帮助读者构建更加健壮和灵活的自动化测试框架。
|
12天前
|
敏捷开发 监控 Java
深入理解与应用软件自动化测试框架
【4月更文挑战第27天】 在软件开发的生命周期中,确保代码质量和功能的正确性是至关重要的。随着敏捷开发方法的普及和产品迭代速度的加快,传统的手动测试方法已经难以满足快速交付的需求。本文将重点讨论软件自动化测试框架的构建与实施,旨在为读者提供一种提高测试效率、确保测试质量的有效途径。我们将介绍自动化测试的基本概念、关键优势以及面临的挑战,并通过具体的案例分析,展示如何根据项目特点选择合适的测试框架,以及如何设计、执行和维护自动化测试脚本。
|
12天前
|
XML 敏捷开发 存储
深入理解软件自动化测试中的数据驱动策略
【4月更文挑战第27天】 在现代软件开发过程中,自动化测试是确保产品质量和加快市场投放速度的关键步骤。本文专注于探讨数据驱动测试(DDT)策略,它是一种将测试脚本与测试数据分离的方法,旨在提高测试覆盖率和效率。通过分析数据驱动测试的工作原理、实施方法以及面临的挑战,本文为读者提供一个清晰的视角来理解和应用这一策略,以优化其自动化测试流程。

热门文章

最新文章