您的位置:軟件測試 > 開源軟件測試 > 開源性能測試工具 >
StressMark壓力測試工具
作者:網(wǎng)絡轉載 發(fā)布時間:[ 2012/12/3 14:42:25 ] 推薦標簽:

一個簡單的測試包的例子如下:

MyCase1.h

#include "stdafx.h"
#include "StressCase.h"

class MyCase1 : public StressCase
{
public:
    DECLARE_DYNCREATE(MyCase1)
    bool OneStep(CString& strErrorMessage);
};
 

MyCase1.cpp

#include "stdafx.h"
#include "StressCase.h"
#include "MyCase1.h"

IMPLEMENT_DYNCREATE(MyCase1, StressCase)

bool MyCase1::OneStep(CString& strErrorMessage)
{
    // do something...
    return true;

注意:定義測試用例類必須分成頭文件(*.h)和實現(xiàn)文件(*.cpp),在頭文件中的類定義體內必須包含語句

DECLARE_DYNCREATE(ClassName)
 

在實現(xiàn)文件中必須包含語句

IMPLEMENT_DYNCREATE(ClassName, StressCase)
 

上面的例子僅實現(xiàn)了OneStep()方法。需要時,也可以實現(xiàn)OnInitialize() 和 OnUninitialize()方法。測試者在測試用例代碼內可以通過 StressCase類的成員變量獲得與自身相關的各種信息,包括案例名稱、線程號、測試次數(shù)等,也可以在測試失敗時通過參數(shù)strErrorMessage返回錯誤信息(該錯誤信息將顯示在測試界面中),或者調用StressCase 類的 LogEvent() 方法記錄系統(tǒng)日志(僅在 Windows NT/2000下有效,日志信息記錄在操作系統(tǒng)的應用程序日志中,可以使用事件查看器閱讀)。

有關 StressCase類的各成員變量及方法的使用的詳細信息,請參見頭文件StressCase.h 中的代碼和注釋。

3. 將上面實現(xiàn)的頭文件和實現(xiàn)文件(如MyCase1.h和MyCase1.cpp)加入VisualC++工程中。

4. 必要的話,重復2-3,實現(xiàn)其他測試用例類。

5. 修改 TestSuite.cpp 的內容,定義測試包。TestSuite.cpp文件的格式及配置方法如下:

///////////////////////////////////////////////////////////////////////////
//
// TestSuite.cpp - 測試包定義
//
///////////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "StressCase.h"

//
// 在此處包含所有具體的測試用例類的頭文件,例如
// #include "MyCase1.h"
// #include "MyCase2.h"
// ...
//
#include "MyCase1.h"
#include "MyCase2.h"

//
// 此處定義所有具體的測試用例
//      每個具體測試用例的定義語法為
//
//      BEGIN_TEST_SUITE
//          DECLARE_TEST_CASE(ClassName, Name, Clients, Times, Interval)
//          ...
//      END_TEST_SUITE
//
//          其中,ClassName 是測試用例的類名,
//          Name 是顯示用的測試用例名稱,
//          Clients 是指定為該測試用例起多少個客戶(線程)
//          Times 是每個客戶(線程)中重復測試多少次
//          Interval 是線程中每兩次測試間的時間間隔(毫秒數(shù),
//              Interval 為 0 表示不間斷地連續(xù)測試)
//
//
BEGIN_TEST_SUITE
    DECLARE_TEST_CASE(MyCase1, "測試用例一", 5, 5, 1000)
    DECLARE_TEST_CASE(MyCase2, "測試用例二", 8, 10, 0)
END_TEST_SUITE
 

6. 編譯 StressMark 工程。注意要使用 Release方式編譯,以保證測試所得的時間數(shù)據(jù)的精確。

7. 在測試環(huán)境中運行程序StressMark.exe。測試者可以在程序界面中使用"開始測試"、"終止測試"按鈕來啟動或停止測試過程,測試結束后,可以用"報表"按鈕輸出測試報告到文本文件中。如果因線程調度或測試代碼的原因,測試過程無法停止的話,測試者可以直接使用"殺所有線程"按鈕終止測試。

8. 其他更詳細的信息,如測試用例的執(zhí)行方式,線程調度規(guī)則等,可以參見StressMan.h 和 StressMan.cpp 中的代碼和注釋。

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