亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-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一片欧 | 天天干天天射天天舔 | 欧美第九页 | 日本又色又爽又黄的大片 | 天天色天天草 | 成年人视频黄色 | 国产黄色a三级三级三级 | 欧美日韩性视频在线 | 欧美特黄a级高清免费大片 欧美太黄太色视频在线观看 | 亚洲天堂在线观看视频 | 中国大陆高清aⅴ毛片 | 中国一级毛片国产高清 | 国内精品伊人久久久影视 | 伊人成人在线视频 | 中文字幕精品在线 | 黄色网一级片 | 中文字幕第12页 | 视频在线观看h | 韩国理伦片最新免费观看 | 国内精品久久久久久西瓜色吧 | 99热精品国产麻豆 | 蜜桃日本一道无卡不码高清 | www.国产一区二区三区 | 午夜三级成人三级 | 亚洲国产精品一区二区九九 | 亚洲成人激情小说 | 影院午夜 | 羞羞影院体验区 | 免费看一级特黄a大片 | 亚欧在线一线 | 18岁以下禁止看很黄的视频 | 看看的在线视频国产 | 日韩欧美成人免费中文字幕 | 成人三级图片 | 在线观看中文字幕 | 国产精品高清一区二区三区 | 日本天堂在线观看 | 亚洲 欧美 手机 在线观看 | 久久综合久久综合久久综合 | 国产成人8x视频一区二区 | 亚洲色图综合网 |