關鍵字:白盒測試 軟件測試藝術》讀書筆記
先談及、概括一下白盒測試。 白盒測試,所關注的是:測試用例執行的程度或覆蓋程序邏輯結構(源代碼)的程度。因此,也可以認為是邏輯覆蓋測試。具體方法有五個,按其邏輯覆蓋的從弱到強依次列出:
語句覆蓋(面): 將程序中的每條語句至少執行一次,但實現不太可能,該準則有很大的不足,以至于它通常沒有什么用處
判定/分支覆蓋(線): 必須編寫足夠的測試用例,使得每一個判斷都至少有一個為真和為假的輸出結果。即:每條分支路徑都必須至少遍歷一次。換句話說:所有判斷的每個可能結果都至少執行一次,以及將程序或子程序的每個入口點都至少執行一次。需要指出的是:該準則滿足語言覆蓋準則。
條件覆蓋(點): 編寫足夠的測試用例以確保將一個判斷中的每個條件的所有可能的結果至少執行一次。
判定/條件覆蓋(點線結合): 設計出足夠的測試用例,將一個判斷中的每個條件的所有可能結果至少執行一次,將每個判斷的所有可能結果至少執行一次,將每個入口點都至少調用一次。需明確一點,該準則有一個極大的缺點:盡管看上去所有條件的所有結果似乎都執行到了,但由于某些特定的條件會屏蔽掉其他的條件,通常并不能全部都執行到。例如:該準則并不一定會發現邏輯表達式中的錯誤(與、或)。
多重條件覆蓋(點線組合):
編寫足夠多的測試用例,將每個判定中的所有可能的條件結果的組合,以及所有的入口點都至少執行一次。需要說明的是,滿足多重條件覆蓋準則的測試用例集,同樣滿足判定覆蓋準則、條件覆蓋準則以及判定/條件覆蓋準則。需明確的是:在存在循環的情況下,多重條件覆蓋準則所需要的測試用例的數量通常會遠遠小于其路徑的數量。
文尾,作者小結了一下。
包含每個判斷只存在一種條件的程序,最簡單的測試準則就是:設計出足夠數量的測試用例,將每個判斷的所有結果都至少執行一次;將所有的程序入口都至少調用一次,以確保全部的語句都至少執行一次。
包含多重條件判斷的程序,最簡單的測試準則是:設計出足夠數量的測試用例,將每個判斷的所有可能的條件結果的組合,以及所有的入口點都至少執行一次。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/