亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
JUnitPerf 使用手冊
作者:網絡轉載 發布時間:[ 2013/1/18 14:31:06 ] 推薦標簽:

long maxElapsedTime = 1000;

Test testCase = new ExampleTestCase("testOneSecondResponse");

Test timedTest = new TimedTest(testCase, maxElapsedTime);

同樣地,如果想要在執行過程如果超出預期時間立即結束本次測試可以在TimedTest構造函數中增加第三個參數,舉例如下:

long maxElapsedTime = 1000;

Test testCase = new ExampleTestCase("testOneSecondResponse");

Test timedTest = new TimedTest(testCase, maxElapsedTime, false);

以下代碼創建了一個執行時間的測試,用來測試被定義在單元測試ExampleTestCase.testOneSecondResponse()方法所代表的功能執行的時間。

執行效率測試舉例

import com.clarkware.junitperf.*;

import junit.framework.Test;

public class ExampleTimedTest {

    public static Test suite() {

        long maxElapsedTime = 1000;

        Test testCase = new ExampleTestCase("testOneSecondResponse");

        Test timedTest = new TimedTest(testCase, maxElapsedTime);

        return timedTest;

    }

    public static void main(String[] args) {

        junit.textui.TestRunner.run(suite());

    }

}

測試的粒度決定于JUnit的測試用例,并被JUnitPerf所使用,因此有一定的局限性。終獲得的執行時間為測試用例中testXXX()方法的執行時間,包括setUp(), testXXX(), 和tearDown()方法的執行時間。執行測試套件的時間包含測試套件中所有測試示例的setUp(), testXXX(), 和tearDown()方法的執行時間。所以,預期的時間還應該依照set-up和tear-down的執行時間來制定(把這部分時間也考慮進去)。

LoadTest

LoadTest用來仿效多個用戶并發執行多次來進行測試。

LoadTest簡單的構造函數只有兩個參數,測試用例和用戶數,默認情況下該測試只迭代一次。

例如,創建一個10用戶并發執行一次ExampleTestCase.testOneSecondResponse()方法:

int users = 10;

Test testCase = new ExampleTestCase("testOneSecondResponse");

Test loadTest = new LoadTest(testCase, users);

負載測試過程也可以指定一個額外的計數器實例用來指定用戶并發執行之間的延遲時間。ConstantTimer類構造函數包含一個常量參數,用來指定延遲時間,如果指定為0則表示所有的用戶同時開始。RandomTimer類可以構造出隨機的延遲時間。

例如:創建一個負載測試,10個并發用戶各執行一次ExampleTestCase.testOneSecondResponse()方法,各個用戶之間延遲1秒鐘執行。

int users = 10;

Timer timer = new ConstantTimer(1000);

Test testCase = new ExampleTestCase("testOneSecondResponse");

Test loadTest = new LoadTest(testCase, users, timer);

為了仿效并發用戶以指定迭代次數執行測試,LoadTest類構造函數包含了RepeatedTest參數。這樣可以為每個測試用例指定迭代次數了。

例如:創建一個負載測試,10個并發用戶,每個用戶迭代執行ExampleTestCase.testOneSecondResponse()方法20次,每個并發用戶之間延遲1秒。

int users = 10;

int iterations = 20;

Timer timer = new ConstantTimer(1000);

Test testCase = new ExampleTestCase("testOneSecondResponse");

Test repeatedTest = new RepeatedTest(testCase, iterations);

Test loadTest = new LoadTest(repeatedTest, users, timer);

或者這樣來寫:

int users = 10;

int iterations = 20;

Timer timer = new ConstantTimer(1000);

Test testCase = new ExampleTestCase("testOneSecondResponse");

Test loadTest = new LoadTest(testCase, users, iterations, timer);

如果負載測試要求測試在setUp()方法中包含特殊的測試狀態,那么應該使用TestFactory類來確保每個并發用戶線程使用一個本地線程測試實例。例如創建一個10用戶并發的測試,每個用戶運行ExampleStatefulTest類的一個本地線程,可這樣來寫:

int users = 10;

Test factory = new TestFactory(ExampleStatefulTest.class);

Test loadTest = new LoadTest(factory, users);

如果測試其中的某一個方法,可以這樣:

int users = 10;

Test factory = new TestMethodFactory(ExampleStatefulTest.class, "testSomething");

Test loadTest = new LoadTest(factory, users);

上一頁1234下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 国产精品丝袜在线观看 | 国产精品成人影院 | 关婷哪一级毛片高清免费看 | 黄视频日本 | 免费日本高清 | 日本三级香港三级人妇网站 | 日本精品不卡 | 国产成人a v在线影院 | 国产一二三区视频 | 污视频网站在线免费看 | 亚洲成av人片在线观看无码 | 夜夜爽免费视频 | 碰超在线| 欧美日韩一区二区中文字幕视频 | 欧美日韩一区二区在线 | 成年人网站免费观看 | 国产成人成人一区二区 | 午夜在线影视 | 热99re久久精品2久久久 | 114级毛片免费观看 1204国产成人精品视频 | 日本福利片午夜免费观着 | 日韩亚洲欧美在线 | 欧美成人精品一区二区三区 | 国产成人精品午夜免费 | 欧美成人hd | 免费人成在线观看播放国产 | 在线看片黄 | 九九热久久免费视频 | 成年大片免费高清在线观看 | 久久久精品免费视频 | 夜色影视 | 在线播放你懂的 | 五月桃花网婷婷亚洲综合 | 动漫美女胸被狂揉扒开吃奶动态图 | 9re视频这里只有精品 | 国产精品国产三级在线高清观看 | 国产精品久久久天天影视香蕉 | 手机看日韩 | 成人激情开心网 | 欧美日韩高清 | 色在线视频播放 |