版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
控制結構測試控制結構測試11.基本路徑測試基本路徑測試是TomMcCabe提出的一種白盒測試技術。使用這種技術設計測試用例時,首先計算程序的環(huán)形復雜度,并用該復雜度為指南定義執(zhí)行路徑的基本集合。1.基本路徑測試基本路徑測試是TomMcCabe提出的一2流圖為了突出表示程序的控制流,人們通常使用流圖(也稱為程序圖)。所謂流圖實質上是“退化了的”程序流程圖,它僅僅描繪程序的控制流程,完全不表現(xiàn)對數(shù)據(jù)的具體操作以及分支或循環(huán)的具體條件。
在流圖中用圓表示結點,一個圓代表一條或多條語句。程序流程圖中的一個順序的處理框序列和一個菱形判定框,可以映射成流圖中的一個結點。流圖3流圖中的箭頭線稱為邊,它和程序流程圖中的箭頭線類似,代表控制流。當過程設計中包含復合條件時,應該把復合條件分解為若干個簡單條件,每個簡單條件對應流圖中一個結點。流圖中的箭頭線稱為邊,它和程序流程圖中的箭頭線類似,代表控制4人文地理工業(yè)地域的形成與工業(yè)區(qū)—年新高考人教版地理復習完美課件下載5例子:PROCEDUREaverage;/*這個過程計算不超過100個在規(guī)定值域內的有效數(shù)字的平均值;同時計算有效數(shù)字的總和及個數(shù)。*/ INTERFACERETURNSaverage,total.input,total.valid;INTERFACEACCEPTSvalue,minimum,maximum;TYPEvalue[1…100]ISSCALARARRAY;TYPEaverage,total.input,total.valid; minimum,maximum,sumISSCALAR;TYPEiISINTEGER;例子:61: i=1; total.input=total.valid=0; sum=0;2: DOWHILEvalue[i]<>-9993: ANDtotal.input<1004: incrementtotal.inputby1;5: IFvalue[i]>=minimum6: ANDvalue[i]<=maximum7:THENincrementtotal.validby1; sum=sum+value[i];8: ENDIF incrementiby1;9: ENDDO10:IFtotal.valid>011:THENaverage=sum/total.valid;12:ELSEaverage=-999;13:ENDIF ENDaverage1: i=1;7程序流程圖如右圖所示程序流程圖如右圖所示8使用基本路徑測試技術設計測試用例的步驟如下:第一步,根據(jù)過程設計結果畫出相應的流圖。使用基本路徑測試技術設計測試用例的步驟如下:9求平均值過程的流圖求平均值過程的流圖10第二步,計算流圖的環(huán)形復雜度。環(huán)形復雜度定量度量程序的邏輯復雜性。第二步,計算流圖的環(huán)形復雜度。11描繪程序控制流的流圖之后,可以用下述3種方法中的任何一種來計算環(huán)形復雜度。(1)流圖中的區(qū)域數(shù)等于環(huán)形復雜度。(2)流圖G的環(huán)形復雜度V(G)=E-N+2,其中,E是流圖中邊的條數(shù),N是結點數(shù)。(3)流圖G的環(huán)形復雜度V(G)=P+1,其中,P是流圖中判定結點的數(shù)目。
描繪程序控制流的流圖之后,可以用下述3種方法中的任何一種來計12可計算得,上例的復雜度為6。第三步,確定線性獨立路徑的基本集合。所謂獨立路徑是指至少引入程序的一個新處理語句集合或一個新條件的路徑,用流圖術語描述,獨立路徑至少包含一條在定義該路徑之前不曾用過的邊。使用基本路徑測試用例時,程序的環(huán)形復雜度決定了程序中獨立路徑的數(shù)量??捎嬎愕茫侠膹碗s度為6。13由該理論,圖5.6中存在6條獨立路徑,它們分別為: 1-2-10-11-13 1-2-10-12-13 1-2-3-10-11-13 1-2-3-4-5-8-9-2-... 1-2-3-4-5-6-8-9-2-... 1-2-3-4-5-6-7-8-9-2-...由該理論,圖5.6中存在6條獨立路徑,它們分別為:14
第四步,設計可強制執(zhí)行基本集合中每條路徑的測試用例。應該選取測試數(shù)據(jù)使得在測試每條路徑時都適當?shù)卦O置好了各個判定結點的條件。一旦執(zhí)行完所有測試用例,就可以確保程序中所有語句都至少被執(zhí)行了一次,而且每個條件都分別取過true值和false值。第四步,設計可強制執(zhí)行基本集合中每條路152.條件測試用條件測試技術設計出的測試用例,能夠檢查程序模塊中包含的邏輯條件。關系表達式的形式如下:E1<關系算符>E2其中,E1和E2是算術表達式,而<關系算符>是下列算符之一:“<”,“≤”,“=”,“≠”,“>”或“≥”。2.條件測試用條件測試技術設計出的測試用例,能夠檢查程序模16復合條件由兩個或多個簡單條件、布爾算符和括弧組成。布爾算符有OR(“|”),AND(“&”)和NOT。不包含關系表達式的條件稱為布爾表達式。條件成分的類型包括布爾算符、布爾變量、布爾括?。ɡㄗ『唵螚l件或復合條件)、關系算符及算術表達式。復合條件由兩個或多個簡單條件、布爾算符和括弧組成。17aPoint.SecondPoint=="n"||aPoint.SecondPoint=="ns"||aPoint.SecondPoint=="nr"||aPoint.SecondPoint=="v"||aPoint.SecondPoint=="vn"||aPoint.SecondPoint=="b“intCount>1&&strSplit[i]!=strLabel(strTemp=="<"||strTemp=="【")&&i<strContentValue.Length-1aPoint.SecondPoint=="n"||a18strTemp=="\t"||strTemp=="\r"||strTemp=="\n"||booIfLabel||strTemp==""||strTemp=="'“booIfLabel是布爾變量strTemp=="\t"||strTemp==19如果條件不正確,則至少條件的一個成分不正確。因此,條件錯誤的類型如下:布爾算符錯(布爾算符不正確,遺漏布爾算符或有多余的布爾算符)布爾變量錯布爾括弧錯關系算符錯算術表達式錯如果條件不正確,則至少條件的一個成分不正確。因此,條件錯誤的20條件測試的目的不僅是檢測程序條件中的錯誤,而且是檢測程序中的其他錯誤。如果程序P的測試集能有效地檢測P中條件的錯誤,則它很可能也可以有效地檢測P中的其他錯誤。如果一個測試策略對檢測條件錯誤是有效的,則很可能該策略對檢測程序的其他錯誤也是有效的。條件測試的目的不僅是檢測程序條件中的錯誤,而且是檢測程序中的21分支測試可能是最簡單的條件測試策略:對于復合條件C來說,C的真分支和假分支以及C中的每個簡單條件,都應該至少執(zhí)行一次。E1<關系算符>E2包含n個變量的布爾表達式需要2n個測試。這個策略可以發(fā)現(xiàn)布爾算符、變量和括弧的錯誤,但是,該策略僅在n很小時才是實用的。分支測試可能是最簡單的條件測試策略:對于復合條件C來說,C的22K.C.Tai提出了一種被稱為BRO(branchandrelationaloperator)測試的條件測試策略。如果在條件中所有布爾變量和關系算符都只出現(xiàn)一次而且沒有公共變量,則BRO測試保證能發(fā)現(xiàn)該條件中的分支錯和關系算符錯。C1:B1&B2{(t,f),(t,t),(f,f)}C2:B1&(E2=E3)
{(t,=),(f,=),(t,>),(t,<)}C3:(E1>E2)&(E3=E4){(>,=),(<,=),(=,=),(>,>),(>,<)}K.C.Tai提出了一種被稱為BRO(branchand23privatestringgetSiteName(stringstrNetNameValue){stringstrNetName="";intintNetNameLocation=strNetNameValue.IndexOf(".com");inti=intNetNameLocation;while(i>0){i--;stringstrTemp=strNetNameValue.Substring(i,1);if(strTemp=="."){
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度攝影師與攝影棚運營方居間合同2篇
- 二零二五版社區(qū)配送訂餐服務合同范本與社區(qū)管理協(xié)議3篇
- 二零二五年度酒店地毯綠色生產與環(huán)保認證合同3篇
- 二零二五年新能源充電樁建設運營合同樣本3篇
- 二零二五版高端住宅項目全程代理銷售合同3篇
- 二零二五版基因合成與生物技術知識產權轉讓合同3篇
- 二零二五版10月大型設備運輸委托合同2篇
- 二零二五版廣西事業(yè)單位聘用示范性合同模板12篇
- 2025年度出口貨物環(huán)保認證服務合同3篇
- 二零二五年度膩子材料國際貿易代理合同2篇
- 納米技術增強早期疾病生物標志物的檢測
- 產品銷量分析表折線圖excel模板
- 辦公設備(電腦、一體機、投影機等)采購 投標方案(技術方案)
- 【真題】2023年南京市中考語文試卷(含答案解析)
- 功率模塊可靠性壽命評估與預測
- 案卷評查培訓課件模板
- 湘教版七年級地理第一學期期末試卷分析
- 上海春季高考英語真題試題word精校版(含答案)
- “數(shù)”我精彩-“學”有特色-小學六年級數(shù)學寒假特色作業(yè)展示
- 牛津譯林版八年級上冊英語8A期末復習-閱讀理解(含答案)
- 普通高等新郎接親試卷(2022全國卷)
評論
0/150
提交評論