第4章黑盒測(cè)試_第1頁
第4章黑盒測(cè)試_第2頁
第4章黑盒測(cè)試_第3頁
第4章黑盒測(cè)試_第4頁
第4章黑盒測(cè)試_第5頁
已閱讀5頁,還剩142頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第4 4章章 黑盒測(cè)試黑盒測(cè)試 本章內(nèi)容本章內(nèi)容 4.1 概述 4.2 等價(jià)類劃分法 4.3 邊界值分析法 4.4 決策表法 4.5 因果圖法 4.6 場(chǎng)景法 4.1 4.1 概概 述述 黑盒測(cè)試也稱功能測(cè)試,它是通過測(cè)試來檢測(cè)每個(gè)功能是否都能正常使用。在測(cè)試中,把程序看做一個(gè)不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,對(duì)程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。黑盒測(cè)試著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。 【例例4-14-1】 任意輸入三角形的三邊,判斷

2、三角形類型。如圖4.1所示,輸入三角形的三條邊a、b、c,設(shè)計(jì)測(cè)試用例數(shù)量。假設(shè)在字長(zhǎng)為16位的計(jì)算機(jī)上運(yùn)行,則每個(gè)整數(shù)可能的取值為216種,那么a、b、c三條邊的各種可能取值的排列組合就有21621621631014種,執(zhí)行完所有的測(cè)試大約需要執(zhí)行31014次,也就是說,大約需要執(zhí)行31014次才能做到“窮盡”測(cè)試。假設(shè)執(zhí)行1次需耗時(shí)1 ms,則執(zhí)行完所有的測(cè)試數(shù)據(jù)就需1萬年。問題描述問題描述 (1).三角形問題 輸入三個(gè)整數(shù)a,b,c,分別作為三角形的三條邊,現(xiàn)通過程序判斷三條邊構(gòu)成三角形的類型為:一般三角形等邊三角形等腰三角形不構(gòu)成三角形問題描述問題描述現(xiàn)在要求輸入的三個(gè)整數(shù)必須滿足以下

3、條件: 條件1: a 0 條件2: b 0 條件3: c 0 條件4: ab+c 條件5: ba+c 條件6: c確定測(cè)試用例確定測(cè)試用例4.2 4.2 等價(jià)類劃分法等價(jià)類劃分法 2 等價(jià)類劃分的原則(1) 如果輸入條件規(guī)定了取值范圍(閉區(qū)間),或值的個(gè)數(shù),則可以確立一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類。4.2 4.2 等價(jià)類劃分法等價(jià)類劃分法 例如,在程序的規(guī)格說明中,對(duì)輸入條件有一句話: “ 項(xiàng)數(shù)可以從1到999 ” 則有效等價(jià)類是“1項(xiàng)數(shù)999”兩個(gè)無效等價(jià)類是“項(xiàng)數(shù)1”或“項(xiàng)數(shù)999”。在數(shù)軸上表示成: 4.2 4.2 等價(jià)類劃分法等價(jià)類劃分法(2) 如果輸入條件規(guī)定了輸入值的集合,或者是規(guī)

4、定了“必須如何”的條件,這時(shí)可確立一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。例如,在例如,在PascalPascal語言中對(duì)變量標(biāo)識(shí)符規(guī)定語言中對(duì)變量標(biāo)識(shí)符規(guī)定為為“以字母打頭的以字母打頭的串串”。那么所有以。那么所有以字母打頭的構(gòu)成有效等價(jià)類,而不在此集字母打頭的構(gòu)成有效等價(jià)類,而不在此集合內(nèi)(不以字母打頭)的歸于無效等價(jià)類。合內(nèi)(不以字母打頭)的歸于無效等價(jià)類。4.2 4.2 等價(jià)類劃分法等價(jià)類劃分法 (3) (3) 如果輸入條件是一個(gè)布爾量,則可以如果輸入條件是一個(gè)布爾量,則可以確定一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。確定一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。 (4) (4) 如果規(guī)定了輸入數(shù)據(jù)的一組值,而

5、且如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序要對(duì)每個(gè)輸入值分別進(jìn)行處理。程序要對(duì)每個(gè)輸入值分別進(jìn)行處理。這時(shí)這時(shí)可為可為 每一個(gè)輸入值確立一個(gè)有效等價(jià)類,每一個(gè)輸入值確立一個(gè)有效等價(jià)類,此外針對(duì)這組值確立一個(gè)無效等價(jià)類,它此外針對(duì)這組值確立一個(gè)無效等價(jià)類,它是所有不允許的輸入值的集合。是所有不允許的輸入值的集合。4.2 4.2 等價(jià)類劃分法等價(jià)類劃分法 例如,在教師上崗方案中規(guī)定對(duì)教授、副教授、講師和助教分別計(jì)算分?jǐn)?shù),做相應(yīng)的處理。因此可以確定4個(gè)有效等價(jià)類為教授、副教授、講師和助教,一個(gè)無效等價(jià)類,它是所有不符合以上身分的人員的輸入值的集合。4.2 4.2 等價(jià)類劃分法等價(jià)類劃分法 (5) 如果規(guī)

6、定了輸入數(shù)據(jù)必須遵守的規(guī)則,則可以確立一個(gè)有效等價(jià)類(符合規(guī)則)和若干個(gè)無效等價(jià)類(從不同角度違反規(guī)則)。 如:輸入數(shù)據(jù)是1到100之間的整數(shù)4.2 4.2 等價(jià)類劃分法等價(jià)類劃分法 3 確定測(cè)試用例等價(jià)類劃分的步驟:先考慮輸入數(shù)據(jù)的數(shù)據(jù)類型(合法類型和非法類型)再考慮數(shù)據(jù)范圍(合法類型中的合法區(qū)間和非法區(qū)間)確立了等價(jià)類后,建立等價(jià)類表,列出所有劃分的等價(jià)類.4.2 4.2 等價(jià)類劃分法等價(jià)類劃分法根據(jù)劃分的等價(jià)類,按以下原則選擇測(cè)試用例: (1) 為每一個(gè)等價(jià)類規(guī)定一個(gè)唯一編號(hào); (2) 設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋尚未被覆蓋的有效等價(jià)類,重復(fù)這一步,直到所有的有效等價(jià)類都被覆

7、蓋為止; (3)設(shè)計(jì)一個(gè)新的測(cè)試用例,使其僅覆蓋一個(gè)尚未被覆蓋的無效等價(jià)類,重復(fù)這一步,直到所有的無效等價(jià)類都被覆蓋為止。舉例舉例是否三角形的是否三角形的3 3條條邊邊a0a0b0b0c0c0a+bca+bcb+cab+caa+cba+cb(1)(1)(2)(2)(3)(3)(4)(4)(5)(5)(6)(6)a0a0b0b0c0c0a+b ca+b cb+c ab+c aa+c ba+c b(7)(7)(8)(8)(9)(9)(10)(10)(11)(11)(12)(12)等腰三角形等腰三角形? ?a=b & bca=b & bcb=c & cab=c & c

8、ac=a & abc=a & ab(13)(13)(14)(14)(15)(15)ab & ab & bc &bc &caca(16)(16)等邊三角形等邊三角形? ?a=b a=b &b=c&c=a&b=c&c=a(17)(17)ababbcbccaca(18)(18)(19)(19)(20)(20) 三角形問題的等價(jià)類13,4,5(1)-(6)2340,1,21,0,21,2,0(7)(8)(9)5671,2,33,1,21,3,2(10)(11)(12)89103,3,43,4,43,4,3(1)-(6),(

9、13)(1)-(6),(14)(1)-(6),(15)113,4,5(1)-(6),(16)123,3,3(1)-(6),(17)1314153,4,43,4,33,3,4(1)-(6),(14),(18)(1)-(6),(15),(19)(1)-(6),(13),(20)練習(xí)練習(xí)用例1:桌面系統(tǒng)登錄主事件流:當(dāng)系統(tǒng)提示員工輸入員工編號(hào)和口令時(shí),用例開始。員工可以掃描卡片再按回車提交員工編號(hào),然后通過鍵盤輸入口令,并回車或點(diǎn)擊確認(rèn)按鈕。系統(tǒng)就檢查員工的號(hào)碼和口令員工的號(hào)碼和口令輸入是否合法合法。如果是合法的,系統(tǒng)就顯示員工的基本信息和可選操作,然后結(jié)束這個(gè)用例。可選事件流:如果員工輸入了一個(gè)不

10、合法的編號(hào)或口令,系統(tǒng)就顯示錯(cuò)誤消息,用戶可以選擇重新輸入或取消,重新輸入則回到主事件流,若取消則該用例結(jié)束。可選事件流:如果員工員工輸入的編號(hào)編號(hào)已過期過期或被禁用了,系統(tǒng)就顯示提示消息,并記錄該次登錄事件,該用例結(jié)束。可選事件流:如果員工連續(xù)員工連續(xù)3 3次輸入次輸入不合法,則顯示警告并鎖定屏幕,進(jìn)入等待管理員解鎖用例。 假定編號(hào)范圍為編號(hào)范圍為1001999910019999的整數(shù),口令為長(zhǎng)度不小于的整數(shù),口令為長(zhǎng)度不小于6 6的的任意字符的組合任意字符的組合工資支付系統(tǒng)等價(jià)類測(cè)試設(shè)計(jì)工資支付系統(tǒng)等價(jià)類測(cè)試設(shè)計(jì)對(duì)編號(hào)和口令的判斷是基于數(shù)據(jù)庫中員工信息的,假定員工信息表簡(jiǎn)化如下: BH和K

11、L必須滿足的條件:Con1:1001BH9999整數(shù)Con2:6length(KL)Con3:BH和KL必須合法(此處合法指數(shù)據(jù)庫中有)Con4:BH必須沒有過期Con5:BH和KL非法輸入必須小于3次工資支付系統(tǒng)等價(jià)類測(cè)試設(shè)計(jì)工資支付系統(tǒng)等價(jià)類測(cè)試設(shè)計(jì)測(cè)試用例TC1=(“1003”,“softwaretesting”)可以覆蓋有效等價(jià)類15。工資支付系統(tǒng)等價(jià)類測(cè)試設(shè)計(jì)工資支付系統(tǒng)等價(jià)類測(cè)試設(shè)計(jì)測(cè)試用測(cè)試用例標(biāo)識(shí)例標(biāo)識(shí)輸入輸入BHBH和和KLKL期望的輸出期望的輸出覆蓋等覆蓋等價(jià)類價(jià)類TC2TC21000.31000.3,softwaretestingsoftwaretesting提示提示“請(qǐng)

12、輸入請(qǐng)輸入1001999910019999之間的整數(shù)之間的整數(shù)”6 6TC3TC310021002,提示提示“請(qǐng)輸入口令請(qǐng)輸入口令”8 8TC4TC4,softwaretestingsoftwaretesting提示提示“請(qǐng)輸入編號(hào)請(qǐng)輸入編號(hào)”9 9TC5TC5999999,softwaretestingsoftwaretesting提示提示“請(qǐng)輸入請(qǐng)輸入1001999910019999之間的整數(shù)之間的整數(shù)”1010TC6TC61000010000,softwaretestingsoftwaretesting提示提示“請(qǐng)輸入請(qǐng)輸入1001999910019999之間的整數(shù)之間的整數(shù)”1111T

13、C7TC710031003,abc12abc12提示提示“請(qǐng)輸入長(zhǎng)度大于等請(qǐng)輸入長(zhǎng)度大于等于于6 6的口令的口令”1212TC8TC810211021,softwaretestingsoftwaretesting提示提示“無此編號(hào)無此編號(hào)”1313TC9TC910031003,softwaretestsoftwaretest提示提示“口令錯(cuò)誤口令錯(cuò)誤”1414TC10TC1010201020,zhaochong2000-01-18zhaochong2000-01-18提示提示“編號(hào)已過期編號(hào)已過期”15154.3 邊界值分析方法 1 概述人們從長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)得知,大量的錯(cuò)誤是發(fā)生在輸入或輸

14、出范圍的邊界上,而不是在輸入范圍的內(nèi)部。因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤。邊界值分析方法 比如,在做三角形計(jì)算時(shí),要輸入三角形的三個(gè)邊長(zhǎng):A、B和C。 我們應(yīng)注意到這三個(gè)數(shù)值應(yīng)當(dāng)滿足 A0、B0、C0、 ABC、ACB、BCA,才能構(gòu)成三角形。但如果把六個(gè)不等式中的任何一個(gè)大于號(hào)“”錯(cuò)寫成大于等于號(hào)“”,那就不能構(gòu)成三角形。問題恰出現(xiàn)在容易被疏忽的邊界附近。邊界值分析方法邊界值分析方法也是一種黑盒測(cè)試方法測(cè)試用例主要來自于等價(jià)類的邊界.具有發(fā)現(xiàn)程序錯(cuò)誤的能力.邊界值分析方法邊界值分析測(cè)試的基本原理:故障往往出故障往往出現(xiàn)在輸入變量的邊界值附近現(xiàn)在輸入變量的邊界值附近. .使

15、用邊界值分析方法設(shè)計(jì)測(cè)試用例,首先應(yīng)確定邊界情況.通常輸入和輸出等價(jià)類的邊界,就是應(yīng)著重測(cè)試的邊界情況.邊界值分析方法 邊界值分析利用輸入變量的最小值(min)、略大于最小值(min+)、輸入值域內(nèi)的任意值(nom)、略小于最大值(max-)和最大值(max)來設(shè)計(jì)測(cè)試用例。邊界值分析方法 2 邊界值分析方法選擇測(cè)試用例的原則 (1)若輸入條件指定為以a和b為邊界的范圍,則測(cè)試用例應(yīng)該包括a、b、略大于a和略小于b; (2)如果輸入條件規(guī)定了一個(gè)取值范圍,那么從范圍的邊界生成合法測(cè)試用并為恰好超出邊界的輸入值生成非法測(cè)試用例。 (3)若輸入條件指定為一組值,則測(cè)試用例應(yīng)當(dāng)執(zhí)行其中的最大值和最小

16、值,以及略大于最小值和略小于最大值的值。 (4)如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù),最小個(gè)數(shù),比最小個(gè)數(shù)少1,比最大個(gè)數(shù)多1的數(shù)創(chuàng)建測(cè)試用例。邊界值分析方法 (5)指導(dǎo)原則1、2和3也適用于輸出條件。例如,工程分析程序要求輸出溫度和壓強(qiáng)的對(duì)照表,測(cè)試用例應(yīng)該能夠創(chuàng)建表項(xiàng)所允許的最大值和最小值的輸出報(bào)告; (6)若內(nèi)部程序數(shù)據(jù)結(jié)構(gòu)有預(yù)定義的邊界值(如:數(shù)組有100項(xiàng)),要在其邊界處測(cè)試數(shù)據(jù)結(jié)構(gòu)。 (7)如果程序的輸入或輸出是一個(gè)有序的集合 (例如順序文件、線性列表、表格等),那么需要關(guān)注集合的第一個(gè)和最后一個(gè)元素。 邊界值分析測(cè)試 3 邊界值分析測(cè)試邊界值分析是基于“單缺陷”假設(shè):軟件失效

17、基本上是由單缺陷引起的,很少是由兩個(gè)或者兩個(gè)以上的故障引起的.在設(shè)計(jì)測(cè)試用例時(shí),通常是使得其中一個(gè)變量的值取極值,其余變量的值取正常值.邊界值分析測(cè)試 假設(shè)函數(shù)F有兩個(gè)變量x1,x2,兩個(gè)變量的取值范圍:a x1b, cx2 dabcdx2x1邊界值分析測(cè)試 基于單缺陷假設(shè),利用輸入變量的,來設(shè)計(jì)測(cè)試用例.abcdx2x1邊界值分析測(cè)試;邊界值分析測(cè)試 對(duì)于一個(gè)含有n個(gè)變量的程序,只讓其中一個(gè)變量取極值,讓其余的變量取正常值,被保留的變量依次取min、min+、nom、max-、max值,對(duì)每個(gè)變量都重復(fù)進(jìn)行。這樣,對(duì)于一個(gè)有n個(gè)變量的程序,邊界值分析測(cè)試程序會(huì)產(chǎn)生4n+1個(gè)測(cè)試用例。三角形問

18、題的邊界值分析測(cè)試用例設(shè)計(jì) 三角形問題: 要求三角形的三條邊a,b,c都在1到100之內(nèi)Test1Test2Test3Test4Test560606050506060605050126099100等腰三角形等腰三角形等邊三角形等腰三角形不構(gòu)成三角形 三角形問題的邊界值分析測(cè)試用例設(shè)計(jì)Test6Test7Test8Test960605050129910060605050等腰三角形等腰三角形等腰三角形不構(gòu)成三角形Test10Test11Test12Test1312991006060505060605050等腰三角形等腰三角形等腰三角形不構(gòu)成三角形三角形NextDate函數(shù)的邊界值分析測(cè)試用例Tes

19、t1Test2Test3Test4Test5Test6Test7Test8Test9Test10Test11Test12Test1366666666612111215151515151230311515151519121913197520492050200120012001200120012001200120011912.6.161912.6.161913.6.161913.6.161975.6.161975.6.162049.6.162049.6.162050.6.162050.6.162001.6.22001.6.22001.6.32001.6.32001.7.12001.7.1輸入日期超

20、界輸入日期超界2001.1.162001.1.162001.2.162001.2.162001.11.162001.11.162001.12.162001.12.16邊界值分析的特點(diǎn)和局限性l對(duì)于一個(gè)對(duì)于一個(gè)n n變量函數(shù),邊界值分析會(huì)產(chǎn)生變量函數(shù),邊界值分析會(huì)產(chǎn)生4n4n1 1個(gè)測(cè)試用例。個(gè)測(cè)試用例。l邊界值的取值取決于變量本身的性質(zhì)。邊界值的取值取決于變量本身的性質(zhì)。l邊界值分析對(duì)布爾變量沒有什么意義。邊界值分析對(duì)布爾變量沒有什么意義。l邊界值分析假設(shè)變量是完全獨(dú)立的。邊界值分析假設(shè)變量是完全獨(dú)立的。 4 邊界值分析的邊界值分析的擴(kuò)展除了考慮5個(gè)邊界值外,還需要考慮采用一個(gè)略超過最大值ma

21、x+以及略小于最小值min-的取值。即:abcdx2x1 健壯性測(cè)試的主要價(jià)值是:觀察例外處理情況。三角形問題的健壯性測(cè)試用例設(shè)計(jì) 考慮 max+,max,max-,nom,min+, min, min-。nNextDate函數(shù)的健壯性測(cè)試用例設(shè)計(jì)Test1Test1Test2Test2Test3Test3Test4Test4Test5Test5Test6Test6Test7Test7Test8Test8Test9Test9Test10Test10Test11Test11Test12Test12Test13Test136 66 66 66 66 66 66 66 66 66 66 66 66

22、61515151515151515151515151515-1-11 12 230303131323219111911191219121913191319751975204920492050205020512051200120012001200120012001200120012001200120012001yearyear超出超出1912.6.161912.6.161913.6.161913.6.161975.6.161975.6.162049.6.162049.6.162050.6.162050.6.16yearyear超出超出dayday超出超出2001.6.22001.6.22001.

23、6.32001.6.32001.7.12001.7.1輸入日期超界輸入日期超界dayday超出超出NextDate函數(shù)的健壯性測(cè)試用例設(shè)計(jì)Test14Test15Test16Test17Test18Test19-112111213151515151515200120012001200120012001monthmonth超出超出2001.1.162001.1.162001.2.162001.2.162001.11.162001.11.162001.12.162001.12.16monthmonth超出超出最壞情況測(cè)試 5 最壞情況測(cè)試 邊界值分析采用可靠性理論中的單缺陷假設(shè),如果不考慮這種假設(shè)

24、,那么,應(yīng)該關(guān)心當(dāng)多個(gè)變量取極值時(shí)會(huì)出現(xiàn)什么情況。最壞情況測(cè)試 使用這種思想生成最壞情況的測(cè)試用例, 首先對(duì)每個(gè)變量進(jìn)行包含最小值min,略高于最小值min+,正常值nom,略低于最大值max-和最大值max五個(gè)元素集合的測(cè)試, 然后對(duì)這些集合進(jìn)行笛卡兒積計(jì)算,以生成測(cè)試用例。最壞情況測(cè)試adcbx1x2最壞情況測(cè)試 最壞情況測(cè)試比邊界值分析測(cè)試以及健壯性測(cè)試要徹底,邊界值分析測(cè)試用例是最壞情況測(cè)試用例的真子集。 N變量函數(shù)的最壞情況測(cè)試,會(huì)產(chǎn)生5n個(gè)測(cè)試用例,而邊界值分析只產(chǎn)生4n+1個(gè)測(cè)試用例健壯最壞情況測(cè)試 首先對(duì)每個(gè)變量進(jìn)行包含略小于最小值min-,最小值min,略高于最小值min+,

25、正常值nom,略低于最大值max-,最大值max,和略大于最大值max+,七個(gè)元素集合的測(cè)試, 然后對(duì)這些集合進(jìn)行笛卡兒積計(jì)算,以生成測(cè)試用例。健壯最壞情況測(cè)試adcbx1x2工資支付系統(tǒng)邊界值測(cè)試設(shè)計(jì) Con1和Con2是帶有明顯的邊界條件的 變量變量minmin+nommax-maxmax+min-BH10011002120099989999100001000Length(KL)67125BH和KL必須滿足的條件:Con1:1001BH9999整數(shù)Con2:6length(KL)Con3:BH和KL必須合法Con4:BH必須沒有過期Con5:BH和KL非法輸入必須小于3次工資支付系統(tǒng)邊界值

26、測(cè)試設(shè)計(jì) 測(cè)試用例標(biāo)識(shí)測(cè)試用例標(biāo)識(shí)BHBHKLKL預(yù)期輸出預(yù)期輸出TC11200Abc123提示“口令錯(cuò)誤”TC21200Abc1234提示“口令錯(cuò)誤”TC31200softwaretest提示“口令錯(cuò)誤”TC41001softwaretest提示“無此編號(hào)”TC51002softwaretest提示“口令錯(cuò)誤”TC69998softwaretest提示“無此編號(hào)”TC79999softwaretest提示“無此編號(hào)”邊界值分析測(cè)試用例:邊界值分析測(cè)試用例:測(cè)試用例標(biāo)識(shí)測(cè)試用例標(biāo)識(shí)BHBHKLKL預(yù)期輸出預(yù)期輸出TC11200Abc123提示“口令錯(cuò)誤”TC21200Abc1234提示“口令錯(cuò)

27、誤”TC31200softwaretest提示“口令錯(cuò)誤”TC41001softwaretest提示“無此編號(hào)”TC51002softwaretest提示“口令錯(cuò)誤”TC69998softwaretest提示“無此編號(hào)”TC79999softwaretest提示“無此編號(hào)”TC81200Abc12提示“請(qǐng)輸入長(zhǎng)度大于等于6的口令”TC91000softwaretest提示“請(qǐng)輸入1001-9999之間的整數(shù)”TC1010000softwaretest提示“請(qǐng)輸入1001-9999之間的整數(shù)”健壯邊界值分析測(cè)試用例健壯邊界值分析測(cè)試用例4.4 決策表法 1 概述 在一個(gè)程序中,如果輸入輸出比較多

28、,輸入之在一個(gè)程序中,如果輸入輸出比較多,輸入之間、輸出之間相互制約的條件比較多,在這種間、輸出之間相互制約的條件比較多,在這種情況下使用決策表更合適,它可以清楚地表達(dá)情況下使用決策表更合適,它可以清楚地表達(dá)它們之間的各種復(fù)雜關(guān)系。它們之間的各種復(fù)雜關(guān)系。 決策表法是黑盒測(cè)試方法中最為嚴(yán)格、最具有決策表法是黑盒測(cè)試方法中最為嚴(yán)格、最具有邏輯性的測(cè)試方法邏輯性的測(cè)試方法4.4 決策表法 2 決策表:4.4 決策表法 決策表通常由四部分組成:條件樁動(dòng)作樁條件項(xiàng)動(dòng)作項(xiàng)規(guī)則 條件樁條件樁: : 列出問題的所有條件列出問題的所有條件 條件項(xiàng):針對(duì)條件樁給出的條件列出所有條件項(xiàng):針對(duì)條件樁給出的條件列出所

29、有可能的取值可能的取值 動(dòng)作樁:給出問題規(guī)定的可能采取的操作動(dòng)作樁:給出問題規(guī)定的可能采取的操作 動(dòng)作項(xiàng):與條件項(xiàng)緊密相關(guān),指出在條件動(dòng)作項(xiàng):與條件項(xiàng)緊密相關(guān),指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作 項(xiàng)中的每一列是一條項(xiàng)中的每一列是一條 規(guī)則規(guī)則4.4 決策表法規(guī)則指示在規(guī)則的條件部分中指示的條件環(huán)境下要采取什么行動(dòng).在上圖的決策表中,如果條件1條件2為真,而條件3條件4為假,那么采取行動(dòng)3.規(guī)則1中的條件1.2.3稱為“不關(guān)心”條目.不關(guān)心條目解釋有兩種:條件無關(guān)或條件不適用.3 決策表的化簡(jiǎn)有n個(gè)條件的決策表,對(duì)應(yīng)的規(guī)則將有2n條,當(dāng)n非常大的時(shí)候,這是非常

30、繁瑣的。因此,應(yīng)對(duì)決策表進(jìn)行化簡(jiǎn).決策表的化簡(jiǎn)包括兩個(gè)方面: (1)合并如果一個(gè)條件項(xiàng)如果一個(gè)條件項(xiàng)( (表中某列中的條件值表中某列中的條件值) )和另外一個(gè)條件項(xiàng)所和另外一個(gè)條件項(xiàng)所產(chǎn)生的動(dòng)作是相同產(chǎn)生的動(dòng)作是相同的的, ,且兩個(gè)條件項(xiàng)對(duì)應(yīng)的每一行的值只有且兩個(gè)條件項(xiàng)對(duì)應(yīng)的每一行的值只有一個(gè)是不同的一個(gè)是不同的, ,則可以將其合并則可以將其合并. .合并的合并的項(xiàng)除了不同值變成項(xiàng)除了不同值變成“不關(guān)心不關(guān)心”條目外條目外, ,其其余不變余不變3 決策表的化簡(jiǎn) (2)包含 如果兩個(gè)條件項(xiàng)的如果兩個(gè)條件項(xiàng)的動(dòng)作是相同的動(dòng)作是相同的, ,對(duì)任意條對(duì)任意條件件1 1的值和條件的值和條件2 2中對(duì)應(yīng)的

31、值中對(duì)應(yīng)的值, ,如果滿足如果滿足: : A.A.如果條件如果條件1 1的值是的值是T(F),T(F),則條件則條件2 2中的值也是中的值也是T(F).T(F). B.B.如果條件如果條件1 1的值是的值是-(-(不關(guān)心不關(guān)心),),則條件則條件2 2中的值中的值是是T(F)-T(F)-稱條件稱條件1 1包含條件包含條件2 2條件條件2 2可以撤去可以撤去. . 重復(fù)重復(fù)A,BA,B就可以得到精簡(jiǎn)的決策表就可以得到精簡(jiǎn)的決策表. .3 決策表的化簡(jiǎn)8F-TF3 決策表的化簡(jiǎn)4.4 決策表法 構(gòu)造決策表的步驟:(1)確定規(guī)則的個(gè)數(shù)(2)列出所有的條件樁和動(dòng)作樁(3)填入條件項(xiàng)(4)填入動(dòng)作項(xiàng),得

32、到初始的決策表(5)對(duì)初始的決策表化簡(jiǎn)4.4決策表法C1:abcC1:abc能否構(gòu)成三角形能否構(gòu)成三角形? ?C2:a=b?C2:a=b?C3:a=c?C3:a=c?C4:b=c?C4:b=c?N N- - - -Y YY YY YY YY YY YY YN NY YY YN NY YY YY YN NN NY YN NY YY YY YN NY YN NY YN NN NY YY YN NN NN NA1:A1:非三角形非三角形A2:A2:一般三角形一般三角形A3:A3:等腰三角形等腰三角形A4:A4:等邊三角形等邊三角形A5:A5:不可能不可能 4 三角形問題的決策表用例設(shè)計(jì)該條件可以擴(kuò)展

33、成:該條件可以擴(kuò)展成:a+bca+bcb+cab+cac+abc+ab4.4 決策表法C1:ab+c?C1:ab+c?C2:ba+c?C2:ba+c?C3:ca+b?C3:ca+b?C4:a=b?C4:a=b?C5:a=c?C5:a=c?C6:b=c?C6:b=c?N N- - - - - -Y YN N- - - - -Y YY YN N- - - -Y YY YY YY YY YY YY YY YY YY YY YN NY YY YY YY YN NY YY YY YY YY YN NN NY YY YY YN NY YY YY YY YY YN NY YN NY YY YY YN NN

34、NY YY YY YY YN NN NN NA1:A1:非三角形非三角形A2:A2:一般三角形一般三角形A3:A3:等腰三角形等腰三角形A4:A4:等邊三角形等邊三角形A5:A5:不可能不可能n三角形問題的擴(kuò)展決策表?xiàng)l件條件:a,b,c:a,b,c是否可以是否可以構(gòu)成三角形構(gòu)成三角形根據(jù)決策表測(cè)試用例編號(hào)編號(hào)a,b,ca,b,c期望輸出期望輸出DT1DT2DT3DT4DT5DT6DT7DT8DT9DT10DT114 1 21 4 21 2 45 5 5? ? ? ? ?2 2 3? ? ?2 3 23 2 23 4 5非三角形非三角形非三角形非三角形非三角形非三角形等邊三角形等邊三角形不可能不

35、可能不可能不可能等腰三角形等腰三角形不可能不可能等腰三角形等腰三角形等腰三角形等腰三角形一般三角形一般三角形NextDate函數(shù)的決策表 5 NextDate函數(shù)的決策表涉及的操作:na1:不可能na2:day加1na3:day復(fù)位na4:month加1na5:month復(fù)位na6:year加1 M1:月:月有30天 M2:月:月有31天,12月除外 M3:月:月是12月 M4:月:月是2月 D1: day:1day 27 D2: day:day=28 D3: day:day=29 D4: day:day=30 D5: day:day=31 Y1: year:year是閏年 Y2: year:

36、year不是閏年根據(jù)如下等價(jià)類: 建立條件:c1:month在Mi中(如M1,M2)c2:day在Di中c3:year在Yi中c1: month在c2: day在c3: year在M1D1-M1D2-M1D3-M1D4-M1D5-M2D1-M2D2-M2D3-M2D4-M2D5-M3D1-a1: 不可能a2: day加1a3: day復(fù)位a4: month加1a5: month復(fù)位a6:year加1c1: month在c2: day在c3: year在M3D2-M3D3-M3D4-M3D4-M4D1-M4D2Y1M4D2Y2M4D3Y1M4D3Y2M4D4-M4D5-a1: 不可能a2: da

37、y加1a3: day復(fù)位a4: month加1a5: month復(fù)位a6:year加1c1: month在c2: day在c3: year在M1D1D3-M1D4-M1D5-M2D1D4-M2D5-M3D1D4-M3D5-a1: 不可能a2: day加1a3: day復(fù)位a4: month加1a5: month復(fù)位a6:year加1 化簡(jiǎn)決策表:c1: month在c2: day在c3: year在M4D1-M4D2Y1M4D2Y2M4D3Y1M4D3Y2M4D4-D5-a1: 不可能a2: day加1a3: day復(fù)位a4: month加1a5: month復(fù)位a6:year加1 Test1

38、Test3Test4Test5Test6Test9Test10Test1114Test15Test16Test17Test18Test19Test20Test21228 16 20018 30 20049 31 20011 16 20041 31 200112 16 200412 31 20012 16 20042 28 20042 28 20012 29 20042 29 20012 30 200417/8/200117/8/200131/8/200431/8/2004不可能不可能17/1/200417/1/20041/2/20011/2/200117/12/200417/12/20041/

39、1/20021/1/200217/2/200117/2/200129/2/200429/2/20041/3/20011/3/20011/3/20041/3/2004不可能不可能不可能不可能 根據(jù)決策表設(shè)計(jì)測(cè)試用例根據(jù)決策表設(shè)計(jì)測(cè)試用例: :4.4 決策表法 6 決策表測(cè)試法的適用范圍決策表測(cè)試法適用于具有以下特征的應(yīng)用程序:決策表測(cè)試法適用于具有以下特征的應(yīng)用程序:(1)if-then-else邏輯突出(2)輸入變量之間存在邏輯關(guān)系(3)涉及輸入變量子集的計(jì)算(4)輸入和輸出之間存在因果關(guān)系(5)很高的圈復(fù)雜度4.4 決策表法 適用于使用決策表設(shè)計(jì)測(cè)試用例的情況適用于使用決策表設(shè)計(jì)測(cè)試用例的情

40、況: : (1)規(guī)格說明以決策表形式給出,或較容易轉(zhuǎn)換為決策表. (2)條件的排列順序不會(huì)也不應(yīng)該影響執(zhí)行的操作 (3)規(guī)則的排列順序不會(huì)也不應(yīng)該影響執(zhí)行的操作 (4)當(dāng)某一規(guī)則的條件已經(jīng)滿足,并確定要執(zhí)行的操作后,不必檢驗(yàn)別的規(guī)則. (5)如果某一規(guī)則的條件要執(zhí)行多個(gè)操作任務(wù),這些操作的執(zhí)行順序無關(guān)緊要.4.5 4.5 因果圖法因果圖法 1 概述等價(jià)類劃分方法和邊界值分析方法著重考慮輸入條件,而不考慮輸入條件的各種組合,也不考慮輸入條件之間的相互制約的關(guān)系,但有時(shí)一些具體問題中的輸入之間存在著相互依賴的關(guān)系,如:NextDate函數(shù)問題。4.5 4.5 因果圖法因果圖法 如果輸入之間有關(guān)系,

41、我們?cè)跍y(cè)試時(shí)必須考慮輸入條件的各種組合,那么可以考慮使用一種適合于描述對(duì)于多種條件的組合,相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來設(shè)計(jì)測(cè)試用例,這就需要利用因果圖。 因果圖方法最終生成的就是決策表。它適合于檢查程序輸入條件的各種組合情況。4.5 4.5 因果圖法因果圖法使用因果圖法設(shè)計(jì)測(cè)試用例時(shí):(1)首先從的描述中,找出(輸入條件)和(輸出結(jié)果或者程序狀態(tài)的改變),繪出。(2)然后通過轉(zhuǎn)換為,最后為決策表中的每一列設(shè)計(jì)一個(gè)測(cè)試用例.4.5 4.5 因果圖法因果圖法 2 因果圖中出現(xiàn)的基本符號(hào)原因原因結(jié)果結(jié)果n通常在因果圖中用Ci表示原因,用Ei表示結(jié)果,各結(jié)點(diǎn)表示狀態(tài),可取值“0”或“1”?!?”表示某狀態(tài)

42、不出現(xiàn),“1”表示某狀態(tài)出現(xiàn)。4.5 4.5 因果圖法因果圖法 主要的原因和結(jié)果之間的關(guān)系有主要的原因和結(jié)果之間的關(guān)系有: :c1e1c1e1c2e1c1c3Vc2e1c1V(a)恒等(b)非(c)或(d)與 恒等: 非: 或: 與: 4.5 4.5 因果圖法因果圖法 實(shí)際問題中,輸入狀態(tài)之間可能存在某些依賴關(guān)系,這種依賴關(guān)系被稱為“約束”. 在因果圖中使用特定的符號(hào)來表示這些約束關(guān)系:4.5 4.5 因果圖法因果圖法 約束關(guān)系說明:約束(異): a,b最多有一個(gè)可能為1,不能同時(shí)為1.abE異4.5 4.5 因果圖法因果圖法約束(或): a,b,c中至少有一個(gè)必須為1,不能同時(shí)為0.acI或

43、b4.5 4.5 因果圖法因果圖法約束(惟一): a和b必須有一個(gè)且僅有一個(gè)為1abO唯一4.5 4.5 因果圖法因果圖法約束(要求):a是1時(shí),b必須是1,即a為1時(shí),b不能為0abR要求4.5 4.5 因果圖法因果圖法約束:對(duì)輸出條件的約束,若結(jié)果a為1,則結(jié)果b必須為0.ab強(qiáng)制M4.5 4.5 因果圖法因果圖法 3 用因果圖生成測(cè)試用例的基本步驟(1)(1) 分析軟件規(guī)格說明描述中,哪些是原因分析軟件規(guī)格說明描述中,哪些是原因 ( (即輸入條件即輸入條件或輸入條件的等價(jià)類或輸入條件的等價(jià)類) ),哪些是結(jié)果,哪些是結(jié)果 ( (即輸出條件即輸出條件) ),并給,并給每個(gè)原因和結(jié)果賦予一個(gè)

44、標(biāo)識(shí)符。每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符。(2)(2) 分析軟件規(guī)格說明描述中的語義,找出原因與結(jié)果之分析軟件規(guī)格說明描述中的語義,找出原因與結(jié)果之間,原因與原因之間對(duì)應(yīng)的是什么關(guān)系間,原因與原因之間對(duì)應(yīng)的是什么關(guān)系? ? 根據(jù)這些關(guān)系,根據(jù)這些關(guān)系,畫出因果圖。畫出因果圖。(3) (3) 由于語法或環(huán)境限制,有些原因與原因之間,原因與由于語法或環(huán)境限制,有些原因與原因之間,原因與結(jié)果之間的組合情況不可能出現(xiàn)。為表明這些特殊情況,結(jié)果之間的組合情況不可能出現(xiàn)。為表明這些特殊情況,在因果圖上用一些記號(hào)標(biāo)明約束或限制條件。在因果圖上用一些記號(hào)標(biāo)明約束或限制條件。(4) (4) 把因果圖轉(zhuǎn)換成決策表。把

45、因果圖轉(zhuǎn)換成決策表。(5) (5) 把決策表的每一列拿出來作為依據(jù),設(shè)計(jì)測(cè)試用例。把決策表的每一列拿出來作為依據(jù),設(shè)計(jì)測(cè)試用例。什么是因果關(guān)系?什么是因果關(guān)系? 拿破侖說: 失了一個(gè)釘子,壞了一只蹄鐵; 壞了一只蹄鐵,折了一匹戰(zhàn)馬; 折了一匹戰(zhàn)馬,傷了一位騎士; 傷了一位騎士,輸了一場(chǎng)戰(zhàn)斗; 輸了一場(chǎng)戰(zhàn)斗,亡了一個(gè)帝國(guó)。 這就是因果關(guān)系應(yīng)用舉例應(yīng)用舉例 某個(gè)軟件的規(guī)格說明書中規(guī)定:第一個(gè)字符必須是A或B,第二個(gè)字符必須是一個(gè)數(shù)字,在此情況下進(jìn)行文件的修改,但如果第一個(gè)字符不正確,則給出信息L;如果第二個(gè)字符不正確,則給出信息M.應(yīng)用舉例應(yīng)用舉例 分析問題,按照如下步驟進(jìn)行:(1)根據(jù)軟件規(guī)格說

46、明書,列出原因和結(jié)果.(2)找出原因和結(jié)果之間的關(guān)系,原因和原因之間的約束關(guān)系,畫出因果圖.(3)將因果圖轉(zhuǎn)化為決策表(4)根據(jù)決策表設(shè)計(jì)測(cè)試用例.應(yīng)用舉例應(yīng)用舉例 原因:C1:第一個(gè)字符是A;C2:第一個(gè)字符是B;C3:第二個(gè)字符是一個(gè)數(shù)字. 中間結(jié)果:11:第一個(gè)字符是A或B 結(jié)果:E1:修改文件;E2:給出信息L;(第一個(gè)字符不對(duì)給出信息L)E3:給出信息M;(第二個(gè)字符不對(duì)給出信息M)第一個(gè)字符必須是A或B,第二個(gè)字符必須是一個(gè)數(shù)字,在此情況下進(jìn)行文件的修改,但如果第一個(gè)字符不正確,則給出信息L;如果第二個(gè)字符不正確,則給出信息M.帶有帶有E E約束的因果圖約束的因果圖 C1 C2 C

47、3 11 E2 E1 E3 E將因果圖轉(zhuǎn)化為決策表將因果圖轉(zhuǎn)化為決策表123456C1C2C311101110010111010100100000E1E2E3測(cè)試用例A3A5AMA&B3B5BMB*C2X6CMD*設(shè)計(jì)測(cè)試用例設(shè)計(jì)測(cè)試用例 測(cè)試用例1: 輸入數(shù)據(jù):A3 預(yù)期輸出:修改文件 測(cè)試用例2: 輸入數(shù)據(jù):AM 預(yù)期輸出:給出信息M 測(cè)試用例3: 輸入數(shù)據(jù):B3 預(yù)期輸出:修改文件 測(cè)試用例4: 輸入數(shù)據(jù):B* 預(yù)期輸出:給出信息M 測(cè)試用例5: 輸入數(shù)據(jù):C2 預(yù)期輸出:給出信息L 測(cè)試用例6: 輸入數(shù)據(jù):CM 預(yù)期輸出:給出信息LM練習(xí)題練習(xí)題例如,一個(gè)處理單價(jià)為5角錢的飲料

48、的自動(dòng)售貨機(jī)軟件測(cè)試用例的設(shè)計(jì)。其規(guī)格說明如下: 若投入5角錢或1元錢的硬幣,按下橙汁或啤酒的按鈕,則相應(yīng)的飲料就送出來。若售貨機(jī)沒有零錢找,則一個(gè)顯示零錢找完的紅燈亮,這時(shí)在投入1元硬幣并按下按鈕后,飲料不送出來而且1元硬幣也退出來;若有零錢找,則顯示零錢找完的紅燈滅,在送出飲料的同時(shí)退還5角硬幣。”橙汁橙汁啤酒啤酒練習(xí)題練習(xí)題練習(xí)題練習(xí)題練習(xí)題練習(xí)題(2) (2) 畫出因果圖。畫出因果圖。所有原因結(jié)點(diǎn)列在左邊,所有原因結(jié)點(diǎn)列在左邊,所有結(jié)果結(jié)點(diǎn)列在右邊。所有結(jié)果結(jié)點(diǎn)列在右邊。練習(xí)題練習(xí)題Test1Test2Test3Test4Test5Test6Test7Test8Test9Test10T

49、est11Test12Test13Test14Test15Test161101011001110001011010101101001001010001010100100101000001100010100100000100000123,2423,2423,2523,25.24242525.21,2221,2221,2221,22212121,2421,2421,2521,25212121212121使用因果圖法的優(yōu)點(diǎn)使用因果圖法的優(yōu)點(diǎn)o考慮了多個(gè)輸入之間的相互組合、相互制約關(guān)考慮了多個(gè)輸入之間的相互組合、相互制約關(guān)系;系;o能夠幫助我們按一定步驟,高效率地選擇測(cè)試能夠幫助我們按一定步驟,高效率

50、地選擇測(cè)試用例,同時(shí)還能為我們指出,程序規(guī)格說明描用例,同時(shí)還能為我們指出,程序規(guī)格說明描述中存在著什么問題述中存在著什么問題習(xí)題習(xí)題某軟件的一個(gè)模塊的需求規(guī)格說明書中描述:某軟件的一個(gè)模塊的需求規(guī)格說明書中描述:(1 1)年薪制員工:嚴(yán)重過失,扣年終風(fēng)險(xiǎn)金)年薪制員工:嚴(yán)重過失,扣年終風(fēng)險(xiǎn)金的的4%4%;過失,扣年終風(fēng)險(xiǎn)金的;過失,扣年終風(fēng)險(xiǎn)金的2%2%。(2 2)非年薪制員工:嚴(yán)重過失,扣當(dāng)月薪資)非年薪制員工:嚴(yán)重過失,扣當(dāng)月薪資的的8%8%;過失,扣當(dāng)月薪資的;過失,扣當(dāng)月薪資的4%4%。請(qǐng)繪制出因果圖和決策表,并給出相應(yīng)的測(cè)試請(qǐng)繪制出因果圖和決策表,并給出相應(yīng)的測(cè)試用例。用例。原因:

51、C1. 年薪制員工 C2. 嚴(yán)重過失中間狀態(tài):11. 非年薪制員工 12. 過失結(jié)果:E1. 扣年終風(fēng)險(xiǎn)金的4% E2. 扣年終風(fēng)險(xiǎn)金的2% E3. 扣當(dāng)月薪資的8% E4. 扣當(dāng)月薪資的4% 因果圖因果圖決策表決策表測(cè)試用例:測(cè)試用例1: 輸入數(shù)據(jù): 年薪制員工,嚴(yán)重過失 預(yù)期輸出: 扣年終風(fēng)險(xiǎn)金的4% 測(cè)試用例2: 輸入數(shù)據(jù): 年薪制員工,過失 預(yù)期輸出: 扣年終風(fēng)險(xiǎn)金的2% 測(cè)試用例3: 輸入數(shù)據(jù): 非年薪制員工,嚴(yán)重過失預(yù)期輸出: 扣當(dāng)月薪資的8% 測(cè)試用例4: 輸入數(shù)據(jù): 非年薪制員工,過失 預(yù)期輸出: 扣當(dāng)月薪資的4% 有一個(gè)處理單價(jià)為1元5角的盒裝飲料的自動(dòng)售貨機(jī)軟件,若投入1元

52、5角的硬幣,按下“可樂”“雪碧”或“紅茶”按鈕,相應(yīng)的飲料就會(huì)送出來,若投入的是兩圓硬幣,在送出飲料的同時(shí),退還5角硬幣。(1 1)分析原因及結(jié)果)分析原因及結(jié)果原因原因c1:c1:投入投入1 1元元5 5角硬幣;角硬幣;c2:c2:投入投入2 2元硬幣;元硬幣;c3:c3:按按“可樂可樂”按鈕;按鈕;c4:c4:按按“雪碧雪碧”按鈕;按鈕;c5:c5:按按“紅茶紅茶”按鈕按鈕; ;中間狀態(tài)中間狀態(tài)1111:已投幣:已投幣1212:已按鈕:已按鈕結(jié)果結(jié)果e1:e1:退還退還5 5角硬幣;角硬幣;e2:e2:送出送出“可樂可樂”飲料;飲料;e3:e3:送出送出“雪碧雪碧”飲料;飲料;e4:e4:

53、送出送出“紅茶紅茶”飲料飲料; ;(2 2)畫出因果圖)畫出因果圖(3 3)決策表)決策表1 12 23 34 45 56 67 78 89 910101111c1:c1:投入投入1 1元元5 5角硬幣角硬幣c2:c2:投入投入2 2元硬幣元硬幣c3:c3:按按“可樂可樂”按鈕按鈕c4:c4:按按“雪碧雪碧”按鈕按鈕c5:c5:按按“紅茶紅茶”按鈕按鈕1 10 01 10 00 01 10 00 01 10 01 10 00 00 01 11 10 00 00 00 00 01 11 10 00 00 01 10 01 10 00 01 10 00 01 10 01 10 00 00 00 0

54、0 01 10 00 00 00 00 01 10 00 00 00 00 01 11111:已投幣:已投幣1212:已按鈕:已按鈕1 11 11 11 11 11 11 10 01 11 11 11 11 11 11 10 00 01 10 01 10 01 1a1:a1:退還退還5 5角硬幣角硬幣a2:a2:送出送出“可樂可樂”飲料飲料a3:a3:送出送出“雪碧雪碧”飲料飲料a4:a4:送出送出“紅茶紅茶”飲料飲料(4 4)設(shè)計(jì)測(cè)試用例)設(shè)計(jì)測(cè)試用例用例用例編號(hào)編號(hào)測(cè)試用例測(cè)試用例預(yù)期輸出預(yù)期輸出1 1投入投入1 1元元5 5角,按角,按“可樂可樂”送出送出“可樂可樂”飲料飲料2 2投入投

55、入1 1元元5 5角,按角,按“雪碧雪碧”送出送出“雪碧雪碧”飲料飲料3 3投入投入1 1元元5 5角,按角,按“紅茶紅茶”送出送出“紅茶紅茶”飲料飲料4 4投入投入2 2元,按元,按“可樂可樂”找找5 5角,送出角,送出“可樂可樂”5 5投入投入2 2元,按元,按“雪碧雪碧”找找5 5角,送出角,送出“雪碧雪碧”6 6投入投入2 2元,按元,按“紅茶紅茶”找找5 5角,送出角,送出“紅茶紅茶”4.6 場(chǎng)景法 場(chǎng)景法的思想 場(chǎng)景法的步驟 舉例基本原理 現(xiàn)在的軟件幾乎都是用事件觸發(fā)來控制流程的,象GUI軟件、游戲等。事件觸發(fā)時(shí)的情景并形成了場(chǎng)景,而同一事件不同的觸發(fā)順序和處理結(jié)果就形成了事件流。

56、這種在軟件設(shè)計(jì)方面的思想可以引入到軟件測(cè)試中,可以生動(dòng)地描繪出事件觸發(fā)時(shí)的情景,有利于設(shè)計(jì)測(cè)試用例,同時(shí)使測(cè)試用例更容易理解和執(zhí)行。 基本概念 1.基本流基本流 和 備選流備選流 在測(cè)試一個(gè)軟件的時(shí)候,在場(chǎng)景法中,測(cè)試流程是軟件功能按照正確的事件流實(shí)現(xiàn)的一條正確流程正確流程,那么我們把這個(gè)稱為該軟件的基本流; 出現(xiàn)故障或缺陷的過程,就用備選流備選流加以標(biāo)注,這樣,備選流就可以是從基本流來的,或是由備選流中引出的。分析 圖中經(jīng)過用例的每條路徑都用基本流和備選流來表示,直黑線表示基本流直黑線表示基本流,是經(jīng)過用例的最簡(jiǎn)單的路徑。備選流用不同的色彩表示,一個(gè)備選流可能從基本流開始,在某個(gè)特定條件下執(zhí)

57、行,然后重新加入基本流中(如備選流1和3);也可能起源于另一個(gè)備選流(如備選流2),或者終止用例而不再重新加入到某個(gè)流(如備選流2和4)。 場(chǎng)景 場(chǎng)景 1: 基本流 場(chǎng)景 2: 基本流 備選流 1 場(chǎng)景 3: 基本流 備選流 1 備選流 2 場(chǎng)景 4: 基本流 備選流 3 場(chǎng)景 5: 基本流 備選流 3 備選流 1 場(chǎng)景 6: 基本流 備選流 3 備選流 1 備選流 2 場(chǎng)景 7: 基本流 備選流 4 場(chǎng)景 8: 基本流 備選流 3 備選流 4場(chǎng)景法設(shè)計(jì)測(cè)試用例的步驟 根據(jù)說明,描述出程序的基本流及各項(xiàng)備選流. 根據(jù)基本流和各項(xiàng)備選流生成不同的場(chǎng)景. 對(duì)每一個(gè)場(chǎng)景生成相應(yīng)的測(cè)試用例. 對(duì)生成的

58、所有測(cè)試用例重新復(fù)審,去掉多余的測(cè)試用例,測(cè)試用例確定后,對(duì)每一個(gè)測(cè)試用例確定測(cè)試數(shù)據(jù)值.例題:在線購(gòu)物系統(tǒng) 在當(dāng)當(dāng)網(wǎng)網(wǎng)上書店都訂購(gòu)過書籍,整個(gè)訂購(gòu)過程為:用戶訪問網(wǎng)站,進(jìn)行書籍的選擇,當(dāng)選好自己心儀的書籍后進(jìn)行訂購(gòu),這時(shí)把所需圖書放進(jìn)購(gòu)物車,等進(jìn)行結(jié)帳的時(shí)候,用戶需要登錄自己注冊(cè)的帳號(hào),登錄成功后,進(jìn)行結(jié)帳并生成訂單,整個(gè)購(gòu)物過程結(jié)束,退出系統(tǒng)。 確定基本流和備選流基本流步驟1:用戶到網(wǎng)站,書籍的選擇,進(jìn)行訂購(gòu),把所需圖書放進(jìn)購(gòu)物車;步驟2:進(jìn)行結(jié)帳的時(shí)候,輸入自己的帳號(hào);步驟3:輸入密碼;步驟4:登錄成功后,檢查訂購(gòu)圖書有庫存,生成訂單;步驟5:退出系統(tǒng) 備選流1帳號(hào)錯(cuò)誤備選流2密碼錯(cuò)誤備

59、選流3無選購(gòu)書籍備選流x退出系統(tǒng)確定場(chǎng)景場(chǎng)景1-購(gòu)物成功基本流場(chǎng)景2-帳號(hào)錯(cuò)誤基本流備選流1場(chǎng)景3-密碼錯(cuò)誤基本流備選流2場(chǎng)景4-無選購(gòu)書籍基本流備選流3確定測(cè)試用例 對(duì)于每一個(gè)場(chǎng)景都需要確定測(cè)試用例??梢圆捎镁仃嚮驔Q策表來確定和管理測(cè)試用例。 對(duì)于每個(gè)測(cè)試用例,存在一個(gè)測(cè)試用例ID、條件(或說明)、測(cè)試用例中涉及的所有數(shù)據(jù)元素(作為輸入或已經(jīng)存在于數(shù)據(jù)庫中)以及預(yù)期結(jié)果。 測(cè)試用例IDID場(chǎng)景場(chǎng)景/ /條件條件帳號(hào)帳號(hào) 密碼密碼選購(gòu)書選購(gòu)書籍籍預(yù)期結(jié)果預(yù)期結(jié)果1場(chǎng)景1:購(gòu)物成功VVV成功購(gòu)物2場(chǎng)景2:帳號(hào)錯(cuò)誤IVn/a提示帳號(hào)錯(cuò)誤,返回基本流步驟23場(chǎng)景3:密碼錯(cuò)誤VIn/a提示密碼錯(cuò)誤,返

60、回基本流步驟34場(chǎng)景4:無選購(gòu)書籍VVI提示選購(gòu)書籍,返回基本流步驟5IDID場(chǎng)景場(chǎng)景/ /條件條件帳號(hào)帳號(hào)密碼密碼選購(gòu)書籍選購(gòu)書籍預(yù)期結(jié)果預(yù)期結(jié)果1 1場(chǎng)景場(chǎng)景1 1:購(gòu):購(gòu)物成功物成功xuxu123456123456軟件測(cè)試藝術(shù)軟件測(cè)試藝術(shù)成功購(gòu)物成功購(gòu)物2 2場(chǎng)景場(chǎng)景2 2:帳:帳號(hào)錯(cuò)誤號(hào)錯(cuò)誤zhouzhou123456123456n/an/a提示帳號(hào)錯(cuò)誤,返提示帳號(hào)錯(cuò)誤,返回基本流步驟回基本流步驟2 23 3場(chǎng)景場(chǎng)景3 3:密:密碼錯(cuò)誤碼錯(cuò)誤xuxu123$%123$%n/an/a提示密碼錯(cuò)誤,返提示密碼錯(cuò)誤,返回基本流步驟回基本流步驟3 34 4場(chǎng)景場(chǎng)景4 4:無:無選購(gòu)書籍選購(gòu)書籍xuxu123456123456空空提示選購(gòu)書籍,返提示選購(gòu)書籍,返回基本流步驟回基本流步驟5 5例題:加油

溫馨提示

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

評(píng)論

0/150

提交評(píng)論