Wings電腦版是專門用對測試的操作能夠做到詳細的操作。Wings電腦版我們還可以完成對于被測試函數的參數進行多層編譯解析,使用方便簡單。
功能介紹:
(1) 程序參數深度分析問題
Wings通過編譯器底層技術,將輸入的源文件,按照函數為單位,形成模塊對象。對象中包含函數的輸入參數,返回值類型等信息,供驅動函數模塊和測試用例模塊使用。每個文件作為一個單元,針對其中的每個函數的每個參數進行深度解析,對于嵌套類型,復雜類型等都可以實現精確的解析和分解,將復雜類型逐層講解為基礎數據類型,并產生參數結構的描述文件(PSD)。
(2) 函數驅動自動生成模塊
依據psd文件的格式信息,自動生成被測源程序的所有驅動函數,單元測試過程不再依賴開發人員手動編寫測試函數,只需將生成的驅動函數和被測源文件一起編譯,即可執行測試并查看測試結果。測試驅動自動生成程序基于PSD描述,全自動構建驅動被測程序運行的所有參數,必須的全局變量,并可根據復雜變量的層級結構產生結構化的測試驅動程序,可以節省大量的單元測試用例的編寫時間。
(3) 測試數據自動生成與管理
用于自動生成測試數據,測試數據與被測函數提取的信息相互對應,數據以一定的層次邏輯關系存儲在json文件中。數據和經過分解和展開后的數據類型是一一對應的。這些數據用戶可以根據業務要求隨意邊際,并且用json文件進行結構化,層次化展示,非常的清晰。其中的測試數據包括全局變量值、被測函數調用時的參數值。
1.可以為任意復雜參數結構c語言開發的系統全自動生成測試驅動程序
2.可完成對于被測試函數的參數進行多層編譯解析,并完成復雜參數賦值的代碼的自動生成。
3.支持被測函數引用的全局變量的分析和自動賦值程序的生成。
4.能夠區分系統變量和用戶變量,對于復雜的系統變量可由用戶自定義賦值模板。
例如File類型,而不是把復雜的系統變量全部展開。
5.支持多層次的可視化的數據表格來對變量進行賦值,而無需關注驅動程序本身。
數據表格可以表達任意深度和多層次的數據關系,用戶只需要對表格數據進行編輯,自動生成的驅動程序會自動完成表格數據的讀取和參數賦值的構造過程。
6.Wings支持所有C語言的數據類型(基礎類型,結構體,指針,數組,枚舉等)以及高層級數據結構。
例如鏈表的分析和對應的驅動和數據表格框架的生成。
7.Wings生成的代碼與人工寫的非常相近,可讀性強,自帶注釋和按照層次的縮進和代·碼編排。
下面我們嘗試使用wings來完成單元測試框架與測試數據的自動生成(首先準備好需要測試的C語言工程)
第一步:打開wings工具,選擇被測工程的主要目錄。
第二步:點擊工程操作中的分析生成, 對工程目錄下的.c文件進行解析,保存為XML的格式,生成的文件保存在工程目錄下的FunXml與GlobalXml中,分別是函數信息與全局變量的信息,點擊驅動文件結構圖,即可看到對應文件的函數結構信息。
可以查看所有.c文件的驅動函數,以及函數所對應的參數信息與全局變量的信息。
第三步:點擊功能操作驅動生成, 完成項目的驅動框架自動生成,驅動文件保存在wings_projects下的Driver文件夾下。點擊驅動文件,即可看到對應.c文件的驅動生成代碼。
點擊單個函數,可以高亮定位到函數所在位置,并且雙擊函數參數,可以定位到每個參數的賦值單元,查看每個參數的具體驅動賦值代碼。
第四步:點擊值功能操作的值生成按鈕,則對應生成測試數據。
界面上顯示為單個函數的測試數據,可依據需要修改測試次數,重新生成測試數據文件,也可依據需要修改特定的測試數據。
第五步:將驅動文件加載到所在工程目錄,與源文件一起編譯,即可運行。
如果想查看對應的函數信息與全局變量信息,則右鍵對應打開對應的Parameter Struture Description(函數信息結構體)與Global Parameter Struture Description(全局變量結構圖)。
Parameter Struture Description(函數信息結構體):顯示函數的名稱,參數個數,參數類型以及復雜類型的展開形式。
Global Parameter Struture Description(全局變量結構圖):顯示全局變量的結構信息。
使用過程中注意事項:
(1)編譯源文件過程中,需要手動注釋調源文件中的main函數,wings將自動生成調用驅動函數的主函數。
(2)遇到特殊類型的賦值,可自行添加模板賦值方式,添加之后,再次生成驅動文件即可。
例如:遇到FILEL類型的賦值,可在模板中添加對應的賦值方式。
網友評論