等價類劃分方法_第1頁
等價類劃分方法_第2頁
等價類劃分方法_第3頁
等價類劃分方法_第4頁
等價類劃分方法_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、測試用例設計黑盒測試等價類劃分法邊界值分析法因果圖法錯誤推測法功能圖法基本路徑測試法邏輯覆蓋法語句覆蓋法判定覆蓋法條件覆蓋法判定-條件覆蓋法條件組合覆蓋法路徑覆蓋法1測試用例的定義和特征測試用例的定義:(1)測試用例是為特定的目的而設計的一組測試輸入、 執(zhí)行條件和預期的結(jié)果的集合。(2)測試用例是有效的發(fā)現(xiàn)軟件缺陷的最小測試執(zhí)行單元。 測試用例的特征:(1)最有可能抓住錯誤的;(2)不是重復的、多余的;(3)一組相似測試用例中最有效的;(4)既不是太簡單,也不是太復雜。2設計測試用例的基本準則測試用例的代表性 能夠代表并覆蓋各種合理的和不合理的、合法的和非法的、邊界的和越界的以及極限的輸入數(shù)據(jù)

2、、操作和環(huán)境設置等。測試結(jié)果的可判定性 即測試執(zhí)行結(jié)果的正確性是可判定的,每一個測試用例都應有相應的期望結(jié)果。測試結(jié)果的可再現(xiàn)性 即對同樣的測試用例,系統(tǒng)的執(zhí)行結(jié)果應當是相同的。3黑盒測試稱為功能性測試或數(shù)據(jù)驅(qū)動測試。4等價類劃分法的思想等價類劃分設計方法是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個子集中選取少量具有代表性的數(shù)據(jù)作為測試用例。等價類是指某個輸入域的子集合。在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的。并合理地假定:測試某等價類的代表值就等效于對這一類其他值的測試。5等價類的類型*有效等價類:是指對于程序的規(guī)格說明來說是合理的、有意義的輸

3、入數(shù)據(jù)構(gòu)成的集合。 利用有效等價類可檢驗程序是否實現(xiàn)了規(guī)格說明書中所規(guī)定的功能和性能*無效等價類:是指對軟件規(guī)格說明而言,是無意義的、不合理的輸入數(shù)據(jù)所構(gòu)成的集合。 利用無效等價類,可以鑒別程序異常處理的情況,檢查被測對象的功能和性能的實現(xiàn)是否有不符合規(guī)格說明要求的地方。 6等價類的劃分原則(1)按照區(qū)間劃分在輸入條件規(guī)定了取值范圍或值的個數(shù)的情況下,可以確定一個有效等價類和兩個無效等價類。例:程序輸入條件為小于100且大于10的整數(shù)x, 有效等價類為10 x100 兩個無效等價類為x10和x100。7例:程序輸入x取值于一個固定的枚舉類型1,3,7,15,且程序?qū)@4個數(shù)值分別進行了處理。有

4、效等價類為x=1、x=3、x=7、x=15,無效等價類為x1,3,7,15的值的集合。(2)按照數(shù)值劃分在規(guī)定了一組輸入數(shù)據(jù)(假設包括 n個輸入值),并且程序要對每一個輸入值分別進行處理的情況下,可確定 n 個有效等價類(每個值確定一個有效等價類)和一個無效等價類(所有不允許的輸入值的集合)。8(3)按照數(shù)值集合劃分在輸入條件規(guī)定了輸入值的集合或規(guī)定了“必須如何”的條件下,可以確定一個有效等價類和一個無效等價類(該集合有效值之外)。 例:程序輸入用戶口令的長度必須是4位的串,可以確定一個有效等價類是串的長度為4, 一個無效等價類長度不為4。9(4)按照限制條件或規(guī)則劃分在規(guī)定了輸入數(shù)據(jù)必須遵守

5、的規(guī)則或限制條件的情況下,可確定一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。例:程序輸入條件為取值為奇數(shù)的整數(shù)x, 則有效等價類為x的值為奇數(shù)的整數(shù) 無效等價類為x的值為不滿足其中任何一個條件或所有條件的輸入的集合。10(5)細分等價類在確知已劃分的等價類中各元素在程序中的處理方式不同的情況下,則應再將該等價類進一步劃分為更小的等價類,并建立等價類表。例:程序輸入條件為以字符a開頭、長度為8的字符串,并且字符串不包含a z之外的其它字符,則有效等價類為滿足了上述所有條件的字符串,無效等價類為不以a開頭的字符串、長度不為8的字符串和包含了a z之外其它字符的字符串。 11

6、(6)在輸入條件是一個布爾量的情況下,可確定一個有效等價類和一個無效等價類。例:程序輸入條件為BOOL x=true,有效等價類為x=true,無效等價類為x=false。 12等價類劃分法的步驟(1)確定等價類(2)建立等價類表,列出所有劃分出的等價類 (3)從劃分出的等價類中按以下的3個原則設計測試用例: A 為每一個等價類規(guī)定一個唯一的編號 B 設計一個新的測試用例,使其盡可能多的覆蓋尚未被覆蓋的有效等價類,重復這一步,直到所有的有效等價類都被覆蓋為止。 C 設計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重復這一步,直到所有的無效等價類都被覆蓋為止。 13確定等價類的方法先

7、考慮輸入數(shù)據(jù)的類型(合法型和非法型)再考慮數(shù)據(jù)范圍(合法型中的合法區(qū)間和非法區(qū)間)最后考慮輸出結(jié)果,逆向設定輸入14舉例輸入三個整數(shù)作為三邊的邊長構(gòu)成三角形。當此三角形為一般三角形、等腰三角形、等邊三角形時,分別作計算。用等價類劃分方法為該程序進行測試用例設計。15(1) 確定等價類設a、b、c代表三角形的三條邊。a) 整數(shù)b) 3個數(shù)c) 非零數(shù)d) 正數(shù)e) 兩邊之和大于第三邊f(xié)) 兩邊相等g) 三邊相等162)列出等價類表并編號1718練習現(xiàn)有一個小程序,能夠求出三個在-100到+100間整數(shù)中的最大者,程序界面如下:192.等價類劃分法(1)弱一般等價類測試特點: 不考慮無效數(shù)據(jù),測試

8、用例使用部分有效等價類中的一個值abcdefgx2x1202.等價類劃分法(2)強一般等價類測試特點:每一個有效等價類要選擇至少一個測試用例abcdefgx2x1212.等價類劃分方法(3)弱健壯等價類測試對于有效輸入: 使用部分有效類的個值對于無效輸入: 使用部分無效值abcdefgx2x1222.等價類劃分方法(4)強健壯等價類測試每個有效等價類和無效等價類都至少要選擇一個測試用例abcdefgx2x123三角形問題4個標準等價類測試用例測試用例abc預期輸出Test1101010等邊Test210105等腰Test3345一般三角形test4412非三角形24練習3:NextDate函數(shù)

9、NextDate函數(shù)有三個變量month,day,year的函數(shù),輸出為輸入日期下一天的日期。如:輸入為2007年7月19日,輸出為2007年7月20日。要求三個變量都為整數(shù),且滿足:條件:1 month 12條件2:1 day 31條件3:1912 year 205025(1)劃分等價類1Year Month Day的有效值區(qū)間定義如下:M1=month: 1month 12D1=day: 1 day 31Y1=year: 1912 year 205026(1)劃分等價類2無效等價類是:M2=month: month12D2=day: day31Y2=year: year205027Next

10、Date函數(shù)的弱健壯等價類測試用例測試用例monthdayyear預期輸出Test1Test2Test3Test4Test5Test6Test76-1136666151515-132151519122005200520052005191120511912.6.16month不在有效值內(nèi)month不在有效值內(nèi)day不在有效值內(nèi)day不在有效值內(nèi)year不在有效值內(nèi)year不在有效值內(nèi)28NextDate函數(shù)的強健壯等價類測試用例(部分)測試用例monthdayyear預期輸出Test1Test2Test3Test4Test5Test6Test7-166-16-1-115-115-1-115-11

11、918191819112005191119111911month不在有效值內(nèi)day不在有效值內(nèi)year不在有效值內(nèi)month,day不在有效值內(nèi)day,year不在有效值內(nèi)month,year不在有效值內(nèi)month,day,year不在有效值內(nèi)29續(xù):詳細的等價類劃分考慮對輸入日期的處理:M1=month: month有30天M2=month: month有31天M3=month: month是2月D1=day: 1 day 28D2=day: day=29D3=day: day=30D4=day: day=31Y1=year: year=2000Y2=year: year是閏年Y3=year

12、: year是平年30弱一般等價類測試用例測試用例monthdayyear預期輸出Test1Test2Test3Test467261529303120001996200220002000.6.161996.7.302002.2.31不可能的日期 2000.7.1(不可能的輸入日期)31強一般等價類測試用例測試用例monthdayyear預期輸出Test1Test2Test3Test4Test5Test6Test7Test8Test9Test10Test11Test12Test13Test14Test156666666666667771515142929293030303131311514142

13、000199620022000199620022000199620022000199620022000199620022000.6.161996.6.162002.6.152000.6.301996.6.302002.6.302000.6.31 (不可能的日期)1996.6.31 (不可能的日期)2002.6.31 (不可能的日期)2000.7.1(無效輸入) 1996.7.1(無效輸入)2002.7.1 (無效輸入)2000.7.161996.7.152002.7.1532測試用例monthdayyear預期輸出Test16Test17Test18Test19Test20Test21Test

14、22Test23Test24Test25Test26Test27Test28Test29Test307777777772222222929293030303131311414142929292000199620022000199620022000199620022000199620022000199620022000.7.301996.7.302002.7.302000.7.311996.7.312004.7.312000.8.11996.8.12002.8.12000.2.151996.2.152002.2.152000.3.1(無效的輸入日期)1996.3.12002.3.1 不可能的日期33測試用例monthdayyear預期輸出Test31Test32Test33Test34Test35Test362226663030303131312000199620022000199620

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論