在VectorCAST for Linux中使用分類樹功能生成測試用例

創提科技
2021/12/20

分享到

在軟體測試中,測試用例的設計是對測試品質而言非常關鍵的軟體測試活動,因為測試用例集合的選擇對測試的深度和測試範圍的影響非常大。分類樹方法是由Grochtmann和Grimm在1993年提出的,是在軟體功能測試方面一種有效的測試方法,通過分類樹把測試物件的整個輸入域分割成獨立的類。按照分類樹方法,測試物件的輸入域被認為是由各種不同的方面組成並且都與測試相關。對於每個方面,分離和組成各種類別,而分類結果的各類又可能再進一步地被分類。這種通過對輸入域進行層梯式的分類表現為樹狀結構。隨後,通過組合各種不同分類的結果來形成測試用例。

 
VectorCAST中,也支持分類樹方法設計測試用例,整個過程都是圖形化的介面,變數的輸入輸出範圍全部都可以通過圖形化的介面來設計,整個過程不需要編寫程式碼,只需要根據測試需求確定輸入輸出的範圍就可以批量設計測試用例。目前,分類樹方式生成測試用例的功能是通過Test Data Editor來設計變數的輸入輸出範圍的。受限於Test Data Editor僅支援Windows平臺,根據分類樹來生成測試用例只能在VectorCAST for Windows中使用。那麼在VectorCAST for Linux如何使用分類樹設計並生成測試用例呢?在新版的 VectorCAST for Linux中,已經支援通過間接的方式來使用,需要借助VectorCAST for Windows中的Test Data Editor。


測試環境
 
Ubuntu 21.04,VectorCAST 2021 SP5 for Linux,Windows 10,VectorCAST 2021 SP5 for Windows。


操作步驟
 
打開一個終端,設置環境變數VCAST_ENABLE_REMOTE_VCT:export VCAST_ENABLE_REMOTE_VCT=1
 
如果是通過啟動腳本來啟動的VectorCAST,需要在啟動腳本內添加上述命令。
 
設置完成後,在相同的終端內啟動VectorCAST,或通過啟動腳本來啟動VectorCAST
 
VectorCAST進入主介面後,創建或打開一個測試環境,找到被測函數,按右鍵被測函數,點擊Generate VCT Map,之後可以看到,被測函數下方出現了一個VCT Map。


在VectorCAST for Linux中使用分类树功能生成测试用例-1.jpg


在下圖所示的介面中,需要先設置VCT Filename,預設為函數名+數位.vct,完成後點擊Finish。


在VectorCAST for Linux中使用分类树功能生成测试用例-2.jpg

 
在這裡需要選擇要賦值的參數,可以根據實際測試需求,選擇輸入值和期望值。


在VectorCAST for Linux中使用分类树功能生成测试用例-3.jpg

 
選擇好參數之後,回到被測函數的位置,找到下方的VCT Map,按右鍵VCT Map,點擊Edit VCT。
 
這一步會自動打開説明視窗,可以根據提示,通過複製檔或通過網路傳輸的方式,把生成的VCT傳輸到一台安裝了VectorCAST for Windows的Windows機器上。


在VectorCAST for Linux中使用分类树功能生成测试用例-4.jpg

 
這裡採用複製檔的方式,把單元測試環境工作目錄下的VCT_REMOTE目錄複寫到Windows機器上,執行VCT_REMOTE資料夾下的run.bat,就可以打開Test Data Editor,編輯分類樹並生成測試用例資料。


 在VectorCAST for Linux中使用分类树功能生成测试用例-5.jpg


設計完成後,關閉Test Data Editor,可以看到在VCT_REMOTE資料夾下自動生成了一個csv檔,之後把VCT_REMOTE資料夾複製回Linux機器並工作目錄下的VCT_REMOTE目錄,回到VectorCAST for Linux,可以看到説明視窗下方的Continue按鈕已經啟動,點擊Continue按鈕後,在提示視窗中點擊Yes,就可以生成測試用例。


在VectorCAST for Linux中使用分类树功能生成测试用例-6.jpg


在介面中找到被測函數下方的VCT Map,展開,就可以看到生成的所有測試用例。


在VectorCAST for Linux中使用分类树功能生成测试用例-7.jpg

 
總結


通過VectorCAST,可以方便地設計函數輸入輸出條件的分類樹,只需要設計參數的範圍,VectorCAST可以自動計算這些範圍並生成對應的測試用例來測試被測函數。VectorCAST for Linux也可以利用此方法來使用分類樹方法來生成測試用例,從而使測試變得更加高效,更有效率。