規格說明測試的可行性:
考慮下面的例子。假定某個數據處理產品的規格說明指出,必須包含5類傭金和7類折扣。僅測試傭金和折扣的每個可能的組合就需要35個測試用例,說傭金和折扣是在兩個完全獨立的模塊中,因而可以獨立測試是沒有用的,因為在黑盒測試中將產品當作黑盒對待,它的內部結構因此是完全無關的。因此,徹底的規格說明測試在實際中是不可能的,因為它的組合方式會爆炸式的增長。
代碼測試的可行性:
代碼測試最常見的形式要求對模塊通過的每條路徑最少執行一次。試驗產品中全部路徑是不可靠的,因為存在這樣的產品,某些數據試驗一個給定路徑將檢測到錯誤,而不同的數據試驗同一個路徑將不會檢出錯誤。然而,面向路徑的測試是有效的,因為它沒有固有地將可能揭示錯誤的測試數據的選擇排除在外。
因為組合爆炸,徹底的規格說明測試或徹底的代碼測試都是不可行的。為此,在使用將盡可能多揭示錯誤的技術的同時,也承認沒有方法保證已經檢測出全部錯誤,一個繼續下去的合理的辦法是首先使用黑盒測試用例,然后使用玻璃盒測試開發額外的測試用例。
黑盒單元測試技術:
徹底的黑盒測試通常要求成百上千億的測試用例,因此測試的技巧是設計一個較小,可管理的測試用例集,是檢測出一個錯誤的機會最大,同時通過讓相同的錯誤由多個測試用例檢出從而使浪費一個測試用例的機會最小。一個這樣的黑盒技術是結合了邊界值分析的等價測試。
1. 等價測試和邊界值測試
假定一個數據庫產品的規格說明指出,該產品必須能夠處理任何從1到16383個記錄,如果該產品能夠處理34個記錄和14870個記錄,那么它在比如說 8252個記錄時工作良好的可能性很大。因此,該產品能夠處理的記錄數的規定范圍可以定義三個等價類:比1個記錄小,從1到16383個記錄和多于 16383個記錄。
一個成功的測試用例能檢測出先前未檢測到的錯誤,為了使發現這一的錯誤的機會最大,一個高效的技術是邊界值分析。
綜上,因此,測試這個數據庫產品的時候,應選擇7個測試用例:
1> 0個記錄:等價類1的成員,臨近邊界值。
2> 1個記錄:邊界值。
3> 2個記錄:臨近邊界值。
4> 723個記錄:等價類2的成員。
5> 16382個記錄:臨近邊界值。
6> 16383個記錄:邊界值。
7> 16384個記錄:等價類3的成員,臨近邊界值。
延伸閱讀
文章來源于領測軟件測試網 http://www.k11sc111.com/