`

junit 模拟压力测试

阅读更多

                  junit 模拟多线程压力测试

            在生产中经常会遇到关于压力测试的问题,如何在实际生产中测试程序所承受的压力,对于开发来说并不是一件容易的事,下面介绍junit 多线程测试。

直接上代码

package com.bypay.bingfa;

 

import java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

 

import org.apache.commons.httpclient.HttpClient;

import org.apache.commons.httpclient.methods.PostMethod;

import org.apache.commons.httpclient.params.HttpMethodParams;

import org.junit.Test;

 

import net.sourceforge.groboutils.junit.v1.MultiThreadedTestRunner;

import net.sourceforge.groboutils.junit.v1.TestRunnable;

 

public class BFRequestsTest {

 

@Test

public void BFRequestsTest() {

// 构造一个Runner

TestRunnable runner = new TestRunnable() {

@Override

public void runTest() throws Throwable {

// 测试内容

testRun();

}

};

int runnerCount = 1000; // Rnner数组,想当于并发多少个。

TestRunnable[] trs = new TestRunnable[runnerCount];

for (int i = 0; i < runnerCounti++) {

trs[i] = runner;

}

 

// 用于执行多线程测试用例的Runner,将前面定义的单个Runner组成的数组传入

MultiThreadedTestRunner mttr = new MultiThreadedTestRunner(trs);

try {

// 开发并发执行数组里定义的内容

mttr.runTestRunnables();

catch (Throwable e) {

e.printStackTrace();

}

}

 

public void testRun() {

try {

 

HttpClient client = new HttpClient();

PostMethod method = new PostMethod("http://58.246.136.11:8029/front/inlet!deal.ac");

 

String date = "{\"name\": \"wangjx\"}";

((PostMethod) method).addParameter("data"date);

 

HttpMethodParams param = method.getParams();

param.setContentCharset("UTF-8");

 

client.executeMethod(method);

// 打印服务器返回的状态

System.out.println("http 返回状态\n" + method.getStatusLine());

// 打印返回的信息

InputStream stream = method.getResponseBodyAsStream();

 

BufferedReader br = new BufferedReader(new InputStreamReader(stream"UTF-8"));

StringBuffer buf = new StringBuffer();

String line;

while (null != (line = br.readLine())) {

buf.append(line).append("\n");

}

System.out.println("调用接口返回数据\n" + buf.toString());

// 释放连接

method.releaseConnection();

catch (Exception e) {

System.err.println(e.getMessage());

}

}

 

}

 

 

分享到:
评论

相关推荐

    软件测试winrunner loadrunner junit

    LoadRunner的工作原理是通过Vuser(虚拟用户)脚本来创建压力测试场景,分析系统瓶颈,预测系统性能极限。此外,它还提供了强大的诊断工具,帮助测试人员定位问题原因。 3. JUnit: JUnit是一款Java语言的单元测试...

    对基于Junit的测试代码自动化生成的研究

    6. **异常处理与性能测试**:除了基本的功能测试,还可能涉及异常处理的测试以及性能测试,如压力测试和负载测试,以确保程序在各种情况下都能正常运行。 7. **最佳实践与工具**:研究可能会推荐一些最佳实践,如...

    压力测试java模拟

    在Java中进行压力测试,我们可以利用JUnit测试框架,通过编写单元测试用例,模拟大量并发请求,来测试代码在高并发环境下的表现。此外,使用Mockito等库可以创建模拟对象,以减少外部依赖对测试结果的影响。 接下来...

    压力测试计划实例压力测试的详细计划

    我们可以使用各种压力测试工具,例如LoadRunner、JUnit等,来模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间运行测试软件来测试被测系统的可靠性,同时还要测试被测系统的响应时间。 五、结论 通过...

    使用JUnit和Maven轻松进行性能测试

    4. **负载/压力测试**:除了基本的性能测试,还可以使用JUnit模拟高并发情况下的负载或压力测试。这可能需要编写模拟多个用户同时访问服务的测试用例,或者使用第三方库如Apache JMeter来配合JUnit进行。 5. **JSON...

    软件测试模拟题

    5. 压力测试:评估软件在极端条件下的性能和稳定性。 6. 安全测试:检查软件的安全性,防止未授权访问和数据泄露。 7. 性能测试:评估软件在不同负载和并发情况下的响应时间和资源消耗。 三、测试方法 1. 黑盒测试...

    基于JAVA简单简洁的压力测试, QPS测试工具.zip

    Java中的压力测试通常涉及到多线程和并发控制,以模拟多个用户同时访问应用。在Java中,我们可以利用`java.util.concurrent`包中的类,如`ExecutorService`、`ThreadPoolExecutor`和`Future`来创建并管理线程池,...

    JUnit in Action

    16. 测试性能和压力:监控和度量测试的性能,进行压力测试,确保系统在高负载下的稳定性。 总之,《JUnit in Action》这本书是Java开发者学习和掌握JUnit的理想教材,无论你是初学者还是经验丰富的测试工程师,都能...

    HSQLDB-JUnit5-Testes:HSQLDB JUnit 5软件测试

    4. **性能测试**:可以对数据库性能进行基准测试,评估代码在压力下的表现。 5. **断言和异常测试**:JUnit5提供了丰富的断言方法,可以精确检查数据库操作后的结果是否符合预期,同时可以捕获和验证异常情况。 6....

    行业分类-设备装置-基于android平台的设备的压力测试方法及装置.zip

    “基于Android平台的设备的压力测试装置”可能涉及到专用的硬件设备或模拟器,它们可以模拟真实的使用环境和负载,提供更为精确的测试结果。这种装置可能包括硬件加速器、网络模拟器、电源管理模块等,以模拟不同的...

    软件测试技术课程设计

    【标签】中的"RoadRunner8.1"是这个压力测试过程中的关键工具,它能够模拟多个并发用户,模拟真实用户对系统的访问,从而获取系统在不同负载下的表现数据。使用RoadRunner8.1,可以通过生成详细的测试报告,分析事务...

    答案文件 咪咕音乐性能测试.zip

    4. 压力测试:超过最大负载,测试系统的极限性能和恢复能力,了解系统在极端情况下的表现。 5. 稳定性测试:长时间运行测试,检查系统在长时间工作下的性能稳定性。 三、100%覆盖率的意义与实现 1. 功能覆盖:...

    手机APP测试&Web网站测试工具及要点总结

    性能或压力测试工具如iTest和Emmagee可用于评估APP性能,而LoadRunner和JMeter则适用于服务器端的压力测试。 手机APP测试的主要要点包括功能测试、兼容性测试、性能测试、易用性和稳定性测试。功能测试要确保安装、...

    自动化测试Apk,AutoMonkey,老化测试

    总结起来,自动化测试Apk是提升Android应用质量的关键步骤,AutoMonkey作为一种强大的自动化压力测试工具,能够有效地帮助开发者进行疲劳测试和老化测试,发现并修复潜在问题。通过熟练掌握和应用这些测试技术,...

    全国计算机等级考试四级软件测试工程师模拟考试软件

    这包括压力测试、负载测试和耐久测试。考生需掌握性能测试工具的使用,例如JMeter或LoadRunner,以及如何分析性能测试结果,识别性能瓶颈。 五、软件质量保证 质量保证是保证软件质量的过程,包括制定质量标准、...

    软件测试培训文档

    软件测试不仅包括基础的单元测试,还涵盖了多种高级测试方法和技术,如黑盒测试、白盒测试以及压力测试。这些概念是软件开发过程中的关键环节,下面我们来详细探讨。 首先,软件测试是一个系统的过程,其目标是对...

    JMeter开源压力测试平台介绍.pdf

    JMeter的核心功能包括对多种协议的压力测试,如HTTP、HTTPS、SOAP/REST、FTP、JDBC数据库连接、LDAP、JMS消息中间件、SMTP、POP3和IMAP邮件服务,以及通过执行本地命令或shell脚本来模拟各种操作。此外,JMeter还...

    【大学生软件测试大赛】途牛赛题包

    7. **性能测试**:除了功能测试,软件测试也涵盖性能测试,如压力测试和负载测试,以评估软件在高并发或大流量下的表现。 8. **持续集成与持续测试**:了解如何将测试脚本集成到持续集成(CI)流程中,例如使用...

Global site tag (gtag.js) - Google Analytics