使用testNG进行并发性能测试

本文介绍如何使用TestNG框架进行并发及性能测试。通过设置方法执行次数(invocationCount)和线程池大小(threadPoolSize),可以实现方法的并发执行。示例代码展示了如何创建测试数据提供者以及执行多次测试。
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设定后输出开始有些错乱,表明确实是多线程在执行。

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


转载于:https://www.cnblogs.com/secbook/archive/2012/05/31/2655192.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值