java压力测试工具(用JMeter工具做压力测试对此工具不熟,请教各位高手帮忙解答,万分感谢)

本文目录
用JMeter工具做压力测试对此工具不熟,请教各位高手帮忙解答,万分感谢
供参考
场景:测试java程序模块的性能(就是那种用JAVA语言编写且可以独立打包成JAR包的功能模块的性能测试,一般的测试工具是无法提供对这样的对象的性能测试的支持的,当然通过JMETER来测试,也是需要进行一定的辅助开发才行。);
1、右击测试计划-》 添加 -》 Threads(Users) -》 线程组
2、设置线程属性,用于并发请求。
介绍:
线程数: 10
Ramp-Up Period(in seconds) : 2
循环次数: 4
含义:2秒种(内)启动10个线程,每个线程循环调用4次java请求 。(所以总体来说就是要执行40次请求。)
3、线程组右击 -》 添加 -》 Sampler -》 Java请求
以上是设置JMETER性能测试场景,而在这之前需要建立辅助测试类:
建立测试辅助类也有几个要点需要注意;
A.在JAVA工程中引入需要使用到的JMETER所属的核心的类包文件,ApacheJMeter_java.jar ,ApacheJMeter_core.jar ,这2个jar包在 %JMETER_HOME%/lib/ext/下,即在JMETER的资源目录的/lib/ext/可以找到;(原因:因为你将要写的辅助测试类将会使用到里面的一些方法,诸如SampleResult ,AbstractJavaSamplerClient,JavaSamplerContext等);
B.将写好并测试无误的测试辅助类的工程打包成JAR包,然后再放回JMETER的资源目录的/lib/ext/下;(原因:这样,重新启动JMETER后,JMETER工具将会自动识别你刚加入的JAVA请求测试对象。在其“JAVA请求”—》”类名称”下拉选择框中就会出现你编写的测试辅助类,如果没有出现,请仔细检查以上的操作步骤;要不就无法接下来的测试工作。)
以下贴出我写的测试辅助类:(并不是所有的都适用,但可以作为概要,提示参考)
package com.test.jmeter;
import java.util.Random;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
public class jmeterForCommunication extends AbstractJavaSamplerClient{
private static long start = 0;
private static long end = 0;
/**
* 重写构造函数
*/
@Override
public void setupTest(JavaSamplerContext context) {
// TODO Auto-generated method stub
super.setupTest(context);
start = System.currentTimeMillis();
}
/**
* 重写析构函数
*/
@Override
public void teardownTest(JavaSamplerContext context) {
// TODO Auto-generated method stub
super.teardownTest(context);
end = System.currentTimeMillis();
// 总体耗时
System.err.println(“cost time:“ + (end - start) / 1000 + “秒。“);
}
/**
* 用户后续调用计算产生随机数
*/
public static double computer(double a,double b){
return a * b / a * a;
}
/**
* JMeter界面中可手工输入参数,代码里面通过此方法获取
*/
public Arguments getDefaultParameters() {
Arguments args = new Arguments();
return args;
}
/**
* 重写JMETER的runTest启动方法,测试用例的入口,相当于JAVA程序的main方法;
*/
@Override
public SampleResult runTest(JavaSamplerContext arg0) {
// TODO Auto-generated method stub
SampleResult sr = new SampleResult();
sr.sampleStart();
Random random = new Random();
for(int i=0; i《10000; i++){
computer(random.nextDouble(),random.nextDouble());
}
sr.setSuccessful(true);
sr.sampleEnd();
return sr;
}
/**
public static void main(String args){
}
*/
PS:另外通过测试类调用要测试的JAR包的功能的代码,我这里就不贴出来了,一是因为每个人的会不一样,二是也涉及到公司的信息也不能外传;
4、线程组右击 -》 添加 -》 监听器 -》 用表格察看结果:(有很多种监听器,但也不是所有的都要打开使用到,一般打开2到3个足以,因为开多了也会一定程度上影响JMETER的测试收集数据的准确性。)
备注提示:
有一些快捷键操作可以方便快速使用,比如:
Ctrl + R,开始运行,
Ctrl + E,清除历史结果
java后台压力测试用什么工具好
思路:
压力测试原理有两种,一种是连接测试,一种是负载测试
1,连接测试,就是多线程,不停的请求直到服务器死机或达到预期效果即可!
2,负载测试,就是一个线程的多步操作,每个线程占用服务器cpu 内存是否符合节能高效的标准,如果不是,那就优化吧
建议用LOADRUNNER吧。
java中框架Junit应该怎么使用
JUnit
JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。
更多JUnit信息
Cactus
Cactus是一个基于JUnit框架的简单测试框架,用来单元测试服务端Java代码。Cactus框架的主要目标是能够单元测试服务端的使用Servlet对象的Java方法如HttpServletRequest,HttpServletResponse,HttpSession等
更多Cactus 信息
Abbot
Abbot是一个用来测试Java GUIs的框架。用简单的基于XML的脚本或者Java代码,你就可以开始一个GUI。
更多Abbot信息
JUnitPerf
Junitperf实际是junit的一个decorator,通过编写用于junitperf的单元测试,我们也可使测试过程自动化。
更多JUnitPerf信息
DbUnit
DbUnit是为数据库驱动的项目提供的一个对JUnit 的扩展,除了提供一些常用功能,它可以将你的数据库置于一个测试轮回之间的状态。
更多DbUnit信息
Mockrunner
Mockrunner用在J2EE环境中进行应用程序的单元测试。它不仅支持Struts actions, servlets,过滤器和标签类还包括一个JDBC和一个JMS测试框架,可以用于测试基于EJB的应用程序。
更多Mockrunner信息
DBMonster
DBMonster是一个用生成随机数据来测试SQL数据库的压力测试工具。
更多DBMonster信息
MockEJB
MockEJB是一个不需要EJB容器就能运行EJB并进行测试的轻量级框架。
更多MockEJB信息
StrutsTestCase
StrutsTestCase 是Junit TestCase类的扩展,提供基于Struts框架的代码测试。StrutsTestCase同时提供Mock 对象方法和Cactus方法用来实际运行Struts ActionServlet,你可以通过运行servlet引擎来测试。因为StrutsTestCase使用ActionServlet控制器来测试你的代码,因此你不仅可以测试Action对象的实现,而且可以测试mappings,from beans以及forwards声明。StrutsTestCase不启动servlet容器来测试struts应用程序(容器外测试)也属于Mock对象测试,但是与EasyMock不同的是,EasyMock是提供了创建Mock对象的API,而StrutsTest则是专门负责测试Struts应用程序的Mock对象测试框架。
更多StrutsTestCase信息
JFCUnit
JFCUnit使得你能够为Java偏移应用程序编写测试例子。它为从用代码打开的窗口上获得句柄提供了支持;为在一个部件层次定位部件提供支持;为在部件中发起事件(例如按一个按钮)以及以线程安全方式处理部件测试提供支持。
更多JFCUnit信息
JTestCase
JTestCase 使用XML文件来组织多测试案例数据,声明条件(操作和期望的结果),提供了一套易于使用的方法来检索XML中的测试案例,按照数据文件的定义来声明结果。
更多JTestCase信息
SQLUnit
SQLUnit是一个单元测试框架,用于对数据库存储过程进行加归测试。用 Java/JUnit/XML开发。
更多SQLUnit信息
JTR
JTR (Java Test Runner)是一个开源的基于反转控制(IOC)的J2EE测试框架。它允许你构建复杂的J2EE测试套件(Test Suites)并连到应用服务器执行测试,可以包括多个测试实例。JTR的licensed是GPL协议。
更多JTR信息
Marathon
Marathon是一个针对使用Java/Swing开发GUI应用程序的测试框架,它由recorder, runner 和 editor组成,测试脚本是python代码。Marathon的焦点是放在最终用户的测试上。
更多Marathon信息
TestNG
TestNG是根据JUnit 和 NUnit思想而构建的一个测试框架,但是TestNG增加了许多新的功能使得它变得更加强大与容易使用比如:
*支持JSR 175注释(JDK 1.4利用JavaDoc注释同样也支持)
*灵活的Test配置
*支持默认的runtime和logging JDK功能
*强大的执行模型(不再TestSuite)
*支持独立的测试方法。
更多TestNG信息
Surrogate Test framework
Surrogate Test framework是一个值得称赞单元测试框架,特别适合于大型,复杂Java系统的单元测试。这个框架能与JUnit,MockEJB和各种支持模拟对象(mock object )的测试工具无缝给合。这个框架基于AspectJ技术。
更多Surrogate Test framework信息
MockCreator
MockCreator可以为给定的interface或class生成模拟对象(Mock object)的源码。
更多MockCreator信息
jMock
jMock利用mock objects思想来对Java code进行测试。jMock具有以下特点:容易扩展,让你快速简单地定义mock objects,因此不必打破程序间的关联,让你定义灵活的超越对象之间交互作用而带来测试局限,减少你测试地脆弱性。
更多jMock信息
EasyMock
EasyMock为Mock Objects提供接口并在JUnit测试中利用Java的proxy设计模式生成它们的实例。EasyMock最适合于测试驱动开发。
更多EasyMock信息
Grinder
Grinder是一个开源的Java负载测试框架,它通过很多负载注射器来为分布式测试提供了便利。
支持用于执行测试脚本的Jython脚本引擎
HTTP测试可通过HTTP代理进行管理。
更多Grinder信息
XMLUnit
XMLUnit不仅有Java版本的还有.Net版本的。Java开发的XMLUnit提供了两个JUnit 扩展类XMLAssert和XMLTestCase,和一组支持的类。这些类可以用来比较两张XML之间的不同之处,展示XML利用XSLT来,校验XML,求得XPath表达式在XML中的值,遍历XML中的某一节点利DOM展开,
更多XMLUnit信息
Jameleon
Jameleon一个自动化测试工具。它被用来测试各种各样的应用程序,所以它被设计成插件模式。为了使整个测试过程变得简单Jameleon提供了一个GUI,因此Jameleon实现了一个Swing 插件。
更多Jameleon信息
J2MEUnit
J2MEUnit是应用在J2ME应用程序的一个单元测试框架。它基于JUnit.
更多J2MEUnit信息
Jetif
Jetif是一个用纯Java实现的回归测试框架。它为Java程序单元测试以及功能测试提供了一个简单而且可 伸缩的架构,可以用于个人开发或企业级开发的测试。它容易使用,功能强大,而且拥有一些企业级测试的 重要功能。Jetif来源于JUnit, JTestCase以及TestNG的启发,有几个基本的概念直接来自于JUnit, 比如说断言机制,Test Listener的概念,因此从JUnit转到Jetif是非常容易的。
更多Jetif信息
GroboUtils
GroboUtils使得扩展Java测试变得可能。它包括用在Java不同方面测试的多个子项目。在GroboUtils中最常被到的工具是:多线程测试(multi-threaded tests),整体单元测试(hierarchial unit tests),代码覆盖工具(code coverage tool)。
更多GroboUtils信息
Testare
TESTARE是用来简化分布式应用程序(比如:在SERVLETS,JMS listeners, CORBA ORBs或RMI环境下)测试开发过程的一个测试框架.
更多Testare信息
MockLib
MockLib是一个很小的包所以可容易地动态创建一个模拟对象.你可以从模拟的系统中抛出异常来确保你的系统能够正确处理错误.它同样也是一个线程安全的模拟对象库.
更多MockLib信息
JellyUnit
JellyUnit是一个基于Jelly的JUnit测试机制.它允许用Jelly脚本来完成单元测试.尤其是对于XML,XPath,SQL,HTTP,JMS和SOAP交互的测试特别有用.
更多JellyUnit信息
Pisces
这个项目继承于JUnit目的是提供一个分布式的测试环境.它给开发者/测试人员一个运行远程JUnits和复杂测试案例的能力,这个案例由几个并行运行的远程JUnit测试组成。
更多Pisces信息
JUnitEE
JUnitEE是对JUnit的一个简单扩展,可以支持在一个J2EE应用程序服务器上执行标准的测试案例。它主要由一个把测试结果输出为html的servlet组成。
更多JUnitEE信息

更多文章:
dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)
2026年10月11日 08:50
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00






