亚洲熟妇av一区二区三区,久久久久久精品观看sss,免费观看四虎精品国产永久,国产成人精品一区二三区熟女,天堂网在线最新版www资源网

十分鐘帶你了解軟件測試中的白盒測試(收藏向)(軟件測試白盒測試實驗報告)

1.什么是白盒測試

白盒測試也稱結(jié)構(gòu)測試,透明盒測試。主要用于單元測試階段,代碼和邏輯的測試,重點復(fù)雜的測試,是一種測試用例設(shè)計方法,不同于黑盒測試,白盒測試是可以看到內(nèi)部代碼如何運作的,可通過測試來檢測產(chǎn)品內(nèi)部是否符合規(guī)定正常運行。

十分鐘帶你了解軟件測試中的白盒測試(收藏向)(軟件測試白盒測試實驗報告)

1.1 白盒測試優(yōu)缺點

優(yōu)點:代碼覆蓋率高

缺點:覆蓋所有代碼路徑難度大

業(yè)務(wù)功能可能覆蓋不全

測試開銷大

2.白盒測試方法

2.1 (先)靜態(tài)

桌面檢查、代碼審查、代碼走查、代碼掃描工具

2.2 動態(tài)

邏輯覆蓋法:通過對程序邏輯結(jié)構(gòu)的遍歷實現(xiàn)程序的覆蓋

下方都以這個案例為練習(xí)

首先:要畫出流程圖,比較好理解

十分鐘帶你了解軟件測試中的白盒測試(收藏向)(軟件測試白盒測試實驗報告)

2.2.1 語句覆蓋

語句覆蓋:設(shè)計測試用例,使得程序中每條語句至少被執(zhí)行一次

語句覆蓋率 = 被執(zhí)行過的語句數(shù)量/可執(zhí)行的語句總數(shù)

舉個案例:

十分鐘帶你了解軟件測試中的白盒測試(收藏向)(軟件測試白盒測試實驗報告)

這個案例語句覆蓋率是百分百的。

但是當(dāng)把判斷條件從if(x>0 && y>0)變成if(x>0 || y>0)時,

會發(fā)現(xiàn)這個數(shù)據(jù)同樣適合邏輯覆蓋標(biāo)準(zhǔn),但顯然,這樣是不正確的。

2.2.2 判斷覆蓋

判斷覆蓋:也叫分支覆蓋,設(shè)計測試用例,使得程序中的每個判斷的”真“和”假“都至少被執(zhí)行一次

判斷覆蓋率 = 每個判定的真假值至少出現(xiàn)一次/判斷結(jié)果的總數(shù)

舉個案例:

十分鐘帶你了解軟件測試中的白盒測試(收藏向)(軟件測試白盒測試實驗報告)

將兩個判定 if(x>0 && y>0)和if(magic<0) 分別定義為P1、P2

這個案例判斷覆蓋率是百分百的。

但是當(dāng)把判斷條件從if(x>0 && y>0)變成if(x>0 || y>0)時,

也會發(fā)現(xiàn)這個數(shù)據(jù)同樣適合邏輯覆蓋標(biāo)準(zhǔn),但顯然,這樣也是不正確的。

2.2.3 條件覆蓋

條件覆蓋:設(shè)計測試用例,使得判定中的每個條件至少有一次取真值,有一次取假值

條件覆蓋率 = 每個條件的真價值至少出現(xiàn)一次/條件結(jié)果的總數(shù)(條件結(jié)果 = 判斷數(shù) * 條件數(shù))

舉個案例:

將if(x>0 && y>0)和if(magic<0) 分別定義為P1、P2

將x>0、y>0、magic<0 分別定義為C1、C2、C3

十分鐘帶你了解軟件測試中的白盒測試(收藏向)(軟件測試白盒測試實驗報告)

這個案例條件覆蓋率是百分百的。

但是會發(fā)現(xiàn),P1都是F、F,P1為真是沒有被覆蓋到的

所以條件覆蓋不能保證判定覆蓋

2.2.4 判定條件覆蓋

判定條件覆蓋:設(shè)計測試用例,使得被測程序中的每個判斷本身的判定結(jié)果(真假)至少滿足一次,每個邏輯條件的可能值也至少被滿足一次。就是既滿足判斷覆蓋,也滿足條件覆蓋。

判斷條件覆蓋率 =每個判斷真假值和條件真假值至少出現(xiàn)一次/(判斷結(jié)果的總數(shù) 條件結(jié)果的總數(shù))

舉個案例:

將if(x>0 && y>0)和if(magic<0) 分別定義為P1、P2

將x>0、y>0、magic<0 分別定義為C1、C2、C3

十分鐘帶你了解軟件測試中的白盒測試(收藏向)(軟件測試白盒測試實驗報告)

這個案例判斷條件覆蓋率是百分百的。

但是當(dāng)把判斷條件從if(x>0 && y>0)變成if(x>0 || y>0)時,

也會發(fā)現(xiàn)這個數(shù)據(jù)同樣適合邏輯覆蓋標(biāo)準(zhǔn),但顯然,這樣是不正確的。

2.2.5 條件組合覆蓋

條件組合覆蓋:設(shè)計測試用例,使得被測程序中的每個判定中條件結(jié)果的所有可能組合至少執(zhí)行一次

條件組合覆蓋率 = 條件組合至少出現(xiàn)一次的數(shù)量/條件組合的總數(shù)

舉個案例:

將if(x>0 && y>0)和if(magic<0) 分別定義為P1、P2

將x>0、y>0、magic<0 分別定義為C1、C2、C3

十分鐘帶你了解軟件測試中的白盒測試(收藏向)(軟件測試白盒測試實驗報告)

條件組合覆蓋能夠滿足語句覆蓋、判定覆蓋、條件覆蓋、判定條件覆蓋

但是條件組合覆蓋不能保證所有路徑被執(zhí)行。

2.2.6 路徑覆蓋

路徑覆蓋:設(shè)計測試用例,覆蓋程序中所有可能的路徑

路徑覆蓋率 = 至少被執(zhí)行過一次的路徑數(shù)/總的路徑數(shù)

舉個案例:

將if(x>0 && y>0)和if(magic<0) 分別定義為P1、P2

將x>0、y>0、magic<0 分別定義為C1、C2、C3

十分鐘帶你了解軟件測試中的白盒測試(收藏向)(軟件測試白盒測試實驗報告)

仔細(xì)看出C2為假是沒有被覆蓋的

路徑覆蓋可以對程序進(jìn)行徹底的測試,比前面五種覆蓋更廣。

但是滿足路徑覆蓋,并不一定能滿足條件覆蓋,也就不能滿足條件組合覆蓋

2.2.7 基本路徑測試法(最常使用)

基本路徑測試法:在程序控制流圖的基礎(chǔ)上,通過分析程序的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計測試用例

十分鐘帶你了解軟件測試中的白盒測試(收藏向)(軟件測試白盒測試實驗報告)

十分鐘帶你了解軟件測試中的白盒測試(收藏向)(軟件測試白盒測試實驗報告)

十分鐘帶你了解軟件測試中的白盒測試(收藏向)(軟件測試白盒測試實驗報告)

十分鐘帶你了解軟件測試中的白盒測試(收藏向)(軟件測試白盒測試實驗報告)

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。