版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件測試技術課程第5講白盒測試技術山東建筑高校計算機科學與技術學院軟件工程專業(yè)測試用例設計測試用例的設計是軟件測試的關鍵所在,我們須要設計出最有可能發(fā)覺軟件錯誤的測試用例,同時盡量避開測試用例的冗余(即避開運用發(fā)覺錯誤效果相同的測試用例),盡量做到用最少的用例達到較高的覆蓋。為了達到這個目的,我們就須要運用確定的測試用例設計方法,本次課主要講解基于了解內部結構的白盒測試方法。山東建筑高校計算機科學與技術學院軟件工程專業(yè)白盒測試——邏輯覆蓋法邏輯覆蓋是以程序內部的邏輯結構為基礎的設計測試用例的技術,它考慮的是用測試數(shù)據執(zhí)行程序時,對程序代碼以及結構的邏輯覆蓋程度。邏輯覆蓋法通常接受流程圖來設計測試用例,它考察的重點是圖中的判定框,因為這些判定通常是與選擇結構或是循環(huán)結構有關,是確定程序結構的關鍵成分。山東建筑高校計算機科學與技術學院軟件工程專業(yè)發(fā)現(xiàn)錯誤的能力標準含義
1(弱)語句覆蓋
2判定覆蓋
3條件覆蓋4判定/條件覆蓋5條件組合覆蓋
邏輯覆蓋測試的6種標準
每條語句至少執(zhí)行一次每一判定的每個分支至少執(zhí)行一次每一判定中的每個條件,分別按“真”、“假”至少各執(zhí)行一次同時滿足判定覆蓋和條件覆蓋的要求求出判定中全部條件的各種可能組合值,每一可能的條件組合至少執(zhí)行一次山東建筑高校計算機科學與技術學院軟件工程專業(yè)邏輯覆蓋-語句覆蓋語句覆蓋,它的含義是設計若干個測試用例,使得程序中的每一條可執(zhí)行語句至少執(zhí)行一次。山東建筑高校計算機科學與技術學院軟件工程專業(yè)邏輯覆蓋-語句覆蓋案例代碼:1IntA,B,X;2If(A>1ANDB=0)3X=X-A;4EndIf5If(A=5ORX>1)6X=X+3;7EndIf8X=B/X;1.給出程序流程圖2.幫助設計測試用例設計方法:山東建筑高校計算機科學與技術學院軟件工程專業(yè)邏輯覆蓋-語句覆蓋全部可執(zhí)行語句都在路徑acef上,所以我們只須要一個用例,這個用例執(zhí)行路徑acef,就可以覆蓋全部的可執(zhí)行語句。1.給出程序流程圖2.幫助設計測試用例測試用例:A=5,B=0,
X=7執(zhí)行路徑:acef山東建筑高校計算機科學與技術學院軟件工程專業(yè)邏輯覆蓋-語句覆蓋語句覆蓋的缺點:1.無法區(qū)分某些邏輯錯誤。2.缺失路徑。用例:A=5,B=0,
X=7A>1orB=0測試結果還是正確的。山東建筑高校計算機科學與技術學院軟件工程專業(yè)邏輯覆蓋-判定覆蓋判定覆蓋(DecisionCoverage)也被稱為分支覆蓋,它的含義是設計若干個測試用例,使得程序中的每一個取“真”分支和取“假”分支至少執(zhí)行一次。山東建筑高校計算機科學與技術學院軟件工程專業(yè)邏輯覆蓋-判定覆蓋參考左圖,要滿足判定覆蓋,須要選擇路徑acef和abdf,或abef和acdf。測試用例:A=5,B=0,X=4(覆蓋acef)A=1,B=1,X=1(覆蓋abdf)測試用例:A=5,B=1,X=1(覆蓋abef)A=3,B=0,X=1(覆蓋acdf)山東建筑高校計算機科學與技術學院軟件工程專業(yè)邏輯覆蓋-判定覆蓋判定覆蓋同樣滿足語句覆蓋。當然,并不是全部的判定都如此簡潔,判定條件還存在于多分支選擇語句和循環(huán)語句中。for(i=1;i<=100;i++)全部覆蓋須要多少用例?沒有不能實現(xiàn)的判定結果,因此,假如不考慮代價,達到100%的判定覆蓋是可能的。山東建筑高校計算機科學與技術學院軟件工程專業(yè)邏輯覆蓋-判定覆蓋用例A=5,B=0,X=4A=1,B=1,X=1滿足判定覆蓋,但是照舊存在問題。這兩個用例對于判定只是滿足:testA>1B=0ANDOR1TTTT2FFFFA>1orB=0測試還是能通過的。山東建筑高校計算機科學與技術學院軟件工程專業(yè)邏輯覆蓋-判定覆蓋滿足判定覆蓋,也不是完整的測試。對于復合條件,判定覆蓋會在其一個組合中被測試到,但是不能執(zhí)行全部條件的不同分支。因此,判定覆蓋的完整性雖然比語句覆蓋高,但是卻不如條件覆蓋。用例A=5,B=0,X=4A=1,B=1,X=1testA>1B=0A=5X>11TTTF2FFFF山東建筑高校計算機科學與技術學院軟件工程專業(yè)邏輯覆蓋-條件覆蓋條件覆蓋(ConditionCoverage)是設計若干個測試用例,運行被測程序,使得程序中每一判定語句中每個邏輯條件的可能取值至少執(zhí)行一次。山東建筑高校計算機科學與技術學院軟件工程專業(yè)邏輯覆蓋-條件覆蓋對于第一個判定條件:條件1:A>1,真T1,假F1條件2:B=0,真T2,假F2對于其次個判定條件:條件3:A=5,真T3,假F3條件4:X>1,真T4,假F4測試用例條件取值路徑A=5,B=1,X=1T1,F2,T3,F4abefA=1,B=0,X=3F1,T2,F3,T4abef條件覆蓋不確定包含判定覆蓋,存在路徑缺失問題。山東建筑高校計算機科學與技術學院軟件工程專業(yè)邏輯覆蓋-判定條件覆蓋判定/條件覆蓋(Decision/ConditionCoverage)也叫分支/條件覆蓋是將判定覆蓋、條件覆蓋結合起來的一種測試用例設計方法。其含義是設計足夠的測試用例,使得判定中每個條件的全部可能取值至少執(zhí)行一次,同時全部判定的可能結果也至少被執(zhí)行一次。山東建筑高校計算機科學與技術學院軟件工程專業(yè)邏輯覆蓋法-判定條件覆蓋測試用例通過路徑條件取值覆蓋分支A=5,B=0,X=7acefT1,T2,T3,T4c,eA=1,B=1,X=1abdfF1,F2,F3,F4b,d滿足了推斷覆蓋。滿足了條件覆蓋。缺點:不是全部的條件都能真正檢查到。條件1:A>1,真T1,假F1條件2:B=0,真T2,假F2條件3:A=5,真T3,假F3條件4:X>1,真T4,假F4√√√√√√√√沒有真正的檢查到。山東建筑高校計算機科學與技術學院軟件工程專業(yè)邏輯覆蓋-條件組合覆蓋條件組合覆蓋也稱多條件覆蓋(MultipleConditionCoverage),它的含義是設計足夠的測試用例,使得每個判定中每個條件的各種組合都至少被執(zhí)行一次。滿足條件組合覆蓋的測試用例確定滿足判定覆蓋、條件覆蓋和判定/條件覆蓋。山東建筑高校計算機科學與技術學院軟件工程專業(yè)邏輯覆蓋-條件組合覆蓋對于所舉示例,每個判定中有2個邏輯條件,每個邏輯條件有2種取值,因此共有8種可能組合。先對各個判定的條件取值組合加以標記。山東建筑高校計算機科學與技術學院軟件工程專業(yè)邏輯覆蓋-條件組合覆蓋測試用例路徑條件取值覆蓋組合A=5,B=0,X=7acefT1,T2,T3,T4(1)(5)A=5,B=1,X=1abefT1,F2,T3,F4(2)(6)A=1,B=0,X=3abefF1,T2,F3,T4(3)(7)A=1,B=1,X=1abdfF1,F2,F3,F4(4)(8)滿足條件組合覆蓋標準的測試數(shù)據并不確定能使程序中的每條路徑都執(zhí)行到,如沒有覆蓋路徑acdf。優(yōu)點:條件組合覆蓋準則滿足判定覆蓋、條件覆蓋和判定/條件覆蓋準則。缺點:缺失路徑,線性地增加了測試用例的數(shù)量,工作量較大。山東建筑高校計算機科學與技術學院軟件工程專業(yè)白盒測試例題1PROGRAMsom(maxint,N:INT)2 INTresult:=0;i:=0;3
IFN<04
THENN:=-N;5
WHILE(i<N)AND(result<=maxint)6
DO i:=i+1;7 result:=result+i;8
OD;9
IFresult<=maxint10
THENOUTPUT(result)11
ELSEOUTPUT(“toolarge”)12END.
i:=i+1;result:=result+i;(i<N)and(result<=maxint)result<=maxintN<0N:=-N;output(result);output(toolarge);exitstartyesnonoyesyesnoN<0result=0i=0山東建筑高校計算機科學與技術學院軟件工程專業(yè)白盒測試例題i:=i+1;result:=result+i;(i<N)and(result<=maxint)result<=maxintN<0N:=-N;output(result);output(toolarge);exitstartyesnonoyesyesnoN<0result=0i=0測試用例路徑覆蓋標準maxint=10,N=-1maxint=0,N=-1123456123457語句覆蓋maxint=10,N=3maxint=-1,N=-11345612357判定覆蓋maxint=-1,N=-1maxint=1,N=0123571356條件覆蓋maxint=-1,N=-1maxint=1,N=0maxint=10,N=312357135613456判定條件覆蓋maxint=-1,N=-1maxint=1,N=0maxint=1,N=-1maxint=-1,N=0123571356134561357條件組合覆蓋6123457(i=result=0):maxintN
i<N
result<=maxint-1-1truefalse10falsetrue(i=result=0):maxintN
i<N
result<=maxint-1-1truefalse10falsetrue1-1truetrue
-10falsefalse山東建筑高校計算機科學與技術學院軟件工程專業(yè)路徑覆蓋路徑覆蓋(PathCoverage)的含義是設計足夠的測試用例,要求覆蓋程序中全部可能的路徑。我們可以通過基本路徑法獲得程序的基本路徑,基本路徑法是在程序限制流圖的基礎上,通過分析限制構造的環(huán)路困難性,導出基本可執(zhí)行路徑的集合,從而設計測試用例的方法。山東建筑高校計算機科學與技術學院軟件工程專業(yè)基本路徑法基本的限制結構對應的圖形符號:圓圈(結點):表示一個或多個的語句或源程序;箭頭(邊或路徑):代表限制流由邊和結點圈定的范圍稱為區(qū)域,當對區(qū)域計數(shù)時,圖形外的區(qū)域也應記為一個區(qū)域。山東建筑高校計算機科學與技術學院軟件工程專業(yè)基本路徑法-限制流圖舉例:假定圖中用菱形框表示的判定條件內沒有復合條件?!痢辽綎|建筑高校計算機科學與技術學院軟件工程專業(yè)基本路徑法-限制流圖假如推斷中的條件表達式是復合條件,即條件表達式是由一個或多個邏輯運算符(or、and、nor)連接的復合條件表達式,則須要改為一系列只有單個條件的嵌套的推斷。QA<0ANDB>0PTFA<0B>0PQP山東建筑高校計算機科學與技術學院軟件工程專業(yè)基本路徑法-程序環(huán)路困難性程序的環(huán)路困難性是一種為程序邏輯困難性供應定量測度的軟件度量,通過對程序限制流圖的分析和推斷來計算模塊的困難性,從程序的環(huán)路困難性可導出程序基本路徑集合中的獨立路徑條數(shù)。獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從限制流圖上看,一條獨立路徑是至少包含有一條在其他獨立路徑中從未有過的邊的路徑。山東建筑高校計算機科學與技術學院軟件工程專業(yè)基本路徑法-程序環(huán)路困難性環(huán)路困難性的計算方法有三種:程序的環(huán)形困難度計算公式為:V(G)=m-n+2,其中,m是程序流圖G中邊的數(shù)量,n是結點的數(shù)量。假如P是流圖中判定結點的個數(shù):V(G)=P+1。源代碼IF語句及While、For或Repeat循環(huán)語句的判定結點數(shù)為1,而Case型等多分支語句的判定結點數(shù)等于可能的分支數(shù)減去1。環(huán)路困難度等于限制流圖的區(qū)域數(shù)。山東建筑高校計算機科學與技術學院軟件工程專業(yè)基本路徑法-設計步驟基本路徑測試法設計測試用例的步驟如下:以具體設計或源代碼作為基礎,導出程序的限制流圖。計算得到限制流圖G的環(huán)路困難性V(G)。確定線性獨立路徑的基本集合。生成測試用例,確保基本路徑集中的每條路徑執(zhí)行。山東建筑高校計算機科學與技術學院軟件工程專業(yè)基本路徑法-舉例第一步:畫出程序限制流圖。A>1B=0X=X-AA=5X=X+3X>1X=B/X請試著給出限制流圖?山東建筑高校計算機科學與技術學院軟件工程專業(yè)基本路徑法-舉例其次步:計算環(huán)路困難性依據流圖可以算出:V(G)=m-n+2=10-7+2=5。第三步:確定獨立路徑數(shù):路徑1:①-②-③-④-⑤-⑦(A-B-C-F-J)路徑2:①-②-③-④-⑤-⑥-⑦(A-B-C-F-G-H)路徑3:①-②-③-④-⑥-⑦(A-B-C-I-H)路徑4:①-②-④-⑤-⑦(A-D-F-J)路徑5:①-④-⑤-⑦(E-F-J)山東建筑高校計算機科學與技術學院軟件工程專業(yè)基本路徑法-舉例其次步:計算環(huán)路困難性依據流圖可以算出:V(G)=m-n+2=10-7+2=5。第三步:確定獨立路徑數(shù):路徑1:①-②-③-④-⑤-⑦(A-B-C-F-J)路徑2:①-②-③-④-⑤-⑥-⑦(A-B-C-F-G-H)路徑3:①-②-③-④-⑥-⑦(A-B-C-I-H)路徑4:①-②-④-⑤-⑦(A-D-F-J)路徑5:①-④-⑤-⑦(E-F-J)第四步:生成測試用例A=2,B=0,X=1A=2,B=0,X=4A=5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 ISO 15708-2:2025 EN Non-destructive testing - Radiation methods for computed tomography - Part 2: Principles,equipment and samples
- 貴州財經職業(yè)學院《電路實驗A》2023-2024學年第一學期期末試卷
- 貴陽幼兒師范高等專科學?!稄娀瘋鳠帷?023-2024學年第一學期期末試卷
- 2025海南建筑安全員考試題庫附答案
- 2025年海南建筑安全員知識題庫
- 2025年山西省安全員B證考試題庫附答案
- 廣州幼兒師范高等專科學?!稊?shù)字邏輯與計算機組成原理》2023-2024學年第一學期期末試卷
- 廣州衛(wèi)生職業(yè)技術學院《作物栽培學》2023-2024學年第一學期期末試卷
- 2025年貴州省建筑安全員知識題庫附答案
- 2025青海建筑安全員考試題庫附答案
- 血透管的固定和護理
- 寒假彎道超車主題勵志班會課件
- 觸電與應急知識培訓總結
- 分布式光伏高處作業(yè)專項施工方案
- 代理記賬機構自查報告范文
- 項目貸款保證函書
- 新版標準日本語(初級)上下冊單詞默寫表
- 面向5G網絡建設的站點供電技術應用與發(fā)展
- 普通語文課程標準(2023年核心素養(yǎng)版)
- 洗滌劑常用原料
- 曼陀羅中毒課件
評論
0/150
提交評論