




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第5章 白盒測試之邏輯覆蓋案例測試覆蓋率測試覆蓋率:用于確定測試所執行到的覆蓋項的百分比。其中的覆蓋項是指被測試的對象,可以是語句、分支、條件、路徑等,也可以是模塊、部件、功能或需求項等。 覆蓋率=實際測試過的測試項的數量/測試項的總數 例如: 假設一個程序由100條可執行語句組成,實際測試時只執行了其中的60條語句。則語句覆蓋率為60%。 假設一個程序有10項功能,如果到某個時間點測試了9項功能,那么這時的功能覆蓋率為90%。測試覆蓋率測試覆蓋率包括功能點覆蓋率和結構覆蓋率: -功能點覆蓋率大致用于表示軟件已經實現的功能與軟件需要實現的功能之間的比例關系。 -結構覆蓋率包括語句覆蓋率、分支覆
2、蓋率、條件覆蓋、循環覆蓋率、路徑覆蓋率等等。測試覆蓋率在測試分析報告中可以作為量化指標的依據,測試覆蓋率越高效果越好。 邏輯覆蓋法也稱為代碼覆蓋,根據程序的邏輯或控制結構,針對代碼(包括語句、條件、分支、路徑)來考慮測試。常用覆蓋測試方法:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、組合覆蓋和路徑覆蓋。語句覆蓋:選擇足夠多的測試用例,使得程序中的每個可執行語句至少執行一次。判定覆蓋(也稱為分支覆蓋):通過執行足夠的測試用例,使得程序中的每個判定至少都獲得一次“真”值和“假”值, 也就是使程序中的每個取“真”分支和取“假”分支至少均經歷一次。條件覆蓋:設計足夠多的測試用例,使得程序中每個判定包
3、含的每個條件的可能取值(真/假)都至少滿足一次。邏輯覆蓋法(續)判定/條件覆蓋:設計足夠多的測試用例,使得程序中每個判定包含的每個條件的所有情況(真/假)至少出現一次,并且每個判定本身的判定結果(真/假)也至少出現一次。 滿足判定/條件覆蓋的測試用例一定同時滿足判定覆蓋和條件覆蓋。組合覆蓋:通過執行足夠的測試用例,使得程序中每個判定的所有可能的條件取值組合都至少出現一次。 滿足組合覆蓋的測試用例一定滿足判定覆蓋、條件覆蓋和判定/條件覆蓋。路徑覆蓋:設計足夠多的測試用例,要求覆蓋程序中所有可能的路徑。 案例 void DoWork (int x,int y,int z) 1 int k=0,j=
4、0; 2 if ( (x3)&(z5) ) 8 j=x*y+10; /語句塊2 9 j=j%3; /語句塊3 10 流程圖及流圖X3 & z5執行語句塊3FFTTabdce184,5972語句覆蓋語句覆蓋:選擇足夠多的測試用例,使得程序中的每個可執行語句至少執行一次。測試用例: x=4、y=5、z=5 程序執行的路徑:abd判定覆蓋判定覆蓋: 通過執行足夠的測試用例,使得程序中的每個判定至少都獲得一次“真”值和“假”值需要設計兩個測試用例:x=4、y=5、z=5; x=2、y=5、z=5程序執行的路徑分別是:abd;ace流程圖及流圖X3 & z5執行語句塊3FFTTabdce184,5972
5、條件覆蓋條件覆蓋的目的是設計若干測試用例,在執行被測程序后,要使每個判定中每個條件的可能值至少滿足一次。對DoWork函數的各個判定的各種條件取值加以標記。對于第一個判定( (x3)&(z3 取真值記為T1,取假值記為-T1 條件z5) ): 條件x=4 取真值記為T3,取假值記為-T3 條件y5 取真值記為T4,取假值記為-T4條件覆蓋(續)根據條件覆蓋的基本思想,要使上述4個條件可能產生的8種情況至少滿足一次,設計測試用例如下: 測試用例 執行路徑 覆蓋條件 覆蓋分支 x=4、y=6、z=5 abd T1、T2、T3、T4 bd x=2、y=5、 z=15 ace -T1、-T2、 -T3
6、、-T4 ce分析:上面這組測試用例不但覆蓋了4個條件的全部8種情況,而且將兩個判定的4個分支b、c、d、e也同時覆蓋了,即同時達到了條件覆蓋和判定覆蓋。條件覆蓋(續)說明:雖然前面的一組測試用例同時達到了條件覆蓋 和判定覆蓋,但是,并不是說滿足條件覆蓋就一定能滿足判定覆蓋。如果設計了下表中的這組測試用例,則雖然滿足了條件覆蓋,但只是覆蓋了程序中第一個判定的取假分支c 和第二個判定的取真分支d,不滿足判定覆蓋的要求。 測試用例 執行路徑 覆蓋條件覆蓋分支x=2、y=6、z=5 acd-T1、T2、 -T3、T4 cdx=4、y=5、z=15 acdT1、-T2、 T3、-T4 cd流程圖及流圖
7、X3 & z5執行語句塊3FFTTabdce184,5972判定/條件覆蓋實際上將判定覆蓋和條件覆蓋結合起來,即:設計足夠的測試用例,使得判定中每個條件的所有可能取值至少滿足一次,同時每個判定的可能結果也至少出現一次。根據判定/條件覆蓋的基本思想,只需設計以下兩個測試用例便可以覆蓋4個條件的8種取值以及4個判定分支。 測試用例 執行路徑 覆蓋條件覆蓋分支x=4、y=6、z=5 abdT1、T2、 T3、T4 bdx=2、y=5、z=15ace-T1、-T2、 -T3、-T4 ce流程圖及流圖X3 & z5執行語句塊3FFTTabdce184,5972條件組合覆蓋組合覆蓋的目的是要使設計的測試用
8、例能覆蓋每一個判定的所有可能的條件取值組合。對DoWork函數中的各個判定的條件取值組合加以標記: 1、x3, z3, z=10 記做T1 -T2,第一個判定的取假分支 3、x=3, z10 記做-T1 T2,第一個判定的取假分支 4、x=10 記做-T1 -T2,第一個判定的取假分支 5、x=4, y5 記做T3 T4,第二個判定的取真分支 6、x=4, y5 記做-T3 T4,第二個判定的取真分支 8、x!=4, y3 & z5執行語句塊3FFTTabdce184,5972路徑覆蓋事實上,只有當程序中的每一條路徑都受到了檢驗,才能使程序受到全面檢驗。路徑覆蓋的目的就是要使設計的測試用例能覆蓋被測程序中所有可能的路徑。根據路徑覆蓋的基本思想,在滿足組合覆蓋的測試用例中修改其中一個測試用例,則可以實現路徑覆蓋:測試用例 執行路徑 覆蓋條件 x=4、y=6、z=5 abdT1、T2、T3、T4 x=4、y=5、z=15 acdT1、-T2、T3、-T4 x=2、y=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 法律文化在法治建設中的作用與價值試題及答案
- 班主任與學生溝通技巧的提升計劃
- 軟考網絡管理員備考計劃試題及答案
- 人才招聘與培養計劃
- 結合客戶反饋優化生產流程計劃
- 自然語言處理技術進展試題及答案
- 2024年沈陽工程學院輔導員考試真題
- 2025年法學概論百科全書式試題及答案
- 2024年吉林省醫療保障局下屬事業單位真題
- 2024年塔城地區中醫醫院招聘筆試真題
- 危險作業安全專題培訓
- 廠房庫房屋面墻面彩鋼板施工方案
- 甘肅省綜合醫院及部分專科醫院等級一覽表
- DB65∕T 3253-2020 建筑消防設施質量檢測評定規程
- 中班語言《噓我們有個計劃》課件
- 水墨中國風名著《水滸傳》簡介主題PPT模板課件
- TCSCS 009-2020 鋼結構滑移施工技術標準
- 壓力容器使用年度檢查報告(范本)
- 實行保健食品制度
- Purchase Order模板參考模板
- 政府決策失誤案例
評論
0/150
提交評論