第九軟件測試用例設(shè)計_第1頁
第九軟件測試用例設(shè)計_第2頁
第九軟件測試用例設(shè)計_第3頁
第九軟件測試用例設(shè)計_第4頁
第九軟件測試用例設(shè)計_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2022-2-81本章本章內(nèi)內(nèi)容容 測試測試用例用例設(shè)計概設(shè)計概述述 測試測試用例用例設(shè)計設(shè)計方法方法 白盒白盒測試測試用例用例設(shè)計設(shè)計方法方法 黑盒黑盒測試測試用例用例設(shè)計設(shè)計方法方法 單單元元測試測試用例用例設(shè)計設(shè)計 集成集成測試測試用例用例設(shè)計設(shè)計 系系統(tǒng)測試統(tǒng)測試用例用例設(shè)計設(shè)計軟件學院2022-2-82 測試用例是為了特定目的(如考察特定程序路徑或驗證是否符合特定的需求)而設(shè)計的測試數(shù)據(jù)及與之相關(guān)的測試規(guī)程的一個特定的集合,或稱為有效地發(fā)現(xiàn)軟件缺陷的最小測試執(zhí)行單元Test Case Definition 軟件學院2022-2-83寫作規(guī)范在ANSIIEEE 829 1983 標準中

2、列出了和測試設(shè)計相關(guān)的測試用例編寫規(guī)范和模板。標準模板中主要元素如下: 1 標識符:每個測試用例應有一個惟一的標識,作為引用的基本元素。2 測試項:測試用例應準確地描述被測試項及其特征。如做 Windows 應用程序的窗口測試,測試對象是整個應用程序用戶界面,其特性要求包括窗口縮放、界面布局、菜單等。軟件學院2022-2-84寫作規(guī)范3 測試環(huán)境要求:用來表明執(zhí)行該測試用例需要的測試環(huán)境,可根據(jù)被 測模塊對測試環(huán)境的需求來描述測試用例的測試環(huán)境。4 輸入數(shù)據(jù):用來執(zhí)行測試用例的輸入數(shù)據(jù)。5 對應輸出數(shù)據(jù):表示按照指定的環(huán)境和輸入標準得到的期望輸出結(jié)果。6 測試用例間的關(guān)聯(lián):用來標識該測試用例與

3、其他的測試(或其他測試用例)間的依賴關(guān)系軟件學院2022-2-81 Black-Box Testing(功能測試或數(shù)據(jù)驅(qū)動測試)Unit Test?軟件學院1 Black-Box Testing(功能測試或數(shù)據(jù)驅(qū)動測試)Unit Test?1) 是否有不正確或遺漏了的功能?2) 在接口上,輸入能否正確地接受? 能否輸出正確的結(jié)果?3) 是否有數(shù)據(jù)結(jié)構(gòu)錯誤或外部信息 (例 如數(shù)據(jù)文件) 訪問錯誤?4) 性能上是否能夠滿足要求?5) 是否有初始化或終止性錯誤?軟件學院1 Black-Box Testing(功能測試或數(shù)據(jù)驅(qū)動測試)Unit Test?所有可能的輸入條件和輸出條件中確定測試數(shù)據(jù)NO

4、Possible1 Black-Box Testing(功能測試或數(shù)據(jù)驅(qū)動測試)軟件學院2 White-Box Testing(內(nèi)部結(jié)構(gòu))Unit Test?1) 對程序模塊的所有獨立的執(zhí)行路徑至少測試一次 路徑覆蓋測試;2) 對所有的邏輯判定,取“真”與取“假”的兩種情況都至少測試一次 邏輯覆蓋測試;3) 在循環(huán)的邊界和運行界限內(nèi)執(zhí)行循環(huán)體- 控制流測試;4) 測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性 數(shù)據(jù)流測試、領(lǐng)域測試軟件學院2 White-Box Testing(內(nèi)部結(jié)構(gòu))Unit Test?循環(huán)循環(huán)20次次軟件學院2 White-Box Testing(內(nèi)部結(jié)構(gòu))Unit Test?1) 對程序模塊

5、的所有獨立的執(zhí)行路徑至少測試一次 路徑覆蓋測試;2) 對所有的邏輯判定,取“真”與取“假”的兩種情況都至少測試一次 邏輯覆蓋測試;3) 在循環(huán)的邊界和運行界限內(nèi)執(zhí)行循環(huán)體- 控制流測試;4) 測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性 數(shù)據(jù)流測試、領(lǐng)域測試軟件學院11Method Method White BoxWhite Box - Coverage - Coverage 方法 語句覆蓋 判定覆蓋 條件覆蓋每一可執(zhí)行語句至少執(zhí)行一次判定分支取真和取假各執(zhí)行一次 路徑覆蓋判定的每個條件的可能取值至少執(zhí)行一次程序流程中的獨立路徑執(zhí)行一次軟件學院12Method Method White BoxWhite Box

6、- Coverage - Coverage 實例 語句覆蓋(A1)AND(B=0)X=X/A(A=2)OR(X1)X=X+1FTTFabcde軟件學院13 分析 4條路徑 2個判定 3個變量L1:a-c-e 程序L2:a-b-dL3:a-b-eL4:a-c-d軟件學院14用例 語句覆蓋 判定覆蓋 條件覆蓋【輸入:(A,B,X),輸出:(A,B,X)】 測試【(2,0,4),(2,0,3)】 覆蓋L1【(2,0,4),(2,0,3)】【(1,1,1),(1,1,1)】 IF First IFSecond IF條件1: A1條件2: B=0F T F T 軟件學院15 Step 被測程序 建立程序

7、的控制流程 計算基本路徑數(shù)確定基本路徑集合設(shè)計測試用例執(zhí)行測試并記錄結(jié)果12345軟件學院16 程序流程圖X K ?Pointer = FalseX = X +1Pointer = TrueYesNo軟件學院17 程序控制流圖X K ?Pointer = FalseX = X +1Pointer = TrueYesNo1234軟件學院18 程序控制流程圖1234軟件學院19 Cyclomatic計算方法的計算公式: 路徑數(shù)= 邊數(shù) 節(jié)點數(shù) + 2 計算基本路徑數(shù) 9 7 + 2 = 4基本路徑數(shù) = 4軟件學院20 確定基本路徑集合 Path1: 1-2-3-4-5-6-7 Path2: 1-

8、2-3-4-5-6-1 Path3: 1-2-4-5-6-7 Path4: 1-2-4-5-6-1軟件學院21 設(shè)計測試用例 變量賦值 Path1: 1-2-3-4-5-6-7 Path2: 1-2-3-4-5-6-1 Path3: 1-2-4-5-6-7 Path4: 1-2-4-5-6-1 Test Case軟件學院22等價類是指某個輸入域的子集合。在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的。測試某等價類的代表值就等價于對這一類其他值的測試 1 1 等價類等價類軟件學院23等價類的劃分有兩種不同的情況:有效等價類:是對于程序規(guī)格說明來說,是合理的,有意義的輸入數(shù)據(jù)構(gòu)成的集合。

9、無效等價類:是指對于程序規(guī)格說明來說,是不合理的,無意義的輸入數(shù)據(jù)構(gòu)成的集合 1 1 等價類等價類軟件學院24(1)如果輸入條件規(guī)定了取值范圍,或值的個數(shù),則可確立一個有效等價類和兩個無效等價類。 如,在程序規(guī)格說明中對輸入條件有一句話: “ 項數(shù)可以從1到999 ” 則有效等價類是“1項數(shù)999” 兩個無效等價類是“項數(shù)1”或“項數(shù)999” Example Example 軟件學院25(2)如果輸入條件規(guī)定了取值范圍,或值的個數(shù),則可確立一個有效等價類和兩個無效等價類。 如,在程序規(guī)格說明中對輸入條件有一句話: “ 項數(shù)可以從1到999 ” 則有效等價類是“1項數(shù)999” 兩個無效等價類是“

10、項數(shù)1”或“項數(shù)999” Example Example 軟件學院在數(shù)軸上表示成:無效等價類無效等價類有效等價類有效等價類無效等價類無效等價類1999軟件學院27(2)如果輸入條件規(guī)定了輸入值的集合,如果輸入條件規(guī)定了輸入值的集合,或者是規(guī)定了或者是規(guī)定了“必須如何必須如何”的條件,的條件,這時可確立一個有效等價類和一個無這時可確立一個有效等價類和一個無效等價類。效等價類。 例如,在例如,在Pascal語言中對變量標識符語言中對變量標識符規(guī)定為規(guī)定為“以字母打頭的以字母打頭的串串”。那。那么所有以字母打頭的構(gòu)成有效等價類,么所有以字母打頭的構(gòu)成有效等價類,而不在此集合內(nèi)(不以字母打頭)的而不在

11、此集合內(nèi)(不以字母打頭)的歸于無效等價類歸于無效等價類。 Example Example 軟件學院(3) 如果輸入條件是一個布爾量,則可以確定一個有效等價類和一個無效等價類。(4) 如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序要對每個輸入值分別進行處理。這時可為每一個輸入值確立一個有效等價類,此外針對這組值確立一個無效等價類,它是所有不允許的輸入值的集合。 例如,在教師上崗方案中規(guī)定對教授、副教授、講師和助教分別計算分數(shù),做相應的處理。軟件學院 因此可以確定 4 個有效等價類為教授、副教 授、講師和助教,一個無效等價類,它是所有不符合以上身分的人員的輸入值的集合。(5)如果規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則

12、,則可以確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。 例如,Pascal語言規(guī)定 “一個語句必須以分號;結(jié)束”。這時可以確定一個有效等價類 “以;結(jié)束”,若干個無效等價類 “以:結(jié)束”、“以,結(jié)束”、“以 結(jié)束”、“以LF結(jié)束”。軟件學院2.確立測試用例a)在確立了等價類之后,建立等價類表,列出所有劃分出的等價類。b)從劃分出的等價類中按以下原則選擇測試用例:輸入條件輸入條件有效等價類有效等價類無效等價無效等價類類軟件學院(1)為每一個等價類規(guī)定一個唯一編號;(2)設(shè)計一個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋的有效等價類,重復這一步,直到所有的有效等價類都被覆

13、蓋為止;(3)設(shè)計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重復這一步,直到所有的無效等價類都被覆蓋為止。3. 用等價類劃分法設(shè)計測試用例的實例l在某一Pascal語言版本中規(guī)定:“標識符是由字母開頭,后跟字母或數(shù)字的任軟件學院l意組合構(gòu)成。編譯器能夠區(qū)分的有效字符數(shù)為8 個,最大字符數(shù)為 80 個?!?并且規(guī)定:“標識符必須先說明,再使用?!薄霸谕徽f明語句中,標識符至少必須有一個?!眑從輸入條件來看,有如下幾個: 標識符的組成 標識符的第一個字符 標識符的字符個數(shù) 說明語句中的標識符個數(shù) 標識符的使用軟件學院用等價類劃分方法,建立輸入等價類表:輸入條件輸入條件有效等價類有效等

14、價類無效等價類無效等價類說明語句中說明語句中標識符個數(shù)標識符個數(shù)1個個(1), 多個多個(2)0個個(3)標識符中字標識符中字符數(shù)符數(shù)18個個(4)0個個(5), 8個個(6), 80個個(7)標識符組成標識符組成字母字母(8), 數(shù)字數(shù)字(9)非字母數(shù)字字符非字母數(shù)字字符(10), 保留字保留字(11)標識符第一標識符第一個字符個字符字母字母(12)非字母非字母(13)標識符使用標識符使用先說明后使用先說明后使用(14)未說明就使用未說明就使用(15)軟件學院l下面選取了 9 個測試用例,它們覆蓋了所有的等價類。 VAR x,T1234567:REAL; BEGIN x := 3.414;

15、T1234567 := 2.732; . (1), (2), (4), (8), (9), (12), (14) VAR :REAL; (3) VAR x,:REAL; (5) VAR T12345678:REAL; (6)軟件學院VAR T12345.:REAL; (7) 多于80個字符 VAR T$:CHAR; (10) VAR GOTO:INTEGER; (11) VAR 2T:REAL; (13) VAR PAR:REAL; (15) BEGIN . PAP := SIN (3.14 * 0.8) / 6;軟件學院36邊界值分析也是一種黑盒測試方法,是對等價類劃分方法的補充。 大量的錯

16、誤是發(fā)生在輸入或輸出范圍的邊界上,而不是在輸入范圍的內(nèi)部 1 1邊界值邊界值軟件學院37使用邊界值分析方法設(shè)計測試用例,首先應確定邊界情況。通常應當針對輸入等價類的邊界,選取正好等于,剛剛大于,或剛剛小于邊界的值做為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值做為測試數(shù)據(jù)。 1 1邊界值邊界值軟件學院38如何確定邊界?通常的邊界檢查原則:a)數(shù)字:最大最小剛大于最大剛小于最小、b)字符串:位置(首位末位首位前末位后)長度(零 很大 超出緩沖區(qū))取值范圍(剛到達邊界 剛超出邊界)c)其他如質(zhì)量、大小、速度、方位、尺寸、空間等都可按照最輕 最重,最大最小,最快最慢、最高最低、最短最長、空滿等確定邊

17、界。 1 1邊界值邊界值軟件學院39例如,判斷三角形問題,問題的提法是:程序接受 3 個整數(shù) a、b 和 c 作為輸入,用做三角形的邊。整數(shù) a、b 和 c 必須滿足以下條件:C11a200 C21b200 C31c200 C4ab + cC5ba + c C6ca + bExampleExample軟件學院40例如,判斷三角形問題,問題的提法是:程序接受 3 個整數(shù) a、b 和 c 作為輸入,用做三角形的邊。整數(shù) a、b 和 c 必須滿足以下條件:C11a200 C21b200 C31c200 C4ab + cC5ba + c C6ca + bExampleExample軟件學院l按照構(gòu)成三角形的條件 C1、C2和C3,整數(shù)a、b、c的邊界值為1和200,稍超出邊界的值為0和201。 C4、C5和C6的邊界值分別是b+ca+1、a+cb+1和b+ca+1。l可取的測試用例如下表所示。 測測 試試 用用 例例abc a, b, c 達到最小邊界達到最小邊界 111 a, b, c 達到最大邊界達到最大邊界200200200 a 超出最小邊界超出最小邊界

溫馨提示

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

評論

0/150

提交評論