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