調用說明:按鈕、菜單顯示參數配置界面
名稱:本類的實例化對象 ParameterPage
調用說明:show()、toFront()方法
2.
各個服務模塊
調用說明:直接調用getParam()方法
——————————————————————————————————————————————————————————
那么對于這一個單元模塊來講,在開發時是再涉及到單元測試時,往往show(),toFront()方法還沒有開發出來,所以測試工程師需要獨立開發驅動模塊或樁模塊。,驅動模塊和樁模塊的概念如下,網上有很多概念,不好理解,我認為用這種說法更方便理解。
驅動模塊在大多數場合稱為\"主程序\",它接收測試數據并將這些數據傳遞到被測試模塊,相反樁模塊就是那些被測試模塊所調用的“程序”,它們之間的區別是調用與被調用的關系。
往往被測試單元的上層程序還沒有開發出來我們就需要實施單元測試,上層程序有時要包含多個調用界面,函數,方法等,而我們測試的單元模塊的期望結果有可能只有返回一個值或是傳遞一個參數,這時候就需要編寫驅動模塊或者是樁模塊(如果是需要調用其它函數返回的值)。
如何編寫樁模塊?舉一個簡單的例子
/*被測程序*/
int Fun(int in)
{
if (in >= 0)
{
return 1;
}
else
{
return -1;
}
}
那么通過TCL進行擴展指令編寫時,針對該被測函數,驅動如下:
/*用戶自己擴展的用戶指令,用來驅動被測函數*/
int Ex_TestFun(ClientData clientData,Tcl_Interp * interp,int argc, char* argv[])
{
int i;
int ret,iExceptedRet;
//打開測試結果記錄文件
FILE * out;
out = fopen(\"D:\\\\result.txt\",\"a\");
//第一步:檢查用戶輸入參數個數是否正確
if (3 != argc)
{
fputs(\"Parameters error\",out);
fflush(out);
return TCL_ERROR;
}
//第二步:取出用戶輸入參數
if (TCL_OK != Tcl_GetInt(interp,argv[1],&i))
{
return TCL_ERROR;
}
if (TCL_OK != Tcl_GetInt(interp,argv[2],&iExceptedRet))
{
return TCL_ERROR;
}
//第三步:將參數傳遞給被測函數
ret = Fun(i);
//第四步:將被測函數執行結果和輸入的期望結果進行比較,根據比較結果作為用例執行結果輸出到測試報告中if (ret != iExceptedRet)
{
fputs(\"test fail\",out);
fflush(out);
}
else
{
fputs(\"test success\",out);
fflush(out);
}
return TCL_OK;
}
——————————————————————————
驅動模塊編寫完畢后,就可以直接實施單元測試而不必等待上層的程序開發出來才能進行測試,提高工作效率。
文章來源于領測軟件測試網 http://www.kjueaiud.com/