軟件評(píng)測(cè)師:軟件測(cè)試中白盒測(cè)試方面的總結(jié)
白盒測(cè)試是通過(guò)對(duì)程序內(nèi)部結(jié)構(gòu)的分析、檢測(cè)來(lái)尋找問(wèn)題。
白盒測(cè)試可以把程序看成裝在一個(gè)透明的白盒子里,也就是清楚了解程序結(jié)構(gòu)和處理過(guò)程,檢查是否所有的結(jié)構(gòu)及路徑都是正確的,檢查軟件內(nèi)部動(dòng)作是否按照設(shè)計(jì)說(shuō)明的規(guī)定正常進(jìn)行。白盒測(cè)試又稱結(jié)構(gòu)測(cè)試。
1 白盒測(cè)試基本技術(shù):詞法分析與語(yǔ)法分析,靜態(tài)錯(cuò)誤分析,程序插樁技術(shù)。
2 白盒測(cè)試方法
2.1 代碼檢查法:代碼檢查方式(桌面檢查,代碼審查,走查),代碼檢查項(xiàng)目,編碼規(guī)范,代碼檢查規(guī)則,缺陷檢查表。
2.2 靜態(tài)結(jié)構(gòu)分析法
2.3 靜態(tài)質(zhì)量試題法
2.4 邏輯覆蓋法
語(yǔ)句覆蓋:選擇足夠多的測(cè)試數(shù)據(jù),使測(cè)試程序中每條語(yǔ)句至少執(zhí)行一次。
判定覆蓋(分支覆蓋):設(shè)計(jì)足夠多的測(cè)試用例,使用得程序中的每個(gè)判定至少都獲得一次“真值”或“假值”;或者說(shuō)使用得程序中的每一個(gè)取“真”分支和取“假”分支至少經(jīng)歷一次。
條件覆蓋:構(gòu)造一組測(cè)試用例,使得每一判定語(yǔ)句中每個(gè)邏輯條件的可能值至少滿足一次。
條件判定組合覆蓋:設(shè)計(jì)足夠的測(cè)試用例,使用得判定中每個(gè)條件的所有可能(真/假)至少出現(xiàn)一次,并且每個(gè)判定本身的判定結(jié)果(真/假)也至少出現(xiàn)一次。
多條件覆蓋:設(shè)計(jì)足夠的測(cè)試用例,使得每個(gè)判定中條件的各種可能組合都至少出現(xiàn)一次。
修正條件判定覆蓋。
2.5 基本路徑測(cè)試法
程序的控制流圖(學(xué)會(huì)通過(guò)看程序塊畫出控制流圖)。
程序環(huán)路復(fù)雜性(即McCabe復(fù)雜性度量)環(huán)路復(fù)雜性V(G)=判斷結(jié)點(diǎn)數(shù)+1。
基本路徑測(cè)試法步驟:
(1)以詳細(xì)設(shè)計(jì)或源代碼作為基礎(chǔ),導(dǎo)出程序的控制流圖;
(2)計(jì)算得到的控制流圖G的環(huán)路復(fù)雜性V(G);
(3)確定線性無(wú)關(guān)的路徑的基本集;
(3)生成測(cè)試用例,確?;韭窂郊忻織l路徑的執(zhí)行。
2.6 其他白盒測(cè)試方法:域測(cè)試,符號(hào)測(cè)試,Z路徑覆蓋,程序變異。
修正條件判定覆蓋。
2.5 基本路徑測(cè)試法
程序的控制流圖(學(xué)會(huì)通過(guò)看程序塊畫出控制流圖)。
程序環(huán)路復(fù)雜性(即McCabe復(fù)雜性度量)環(huán)路復(fù)雜性V(G)=判斷結(jié)點(diǎn)數(shù)+1。
基本路徑測(cè)試法步驟:
(1)以詳細(xì)設(shè)計(jì)或源代碼作為基礎(chǔ),導(dǎo)出程序的控制流圖;
(2)計(jì)算得到的控制流圖G的環(huán)路復(fù)雜性V(G);
(3)確定線性無(wú)關(guān)的路徑的基本集;
(3)生成測(cè)試用例,確保基本路徑集中每條路徑的執(zhí)行。
2.6 其他白盒測(cè)試方法:域測(cè)試,符號(hào)測(cè)試,Z路徑覆蓋,程序變異。
【編輯推薦】