白盒测试详解
通常把測(cè)試數(shù)據(jù)和預(yù)期的輸出結(jié)果稱為測(cè)試用例。
(一)邏輯覆蓋
是對(duì)一系列測(cè)試過(guò)程的總稱,這組測(cè)試過(guò)程逐漸進(jìn)行越來(lái)越完整的通路測(cè)試。
1.語(yǔ)句覆蓋
語(yǔ)句覆蓋的含義是,選擇足夠多的測(cè)試數(shù)據(jù),使被測(cè)程序中每個(gè)語(yǔ)句至少執(zhí)行一次。語(yǔ)句覆蓋是很弱的邏輯覆蓋標(biāo)準(zhǔn)
2.判定覆蓋
又叫分支覆蓋,它的含義是,不僅每個(gè)語(yǔ)句必須至少執(zhí)行一次,而且每個(gè)判定的每種可能的結(jié)果都應(yīng)該至少執(zhí)行一次,也就是每個(gè)判定的每個(gè)分支都至少執(zhí)行一次。判定覆蓋比語(yǔ)句覆蓋強(qiáng),但是對(duì)程序邏輯的覆蓋程度仍然不高
3.條件覆蓋
含義是,不僅每個(gè)語(yǔ)句至少執(zhí)行一次,而且使判定表達(dá)式中的每個(gè)條件都取到各種可能的結(jié)果。條件覆蓋通常比判定覆蓋強(qiáng),但滿足條件覆蓋的測(cè)試數(shù)據(jù)不一定滿足判定覆蓋。
4.判定/條件覆蓋
是一種能同時(shí)滿足判定覆蓋和條件覆蓋的邏輯覆蓋,它的含義是,選取足夠多的測(cè)試數(shù)據(jù),使得判定表達(dá)式中的每個(gè)條件都取到各種可能的值,而且每個(gè)判定表達(dá)式也都取到各種可能的結(jié)果。
5.條件組合覆蓋
是更強(qiáng)的邏輯覆蓋標(biāo)準(zhǔn),它要求選取足夠多的測(cè)試數(shù)據(jù),使得每個(gè)判定表達(dá)式中條件的各種可能組合都至少出現(xiàn)一次。滿足條件組合覆蓋標(biāo)準(zhǔn)的測(cè)試數(shù)據(jù),也一定滿足判定覆蓋、條件覆蓋和判定/條件覆蓋標(biāo)準(zhǔn)。因此,條件組合覆蓋是前述幾種覆蓋標(biāo)準(zhǔn)中最強(qiáng)的。但是,滿足條件組合覆蓋標(biāo)準(zhǔn)的測(cè)試數(shù)據(jù)并不一定能使程序中的每條路徑都執(zhí)行到。
4.點(diǎn)覆蓋
圖論中點(diǎn)覆蓋的定義如下:如果連通圖G的子圖G′是連通的,而且包含G的所有結(jié)點(diǎn),則稱G′是G的點(diǎn)覆蓋。點(diǎn)覆蓋標(biāo)準(zhǔn)和語(yǔ)句覆蓋標(biāo)準(zhǔn)是相同的。
5.邊覆蓋和路徑覆蓋
圖論中邊覆蓋的定義是:如果連通圖G的子圖G″是連通的,而且包含G的所有邊,則稱G″是G的邊覆蓋。為了滿足邊覆蓋的測(cè)試標(biāo)準(zhǔn),要求選取足夠多測(cè)試數(shù)據(jù),使得程序執(zhí)行路徑至少經(jīng)過(guò)流圖中每條邊一次。通常邊覆蓋和判定覆蓋是一致的。
?路徑覆蓋的含義是,選取足夠多測(cè)試數(shù)據(jù),使程序的每條可能路徑都至少執(zhí)行一次(如果程序圖中有環(huán),則要求每個(gè)環(huán)至少經(jīng)過(guò)一次)。
(二)控制結(jié)構(gòu)測(cè)試
1.基本路徑測(cè)試
是Tom McCabe提出的一種白盒測(cè)試技術(shù)。使用基本路徑測(cè)試設(shè)計(jì)測(cè)試用例時(shí),首先計(jì)算程序的環(huán)形復(fù)雜度,并用該復(fù)雜度為指南定義執(zhí)行路徑的基本集合,從該基本集合導(dǎo)出的測(cè)試用例可以保證程序中的每條語(yǔ)句至少執(zhí)行一次,而且每個(gè)條件在執(zhí)行時(shí)都將分別取真、假兩種值。
2.條件測(cè)試
條件測(cè)試方法著重測(cè)試程序中的每個(gè)條件。條件測(cè)試策略有兩個(gè)優(yōu)點(diǎn): ①容易度量條件的測(cè)試覆蓋率; ②程序內(nèi)條件的測(cè)試覆蓋率可指導(dǎo)附加測(cè)試的設(shè)計(jì)。
條件測(cè)試的目的不僅是檢測(cè)程序條件中的錯(cuò)誤,而且是檢測(cè)程序中的其他錯(cuò)誤。如果程序P的測(cè)試集能有效地檢測(cè)P中條件的錯(cuò)誤,則它很可能也可以有效地檢測(cè)P中的其他錯(cuò)誤。
3.循環(huán)測(cè)試
循環(huán)測(cè)試是一種白盒測(cè)試技術(shù),它專注于測(cè)試循環(huán)結(jié)構(gòu)的有效性。在結(jié)構(gòu)化的程序中通常只有3種循環(huán),即簡(jiǎn)單循環(huán)、串接循環(huán)和嵌套循環(huán)。
總結(jié)
- 上一篇: uwsgi搭配nginx
- 下一篇: 资源下载地址