更新時(shí)間:2022-12-15 來(lái)源:黑馬程序員 瀏覽量:
軟件測(cè)試培訓(xùn)中會(huì)涉及到判定覆蓋(Decision Coverage)這個(gè)概念,判定覆蓋又稱為分支覆蓋,其原則是設(shè)計(jì)足夠多的測(cè)試用例,在測(cè)試過(guò)程中保證每個(gè)判定至少有一次為真值,有一次為假值。判定覆蓋的作用是使真假分支均被執(zhí)行,雖然判定覆蓋比語(yǔ)句覆蓋測(cè)試能力強(qiáng),但仍然具有和語(yǔ)句覆蓋一樣的單一性。以圖3-1及其程序?yàn)槔?,設(shè)計(jì)判定覆蓋測(cè)試用例。如表3-1所示。
表3-1 判定覆蓋測(cè)試用例
由表3-1可以看出,這4個(gè)測(cè)試用例覆蓋了acd、abd、ace、abe4條路徑,使得每個(gè)判定語(yǔ)句的取值都滿足了各有一次“真”與“假”。相比于語(yǔ)句覆蓋,判定覆蓋的覆蓋范圍更廣泛。判定覆蓋雖然保證了每個(gè)判定至少有一次為真值,有一次為假值,但是卻沒(méi)有考慮到程序內(nèi)部的取值情況,例如,測(cè)試用例test4,沒(méi)有將x>2作為條件進(jìn)行判斷,僅僅判斷了z>0的條件。
判定覆蓋語(yǔ)句一般是由多個(gè)邏輯條件組成的,如果僅僅判斷測(cè)試程序執(zhí)行的最終結(jié)果而忽略每個(gè)條件的取值,必然會(huì)遺漏部分測(cè)試路徑,因此,判定覆蓋也屬于弱覆蓋。