详述白盒测试的逻辑覆盖法的判定覆盖及其优缺点
https://blog.csdn.net/hanhanwanghaha寶藏女孩 歡迎您的關注!
歡迎關注微信公眾號:寶藏女孩的成長日記
如有轉載,請注明出處(如不注明,盜者必究)
詳述白盒測試的邏輯覆蓋法的判定覆蓋及其優缺點:
判定覆蓋的定義:
判定覆蓋是設計足夠多的測試用例,使得程序中的每一個條件判斷至少獲得一次“真”和一次“假”,即使得程序流程圖中的每一個真假分支至少被執行一次。
相比語句覆蓋:
針對判斷語句,在設定案例的時候,要設定True和False的兩種案例,與語句覆蓋不同的是增加了False的情況。語句覆蓋是最基本的覆蓋,只要能夠滿足判定覆蓋,就一定能夠滿足語句覆蓋。
判定覆蓋率:
判定覆蓋率=每個判定的真假值至少出現一次/判定結果的總數
eg: 案例代碼中有判定2個,判定結果4個,設計測試用例執行了3個分支,分支覆蓋率為3/4=75%。
測試實例:
以linux下shell編程為例:
輸入以下代碼,進行測試:
我們設置兩個簡單的測試用例:a=1 b=2 c=3 d=4和a=-1 b=-2 c=-3 d=-4,得到下圖的結果:
我們對用例進行執行,我們的判定覆蓋率為: 100%
這里我們要區別語句覆蓋:
語句覆蓋是讓echo $(($a+$b+$c+$d))和echo $(($a-$b-$c-$d))都執行一遍。而判定覆蓋就是讓程序的判定分別為真和假一次,因此,只要能夠滿足判定覆蓋,就一定能夠滿足語句覆蓋。
優缺點:
優點:
判定覆蓋具有比語句覆蓋更強的測試能力,同樣也無須細分每條判定表達式。
缺點:
以上面的代碼為例:如果我們將條件語句寫錯了,寫成:
也就是將if中且改為或,我們同樣可以輸出結果
由上圖可知,我們得到了和If中為&&一樣的結果,因此,我們可以得到:與語句覆蓋一樣的結論:判定覆蓋能夠滿足條件的要求,但是不能對判斷條件進行檢查。
https://blog.csdn.net/hanhanwanghaha寶藏女孩 歡迎您的關注!
歡迎關注微信公眾號:寶藏女孩的成長日記
如有轉載,請注明出處(如不注明,盜者必究)
總結
以上是生活随笔為你收集整理的详述白盒测试的逻辑覆盖法的判定覆盖及其优缺点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android在布局XML中的空格转义符
- 下一篇: 在Python当中如何打印输出当前时间(