在測試用例中,需要描述測試數據和測試數據約束。比如,對于金額輸入欄位,我們只能夠輸入金額,輸入其它就是無效的,根據類型,我們就可以劃分有效等價類和無效等價類。對于選擇性別的checkbox、combobox,它的約束是只能夠輸入所確定的兩個選項。
被測試系統的數據約束,對于設計測試用例,具有非常重要的意義。在常規的測試用例設計中,都是測試工程師根據一個一個具體的需求、功能來設計測試用例,對數據約束關注程度只在于測試用例設計的時候。如果需要深入了解,就需要花費大量的時間來了解,這樣會導致:第一,測試設計人員的時間被浪費在了解更多具體的輸入項目、輸入選擇;第二,測試設計本身也要求測試設計工程師來根據輸入數據項,來設計不同的測試用例,以達到更好的覆蓋效果。
因此,把數據字典引入測試用例設計,就具有非常現實的意義。
對測試的數據字典的要求。測試的數據字典與開發的數據字典不同,只需要對每個簡單的數據字典項進行約束,只需要給出一個正則表達式,就可以很好的描述。例如,我們使用一個正則表達式表示性別:[0-男]|[1-女]。從使用方便性來考慮,由于眾多的測試工程師對正則表達式理解和直觀性感覺不是非常好,可以采用“類型+選項”的方式。首先,每個數據字典項都具有一個類型,如:字符串(需要約定長度)、整數(約定長度)、金額(指定總長度和小數點位數)、中文類型等;對于某些輸入值具備固定選項的部分,可以列出。
數據字典對測試腳本與測試用例設計。當我們的測試管理中引入了數據字典,就可以使用數據字典對:測試腳本、測試用例進行約束。首先,對測試腳本進行約束。自動測試的測試腳本都是需要參數化的,我們把參數化之后對應的數據文件,叫做參數文件(暫時這樣定義)。參數文件定義了這個測試腳本都有哪些數據可以被修改、正交。因此,使用數據字典來進一步描述參數文件:使參數文件的每個數據項與數據字典項來關聯,就可以知道基本的測試用例輸入約束規則(當然,還需要很多其它約束規則,特別是參數項之間的約束規則)。基于這個數據約束和當前項在本測試中的意義,就可以很容易的進行等價類劃分、邊界值定義,并且通過這些來設計測試用例。
通過引入數據字典來設計出的測試用例,測試用例的數據也是與數據字典來關聯的。
把數據字典引入測試用例維護。當我們需要根據需求,修改數據字典項,就可以很容易的:
1)修改測試腳本。對于測試腳本,如果操作流程沒有修改,只需要重新根據數據字典來進行一次參數文件的更新就可以了;
2)測試用例修改。由于數據字典的修改,需要重構測試用例,根據數據字典項重新進行測試用例設計,就可以重構測試用例。并且根據數據字典項的修改內容,可以很容易定位到具體有哪些測試用例、哪些測試需求需要被同步更新。
總結。在測試項目中,通過引入測試數據字典,可以簡化和規范測試用例設計活動,使得測試過程中的測試數據管理更容易實現,更簡單實現,也能夠有效減少工作量。同時,當進行測試用例維護的時候,更容易發現、定位測試用例。
新聞熱點
疑難解答