使用TestNG進行性能測試/重複執行
來源:http://www.51testing.com/html/18/n-131218.html
TestNG提供了豐富的Annotation爲測試提供更強大,更細緻的控制,比如用於併發測試的invocationCount和threadPoolSize。
@Test(invocationCount=100,threadPoolSize=5)
public void testMethod(){}
invocationCount設定的是這個方法的執行次數.
threadPoolSize 這個屬性表示的是開啓線程數的多少.
例子中,invocationCount=100,threadPoolSize=5,表示:啓動5個線程來運行100次。
性能測試中兩種用法
一、 有明確的執行次數的場景,如這個方法要求併發執行1w次,這個很簡單,只要將invocationCount設定爲1w就可以了,線程數可以根據實際情況調整。
二、 要執行一段時間,如這個方法併發執行2小時,這時我們可以稍微調整一下程序,將invocationCount與threadPoolSize設爲一致,方法中增加對時間的控制:
@Test(invocationCount = 25, threadPoolSize = 25)
public void testMethod() throws Exception {
long start = System.currentTimeMillis();
while (true) {
doSomeThing();
if ((System.currentTimeMillis() - start) > 3000 * 20) {
break;
}
}
}
參考網址:http://blog.csdn.net/kittyboy0001/article/details/29562895
@Test(priority = 1)
@Test(priority = 2)
數字越小優先級越大