三階段完成徹底的測試:
1) 根據程序的典型輸入建立一個或幾個測試用例,這種測試用例是很容易想到的;
2) 針對未覆蓋的邏輯單位,使用測試用例設計器設計覆蓋用例,完成100%語句、條件、分支、路徑覆蓋;
3) 運行自動邊界測試檢查預料之外的隱含錯誤。
請注意對測試效果的要求,VU所說的是完成,完成100%語句、條件、分支、路徑覆蓋,而不是僅僅統計出代碼覆蓋率。
對復雜輸入輸出的處理
程序的輸入輸出可能很復雜,例如:參數是復雜的結構或對象、需要讀寫一些成員變量等等。如果不能輕松處理復雜的輸入輸出,測試工具的實用價值就會大打折扣。
測試邏輯很復雜的程序
VU所說的完成100%語句、條件、分支、路徑覆蓋,是指很復雜的程序也能完成這種覆蓋,而不是只能對付特定的簡單的例子。這個示例演示比較復雜的代碼的測試,當然,為了便于講解,不便使用過于復雜的示例,VU的Samples中有更復雜的示例。
邊開發邊測試
VU除了能實現徹底測試外,還創造性地使單元測試工具同時成為高效的開發調試支持環境。開發工程師即使不做單元測試,也肯定要調試自己的代碼,編程時肯定需要調試環境,包括用于執行程序的驅動和輸入數據,VU建立的測試代碼兼具測試和調試功能,編寫一個函數時,通常在一分鐘內就能建立好調試環境,同時,VU提供的如下功能大量地提高開發和調試的效率:
顯示輸入輸出數據,有助于整理和驗證編譯思路,提高開發效率;
瀏覽輸入輸出數據和用例所執行的代碼,通常能很快地找出代碼錯誤;
調試增強功能,調試時可以隨意后退,可以切換輸入等等。
對于測試人員比例較高企業而言,我們推薦用以下流程進行開發和單元測試:
1)開發工程師編碼時進行基本的單元測試,即三階段中的第一階段。開發工程師寫代碼時肯定要想清楚代碼的功能并且要使用基本的輸入進行調試,這些就是基本的測試用例,實際上不需要多做什么。開發工程師提交代碼同時提交測試代碼和測試報告。
2)測試工程師檢查基本測試用例是否符合設計,并在此基礎上完成白盒覆蓋和邊界測試。由于有了初步的測試,保證了代碼可測性,不可能產生因為不當耦合造成難于測試的狀況。在現有用例的基礎上,使用測試用例設計器找出遺漏用例應該不會有太大障礙。測試人員只需要提交更新過的測試代碼和測試報告,不需要另外記錄測出的問題。
3)開發工程師下載新的測試代碼和測試報告,執行整體測試,然后針對報告了錯誤的函數執行函數測試以獲取詳細信息,必要時進行調試,找出錯誤,修改代碼,使所有測試通過,再次提交產品代碼和測試報告。
4)測試工程師再次執行整體測試,驗證所有的測試均已通過。
文章來源于領測軟件測試網 http://www.kjueaiud.com/