您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > TestNG
TestNG中使用官方標記實現(xiàn)并發(fā)測試
作者:網(wǎng)絡轉載 發(fā)布時間:[ 2013/12/23 11:50:57 ] 推薦標簽:

TestNg官方手冊中對于這2個標記的說明為:

invocationCount    當前方法被調(diào)用的次數(shù);

threadPoolSize    當前方法的線程池大小。方法將被多線程調(diào)用,次數(shù)由invocationCount參數(shù)指定;

注意:

threadPoolSize的設定要依賴invocationCount的設定,如果invocationCount的設定值小于threadPoolSize的設定值,多于的設定是無效的,舉個極端的例子,如果你threadPoolSize設定是100,而invocationCount沒有設定(默認為1次),那么系統(tǒng)只有開啟一個線程來運行。反過invocationCount的設定不依賴threadPoolSize,testNG會以默認值1來運行。

 

實例:

@Test(dataProvider ="CsvDataProvider", invocationCount = 8, threadPoolSize = 5, description ="資金業(yè)務-同步執(zhí)行-正常業(yè)務場景測試")

這是我目前使用的一段代碼摘要。標記表達的意思便是起5個線程并發(fā),總共執(zhí)行方法8次

[點擊圖片可在新窗口打開]

在使用debug觀察線程的時候可以看到thread啟動了5條。測試代碼執(zhí)行的日志顯示在同一時間內(nèi)方法被調(diào)用了5次

11:12:00,531 [TestNG] INFO  DriverDataProvider : =============== START [02N01] ===============

11:12:00,532 [TestNG] INFO  DriverDataProvider : =============== START [02N01] ===============

11:12:00,532 [TestNG] INFO  DriverDataProvider : =============== START [02N01] ===============

11:12:00,532 [TestNG] INFO  DriverDataProvider : =============== START [02N01] ===============

11:12:00,531 [TestNG] INFO  DriverDataProvider : =============== START [02N01] ===============

到這里為止,大家可以發(fā)現(xiàn)這個標簽可以非常方便的讓我們執(zhí)行并發(fā)測試,不再需要額外的錄制腳本來壓測。對于小當量及和一些日常的并發(fā)測試可以非常靈活的運用上。

 

后附上一個發(fā)散的東西。

   publicstaticvoidt() {

       longstart = System.currentTimeMillis();

       while(true) {

                      //you can do something at here

            System.out.println("222");

           if((System.currentTimeMillis() - start) > 10000) {

               break;

            }

        }

    }

這是一個10秒循環(huán)的方法,當然你也可以變成10分鐘,也可以變成10小時。結合標記invocationCount = 1000000, threadPoolSize = 10你們都懂得。

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd