`

使用testNG进行并发性能测试

    博客分类:
  • java
阅读更多
import java.lang.reflect.Method;

import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

public class NewTest {
	
	@DataProvider(name = "dp")  
	public Object[][] createData(Method m) {  
	  System.out.println(m.getName());  // print test method name  
	  return new Object[][] { new Object[] { "Cedric" }};  

	}  

	   

	@Test(dataProvider = "dp")  
	public void test1(String s) {  
        System.out.println(s);
        assert true;
	}  

	   

	@Test(dataProvider = "dp")  
	public void test2(String s) {  
		 System.out.println(s);
	        assert true;
	} 

	@Test(invocationCount=1000,threadPoolSize=500)
	public void testMethod() throws Exception{
	    int i = 0;
		while(i < 100){
			System.out.println(i++);
			Thread.sleep(100);
		}
	}

}

 

invocationCount设定的是这个方法的执行次数

threadPoolSize 这个属性表示的是开启线程数的多少,threadPoolSize的设定要依赖 invocationCount的设定,如果invocationCount的设定值小于threadPoolSize的设定值,多于的设定是无效的,举个极端的例子,如果你threadPoolSize设定是100,而invocationCount没有设定(默认为1次),那么系统只有开启一个线程来运行。反过invocationCount的设定不依赖threadPoolSize,testNG会以默认值1来运行。

 

开始时我将threadPoolSize设置去掉,然后执行,发现输出结果都是顺序的,而加上threadPoolSize设定后输出开始有些错乱,表明确实是多线程在执行。

我们能够使用这种方法进行并发测试和性能测试。

0
1
分享到:
评论

相关推荐

    testng junit 下一代测试框架

    这对于大型项目或需要进行性能测试的情况尤其有用。 2. **测试分组**:TestNG引入了测试分组的概念,允许你将相关测试逻辑组织在一起,便于管理、运行和跳过特定组的测试。 3. **注解丰富**:除了JUnit的`@Test`,...

    testng-6.9.4和testng-6.8.8.zip

    它还支持使用各种类型的断言来验证测试结果,以及使用TestNG XML Suite文件进行分布式测试,使得在多台机器上并行运行测试成为可能。 总之,TestNG是一款功能强大的测试框架,提供了丰富的选项来满足不同层次的测试...

    testng-6.1.jar下载

    9. **线程池**:TestNG允许定义线程池来控制并行测试的执行,这对于测试性能和并发场景非常有用。 在实际开发中,使用testng-6.1.jar,可以通过以下步骤将TestNG集成到项目中: 1. 将该JAR文件添加到项目的类路径...

    eclipse-testng离线包

    8. **并发测试**:TestNG支持使用@Parallel注解实现并发执行测试,这在测试多线程或者性能测试时非常有用。 9. **异常处理**:TestNG允许使用@Test注解的expectedExceptions属性声明预期的异常,如果测试抛出的异常...

    testng6.14.3

    此外,TestNG支持并行执行测试,这对于大型项目或性能测试来说非常有用。它还允许使用XML配置文件来定义测试结构,这使得测试组织更加灵活。 2. **注解驱动的测试**: TestNG引入了一系列注解,如@Test、@...

    perftest:JUnit 和 TestNG 性能测试框架

    "perftest:JUnit 和 TestNG 性能测试框架" 是一个专为Java开发者设计的工具,它结合了两个流行的单元测试框架——JUnit和TestNG,用于进行性能测试。这个项目不仅能够帮助开发者测试代码的功能性,还能衡量其性能...

    testng 6.8.8

    1. **并发测试**:TestNG 支持并发执行测试用例,这意味着可以同时运行多个测试,这对于性能测试和大规模测试套件尤其有用。通过`@Test(threadPoolSize = N)` 注解,你可以指定在特定线程池中运行的测试数量。 2. *...

    testng-6.8.7

    1. **多线程支持**:TestNG 支持并发测试,可以同时运行多个测试用例,提高了测试效率。这对于需要模拟多用户场景或进行压力测试的情况非常有用。 2. **测试套件和配置方法**:通过测试套件(Test Suite),你可以...

    最新testng-6.11 更新20170311

    TestNG 是一个强大的开源自动化测试框架,源自Java平台,由Cédric Beust创建。它在JUnit和NUnit的基础上提供了更多的功能,特别...无论是单独使用TestNG库还是通过Eclipse插件进行集成,都能提高测试的便捷性和效率。

    Java测试新技术-TestNG

    5. 性能测试:虽然TestNG不是专门的性能测试工具,但通过模拟高并发和长时间运行测试,可以用于识别性能瓶颈。 总的来说,TestNG是一种功能强大且灵活的测试框架,它为Java开发者提供了丰富的工具和方法来执行各种...

    TestNG插件

    1. **并发测试**:TestNG支持多线程执行测试用例,可以同时运行不同的测试,这对于测试分布式系统或者性能测试非常有用。 2. **分组测试**:通过定义测试组,用户可以方便地组织和运行相关的测试用例,例如,可以将...

    eclipse-testng插件离线安装

    TestNG是Java开发中的一款强大的测试框架,它扩展了JUnit的功能,提供了更多高级特性,如支持多种测试类型、并发测试、参数化测试等。在没有网络连接或者网络环境不稳定的情况下,我们仍然可以离线安装Eclipse中的...

    testNG eclipse离线安装插件

    Eclipse作为流行的Java集成开发环境(IDE),为了更好地支持TestNG,官方推出了TestNG Eclipse插件,使得开发者可以在Eclipse中直接进行TestNG测试的编写、运行和调试。 本资源提供的"testNG eclipse离线安装插件...

    Java测试新技术:TestNG和高级概念

    2. 服务器压力测试:结合JMeter或LoadRunner,利用TestNG进行大规模并发测试,评估系统性能。 3. TDD与BDD:TestNG支持TDD(测试驱动开发)和BDD(行为驱动开发),通过编写测试先于业务代码,确保软件质量。 五、...

    覆盖率&amp;并发性测试工具

    Junit和TestNG是流行的单元测试框架,它们可以配合覆盖率工具进行测试,同时支持模拟并发环境,进行并发性测试。此外,LoadRunner、JMeter和 Gatling 这类负载测试工具可以模拟大量用户并发访问,从而测试系统的并发...

    云端自动化测试工具TestNG等

    JMeter是一个开源的性能测试工具,可以用来模拟对服务器或网络应用的高负载。Jenkins是一个自动化服务器,它可以用来自动化各种任务,包括测试任务。 REST简介及后端服务搭建:REST(Representational State ...

    testng 离线资源包,6.9.13

    - **plugins**:可能是TestNG的插件目录,用户可以通过这些插件增强TestNG的功能,比如日志记录、性能测试等。 4. **使用离线资源包** 在没有网络连接的环境中,将这个资源包解压后,用户可以直接将jar文件添加到...

    org.testng.eclipse_6.8.6.20130607_0745.rar

    与JUnit相比,TestNG提供了更丰富的功能,比如并发测试、参数化测试、配置方法、依赖关系等,使得测试工作更为灵活和高效。这个"org.testng.eclipse_6.8.6.20130607_0745.rar"压缩包文件包含的是TestNG的Eclipse插件...

Global site tag (gtag.js) - Google Analytics