![[計算機]白盒測試法ppt課件_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/0f7abc75-9dac-4f90-850b-85259240173b/0f7abc75-9dac-4f90-850b-85259240173b1.gif)
![[計算機]白盒測試法ppt課件_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/0f7abc75-9dac-4f90-850b-85259240173b/0f7abc75-9dac-4f90-850b-85259240173b2.gif)
![[計算機]白盒測試法ppt課件_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/0f7abc75-9dac-4f90-850b-85259240173b/0f7abc75-9dac-4f90-850b-85259240173b3.gif)
![[計算機]白盒測試法ppt課件_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/0f7abc75-9dac-4f90-850b-85259240173b/0f7abc75-9dac-4f90-850b-85259240173b4.gif)
![[計算機]白盒測試法ppt課件_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/0f7abc75-9dac-4f90-850b-85259240173b/0f7abc75-9dac-4f90-850b-85259240173b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、7.6 白盒測試技術(shù) 測試方案包括具體的測試目的,應(yīng)該輸入的測試數(shù)據(jù)和預(yù)測試方案包括具體的測試目的,應(yīng)該輸入的測試數(shù)據(jù)和預(yù)期的結(jié)果。通常又把測試數(shù)據(jù)和預(yù)期的輸出結(jié)果稱為測試期的結(jié)果。通常又把測試數(shù)據(jù)和預(yù)期的輸出結(jié)果稱為測試用例。用例。 設(shè)計測試方案的基本目標(biāo):確定一組最可能發(fā)現(xiàn)某個錯誤設(shè)計測試方案的基本目標(biāo):確定一組最可能發(fā)現(xiàn)某個錯誤或某類錯誤的測試數(shù)據(jù)。或某類錯誤的測試數(shù)據(jù)。 白盒測試法按照程序內(nèi)部的邏輯測試程序,檢測程序中的白盒測試法按照程序內(nèi)部的邏輯測試程序,檢測程序中的主要執(zhí)行通路是否都能按預(yù)定要求正確工作。主要執(zhí)行通路是否都能按預(yù)定要求正確工作。 本節(jié)講述在用白盒方法測試軟件時設(shè)計測
2、試數(shù)據(jù)的典型技本節(jié)講述在用白盒方法測試軟件時設(shè)計測試數(shù)據(jù)的典型技術(shù)。術(shù)。學(xué)習(xí)內(nèi)容u邏輯覆蓋的概念邏輯覆蓋的概念u邏輯覆蓋的分類邏輯覆蓋的分類u 語句覆蓋語句覆蓋u 判定覆蓋判定覆蓋u 條件覆蓋條件覆蓋u 判定判定/ /條件覆蓋條件覆蓋u 條件組合覆蓋條件組合覆蓋u 點覆蓋點覆蓋u 邊覆蓋邊覆蓋u 路徑覆蓋路徑覆蓋u覆蓋法之間的關(guān)系覆蓋法之間的關(guān)系教學(xué)目標(biāo)u理論環(huán)節(jié)理論環(huán)節(jié)u學(xué)習(xí)理解白盒測試方法的基本概念學(xué)習(xí)理解白盒測試方法的基本概念u學(xué)習(xí)理解白盒測試的覆蓋理論學(xué)習(xí)理解白盒測試的覆蓋理論u實踐環(huán)節(jié)實踐環(huán)節(jié)u通過案例運用學(xué)習(xí)掌握覆蓋問題的解決通過案例運用學(xué)習(xí)掌握覆蓋問題的解決方法方法邏輯覆蓋的概念
3、u邏輯覆蓋,是以程序內(nèi)在邏輯結(jié)構(gòu)為基礎(chǔ)邏輯覆蓋,是以程序內(nèi)在邏輯結(jié)構(gòu)為基礎(chǔ)的測試的測試 ,是對一系列測試過程的總稱是對一系列測試過程的總稱,這組測這組測試過程逐漸進行越來越完整的通路測試。試過程逐漸進行越來越完整的通路測試。 7.6.1 邏輯覆蓋邏輯覆蓋法的分類u根據(jù)覆蓋目標(biāo)的不同,邏輯覆蓋又可分為根據(jù)覆蓋目標(biāo)的不同,邏輯覆蓋又可分為:語句覆蓋語句覆蓋判定覆蓋判定覆蓋條件覆蓋條件覆蓋判定判定/條件覆蓋條件覆蓋組合覆蓋組合覆蓋路徑覆蓋路徑覆蓋 void DoWork (int x,int y,int z) int k=0,j=0; if ( (x3)&(z5) ) j=x*y+10; /
4、語句塊語句塊2 j=j%3; /語句塊語句塊3 程序流程圖X3 & z5執(zhí)行語句塊執(zhí)行語句塊3FFTTabdcef語句覆蓋u語句覆蓋語句覆蓋:選擇足夠多的測試用例,使得選擇足夠多的測試用例,使得程序中的每個可執(zhí)行語句至少執(zhí)行一次。程序中的每個可執(zhí)行語句至少執(zhí)行一次。語句覆蓋u要實現(xiàn)要實現(xiàn)DoWork函數(shù)的語句覆蓋,只需設(shè)計一個測試用例函數(shù)的語句覆蓋,只需設(shè)計一個測試用例就可以覆蓋程序中的所有可執(zhí)行語句。就可以覆蓋程序中的所有可執(zhí)行語句。u測試用例輸入為:測試用例輸入為: x=4、y=5、z=5 u程序執(zhí)行的路徑是:程序執(zhí)行的路徑是:abdfX3 & z5執(zhí)行語句塊執(zhí)行語句塊3F
5、FTTabdcef結(jié)果如何呢結(jié)果如何呢?(X3 & z5)語句覆蓋 分析:分析: 語句覆蓋可以保證程序中的每個語語句覆蓋可以保證程序中的每個語句都得到執(zhí)行,但發(fā)現(xiàn)不了判定中句都得到執(zhí)行,但發(fā)現(xiàn)不了判定中邏輯運邏輯運算算的錯誤,即它并不是一種充分的檢驗方的錯誤,即它并不是一種充分的檢驗方法。例如在第一個判定法。例如在第一個判定(x3)&(z3 & z5執(zhí)行語句塊執(zhí)行語句塊3FFTTabdcefy5錯誤寫為錯誤寫為y3)&(z3 取真值記為取真值記為T1,取假值記為,取假值記為-T1 條件條件z5) ): 條件條件x=4 取真值記為取真值記為T3,取假值記為,取假值
6、記為-T3 條件條件y5 取真值記為取真值記為T4,取假值記為,取假值記為-T4條件覆蓋(續(xù))u根據(jù)條件覆蓋的基本思想,要使上述根據(jù)條件覆蓋的基本思想,要使上述4個條件可能產(chǎn)生的個條件可能產(chǎn)生的8種情況至少滿足一次,設(shè)計測試用例如下:種情況至少滿足一次,設(shè)計測試用例如下: 測試用例測試用例 執(zhí)行路徑執(zhí)行路徑 覆蓋條件覆蓋條件 覆蓋分支覆蓋分支 x=4、y=6、z=5 abdf T1、T2、T3、T4 bd x=2、y=5、 z=15 acef -T1、-T2、 -T3、-T4 ceu分析:上面這組測試用例不但覆蓋了分析:上面這組測試用例不但覆蓋了4個條件的全部個條件的全部8種種情況,而且將兩個
7、判定的情況,而且將兩個判定的4個分支個分支b、c、d、e也同時覆也同時覆蓋了,即同時達到了條件覆蓋和判定覆蓋。蓋了,即同時達到了條件覆蓋和判定覆蓋。條件覆蓋(續(xù))u說明:雖然前面的一組測試用例同時達到了條件覆蓋和判說明:雖然前面的一組測試用例同時達到了條件覆蓋和判定覆蓋,但是,并不是說滿足條件覆蓋就一定能滿足判定定覆蓋,但是,并不是說滿足條件覆蓋就一定能滿足判定覆蓋。如果設(shè)計了下表中的這組測試用例,則雖然滿足了覆蓋。如果設(shè)計了下表中的這組測試用例,則雖然滿足了條件覆蓋,但只是覆蓋了程序中第一個判定的取假分支條件覆蓋,但只是覆蓋了程序中第一個判定的取假分支c 和第二個判定的取真分支和第二個判定的
8、取真分支d,不滿足判定覆蓋的要求。,不滿足判定覆蓋的要求。 測試用例測試用例 執(zhí)行路徑執(zhí)行路徑 覆蓋條件覆蓋條件覆蓋分支覆蓋分支x=2、y=6、z=5 acdf-T1、T2、 -T3、T4 cdx=4、y=5、z=15 acdfT1、-T2、 T3、-T4 cd判定/條件覆蓋u判定判定/條件覆蓋:設(shè)計足夠多的測試用例,條件覆蓋:設(shè)計足夠多的測試用例,使得程序中每個判定包含的每個條件的所使得程序中每個判定包含的每個條件的所有情況(真有情況(真/假)至少出現(xiàn)一次,并且每個假)至少出現(xiàn)一次,并且每個判定本身的判定結(jié)果(真判定本身的判定結(jié)果(真/假)也至少出現(xiàn)假)也至少出現(xiàn)一次。一次。 滿足判定滿足判
9、定/條件覆蓋的測試用例一定條件覆蓋的測試用例一定同時滿足判定覆蓋和條件覆蓋。同時滿足判定覆蓋和條件覆蓋。判定/條件覆蓋u判定判定/條件覆蓋實際上是將判定覆蓋和條件覆蓋結(jié)合起來條件覆蓋實際上是將判定覆蓋和條件覆蓋結(jié)合起來的一種方法,即:設(shè)計足夠的測試用例,使得判定中每個的一種方法,即:設(shè)計足夠的測試用例,使得判定中每個條件的所有可能取值至少滿足一次,同時每個判定的可能條件的所有可能取值至少滿足一次,同時每個判定的可能結(jié)果也至少出現(xiàn)一次。結(jié)果也至少出現(xiàn)一次。u根據(jù)判定根據(jù)判定/條件覆蓋的基本思想,只需設(shè)計以下兩個測試條件覆蓋的基本思想,只需設(shè)計以下兩個測試用例便可以覆蓋用例便可以覆蓋4個條件的個條
10、件的8種取值以及種取值以及4個判定分支。個判定分支。 測試用例測試用例 執(zhí)行路執(zhí)行路徑徑 覆蓋條件覆蓋條件覆蓋分支覆蓋分支x=4、y=6、z=5 abdfT1、T2、 T3、T4 bdx=2、y=5、z=15acef-T1、-T2、 -T3、-T4 ce判定/條件覆蓋X3 & z5執(zhí)行語句塊執(zhí)行語句塊3FFTTabdcef判定/條件覆蓋(續(xù))u分析:從表面上看,判定分析:從表面上看,判定/條件覆蓋測試了各個判定中的條件覆蓋測試了各個判定中的所有條件的取值,但實際上,編譯器在檢查含有多個條件所有條件的取值,但實際上,編譯器在檢查含有多個條件的邏輯表達式時,某些情況下的某些條件將會被其它條
11、件的邏輯表達式時,某些情況下的某些條件將會被其它條件所掩蓋。因此,判定所掩蓋。因此,判定/條件覆蓋也不一定能夠完全檢查出條件覆蓋也不一定能夠完全檢查出邏輯表達式中的錯誤。邏輯表達式中的錯誤。 u例如:對于第一個判定例如:對于第一個判定(x3)&(z3和和z3為假,則編譯器將不再檢查為假,則編譯器將不再檢查z5)來說,若條件來說,若條件x=4滿足,就認(rèn)為該判定為真,這時將不滿足,就認(rèn)為該判定為真,這時將不會再檢查會再檢查y5,那么同樣也無法發(fā)現(xiàn)這個條件中的錯誤。,那么同樣也無法發(fā)現(xiàn)這個條件中的錯誤。組合覆蓋u組合覆蓋:通過執(zhí)行足夠的測試用例,使組合覆蓋:通過執(zhí)行足夠的測試用例,使得程序中
12、每個判定的所有可能的條件取值得程序中每個判定的所有可能的條件取值組合都至少出現(xiàn)一次。組合都至少出現(xiàn)一次。 滿足組合覆蓋的測試用例一定滿足滿足組合覆蓋的測試用例一定滿足判定覆蓋、條件覆蓋和判定判定覆蓋、條件覆蓋和判定/條件覆蓋條件覆蓋。組合覆蓋u組合覆蓋的目的是要使設(shè)計的測試用例能覆蓋每一個判定組合覆蓋的目的是要使設(shè)計的測試用例能覆蓋每一個判定的所有可能的條件取值組合。的所有可能的條件取值組合。u對對DoWork函數(shù)中的各個判定的條件取值組合加以標(biāo)記:函數(shù)中的各個判定的條件取值組合加以標(biāo)記: 1、x3, z3, z=10 記做記做T1 -T2,第一個判定的取假分支,第一個判定的取假分支 3、x=
13、3, z10 記做記做-T1 T2,第一個判定的取假分支,第一個判定的取假分支 4、x=10 記做記做-T1 -T2,第一個判定的取假分支,第一個判定的取假分支 5、x=4, y5 記做記做T3 T4,第二個判定的取真分支,第二個判定的取真分支 6、x=4, y5 記做記做-T3 T4,第二個判定的取真分支,第二個判定的取真分支 8、x!=4, y5 THEN IF A5 THEN X=10 X=10 ELSEELSE X=1 X=1END IFEND IFIF B10 THENIF B10 THEN Y=20 Y=20ELSE ELSE Y=2 Y=2END IFEND IFIF C15 T
14、HENIF C15 THEN Z=30 Z=30ELSE ELSE Z=3 Z=3END IFEND IFPRINT (X, Y, Z)PRINT (X, Y, Z)STOPSTOP語句覆蓋的測試用例序號判定輸入預(yù)期的輸出123A B C X Y Z1FF F1111232TTT204060102030 路徑覆蓋的測試用例路徑覆蓋的測試用例序號判定輸入預(yù)期的輸出123ABCXYZ1FF F1111232FF T116012303FTF140112034FTT140 60120 305TF F201110236TFT20160 102307TTF2040110 2038TTT2040 60 10 20 30 設(shè)計下列偽
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 首鋼股份電商協(xié)議書
- 船舶主機買賣協(xié)議書
- 俱樂部會長轉(zhuǎn)讓協(xié)議書
- 風(fēng)水布局轉(zhuǎn)讓協(xié)議書
- 車輛質(zhì)押免責(zé)協(xié)議書
- 企業(yè)公眾號轉(zhuǎn)讓協(xié)議書
- 金融貿(mào)易合伙協(xié)議書
- 項目收益分紅協(xié)議書
- 高中作業(yè)安全協(xié)議書
- 餐廳股權(quán)激勵協(xié)議書
- 2025屆內(nèi)蒙古自治區(qū)高考化學(xué)三模試卷含解析
- 企業(yè)國際差旅服務(wù)標(biāo)準(zhǔn)與實踐分享
- 中醫(yī)與現(xiàn)代科技在健康管理中的合作
- 家紡訂貨會訂貨指引
- 醫(yī)院感染風(fēng)險評估制度
- 中山市第三屆“南粵家政”技能大賽醫(yī)療護理員技術(shù)文件
- 柔性傳感器材料創(chuàng)新-深度研究
- 防中暑安全培訓(xùn)課件
- 2025屆湖北聯(lián)投集團有限公司校園招聘299人筆試參考題庫附帶答案詳解
- 臺球廳員工勞動合同(2025年版)
- 七年級下冊英語十一單元測試卷及答案
評論
0/150
提交評論