這個時候我們輸入參數”uniquestudiowcd“和”tester“覆蓋到了所有的語句,但是我們漏掉了一個路徑:即輸入參數”uniquestudiowcd“和”coder“。
分支覆蓋率:我們也給它換個名字即”路徑覆蓋率“,盡管并不完全對。在上面的例子中,如果我們僅考慮了第一個用例(即輸入參數”uniquestudiowcd“和”tester“),我們的語句覆蓋率為100%,帶式路徑覆蓋率可就低了,因為它存在ABD,ABCD,ABCDE,ABDE等等很多路徑。
條件覆蓋率:這也就是為什么不能說”分支覆蓋“不同于”路徑覆蓋“的原因所在。如果我們在一個IF語句中加入了判斷組合,那就要考慮更多的問題了,因為主要出現在條件語句中,所以我們稱之為”條件覆蓋“。我們更改上述示例代碼:
public verifyToken(string yourname, string yourtitle,string gendar)
{
A output(”Hello, my dear friends“);
B if(yourname == "uniquestudiowcd" && gendar == ”man“)
{
C output("Hello, Aaron");
}
D if(yourtitle == "tester")
{
E output("Hello, my dear tester");
}
}
很明顯即使我們輸入參數”uniquestudiowcd“”tester“,”woman“和”uniquestudiowcd“”tester“”man“,這兩個用例的路徑走的分支是一樣的,但是條件覆蓋不一樣,實際上兩者的”路徑“也是不一樣的。
上面主要介紹的測試覆蓋率的一些基本知識,在關于測試覆蓋率的第二篇文章中,我將介紹歸納一下測試覆蓋率的用處,或者說測試覆蓋率的意義。
個人觀點,僅供參考~ 如有問題請聯系unique.wuchaodong@hotmail.com
文章來源于領測軟件測試網 http://www.kjueaiud.com/