軟件測試之關于測試覆蓋 軟件測試工具
軟件測試覆蓋包括分支覆蓋,語句覆蓋以及條件覆蓋,這是白盒測試中一個很基本的測試概念,但是最近和幾位搞了多年測試的朋友談及此事,大家都搞不大清楚。下面我通過一個例子來深入探討一下這個問題:
我們首先來看一下這幾些測試覆蓋的定義:
定義一、語句覆蓋:它要求被測程序的每一可執行語句在測試中盡可能都檢驗過;
定義二、分支覆蓋:要求程序中所有判定的分支盡可能得到檢驗;
定義三、條件覆蓋:當判定式中含有多個條件時,要求每個條件的取值均得到檢驗;
從這些定義我們可以很容易理解到語句覆蓋是把程序中的所有的語句都給覆蓋到;分支覆蓋是把程序中每個分支都給覆蓋到;條件覆蓋是把判斷條件中所有的條件都給覆蓋到。
下面我們通過一個簡單的例子來描述一下
0:
1:if ((a<150)||(b<200)){
2: for (i=a;i<100;i++)
3: {
4: println(“A”);}
5:}else{
6:println (“B”);
7:}
分支覆蓋:
1)在0處設置a=120,b 任意
將執行1,2,5
2)在0處設置a=200,b=400
將執行1,5,6,7
這里所有的分支都走到,也就是說要達到分支覆蓋率100%,要設計2組測試用例
a b 120 任意 200 400
語句覆蓋:
1)在0處設置a=40,b 任意
將執行1,2,3,4,5
2)在0處設置a=200,b=400
將執行1,5,6,7
這里所有的語句都走到了,也就是說要達到語句覆蓋率100%,要設計2組測試用例
a b 40 任意 200 400
而在分支覆蓋中語句3,4沒有走到
文章來源于領測軟件測試網 http://www.kjueaiud.com/