![第三章黑盒測試法(戰(zhàn)斗版)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/26/a70ac995-9219-4a5f-b7d2-9ee791411611/a70ac995-9219-4a5f-b7d2-9ee7914116111.gif)
![第三章黑盒測試法(戰(zhàn)斗版)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/26/a70ac995-9219-4a5f-b7d2-9ee791411611/a70ac995-9219-4a5f-b7d2-9ee7914116112.gif)
![第三章黑盒測試法(戰(zhàn)斗版)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/26/a70ac995-9219-4a5f-b7d2-9ee791411611/a70ac995-9219-4a5f-b7d2-9ee7914116113.gif)
![第三章黑盒測試法(戰(zhàn)斗版)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/26/a70ac995-9219-4a5f-b7d2-9ee791411611/a70ac995-9219-4a5f-b7d2-9ee7914116114.gif)
![第三章黑盒測試法(戰(zhàn)斗版)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/26/a70ac995-9219-4a5f-b7d2-9ee791411611/a70ac995-9219-4a5f-b7d2-9ee7914116115.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第三講 黑盒測試技術(shù) 主講人:鐘海東主講人:鐘海東概覽在本章中,我們將學(xué)習(xí):1.黑盒測試的基本概念2.黑盒測試的方法3.黑盒測試的依據(jù)和流程1.黑盒測試的概念黑盒測試又稱為功能測試,把被測軟件看成一個封閉的盒子,在完全不考慮軟件內(nèi)部邏輯和內(nèi)部結(jié)構(gòu)的情況下進(jìn)行的測試。黑盒測試常見的錯誤1、功能不正確或者遺漏2、界面錯誤。在接口上輸入能否正確地接受。能否輸出正確的結(jié)果3、數(shù)據(jù)庫訪問錯誤4、性能上能否滿足要求5、是否有初始化或終止錯誤黑盒測試的優(yōu)點(diǎn) 1、黑盒測試與軟件如何實(shí)現(xiàn)無關(guān),如果實(shí)現(xiàn)發(fā)生變化,黑盒測試用例仍然可用(可重用性,面向回歸測試) 2、用例設(shè)計可以與軟件的實(shí)現(xiàn)同時進(jìn)行,加快了軟件測試與
2、開發(fā)的速度黑盒測試的缺點(diǎn) 1、只能找到缺陷,難以查找錯誤的具體原因。 2、沒有清晰的需求規(guī)格說明書,測試用例很難被設(shè)計。 3、相比白盒測試,測試用例產(chǎn)生遺漏或冗余的可能性大大增加1,與軟件的具體實(shí)現(xiàn)方法無關(guān),所以即使實(shí)現(xiàn)方式發(fā)生改變,測試用例仍然有用。我想這點(diǎn)原因也是很多人認(rèn)為測試比開發(fā)入門要簡單的緣故,只要能看懂文檔即可,不需要關(guān)注程序語言。2,由于黑盒測試的依據(jù)是需求,設(shè)計文檔,開發(fā)的依據(jù)也是需求和設(shè)計文檔。那么設(shè)計測試用例與開發(fā)是可以同時進(jìn)行,大大縮短項(xiàng)目周期。1,可能有未測試的實(shí)現(xiàn)行為,要彌補(bǔ)這一點(diǎn)只有靠測試用例設(shè)計者使用合適的用例設(shè)計方法,并且要有經(jīng)驗(yàn)來測試程序的異常行為。2,測試用
3、例之間會存在嚴(yán)重的冗余問題;開發(fā)方面,代碼可以重用。但是測試用例的重用率較低黑盒測試的特點(diǎn) 從理論上講,黑盒測試只有采用窮舉輸入測試,把所有可能的輸入都作為測試情況考慮,才能查出所有的錯誤。 實(shí)際上測試情況是無窮多的,完全測試是不可能的。那么我們?nèi)绾卧O(shè)計黑盒測試用例滿足“最盡可能少的測試用例去發(fā)現(xiàn)盡可能多的軟件缺陷”呢?典型的黑盒測試方法 等價類劃分法 邊界值分析法 因果圖法 其他方法(正交試驗(yàn)法、錯誤推測法、判定表法)等價類劃分法 等價類劃分法是一種重要的、常用的黑盒測試方法,它將不能窮舉的測試過程進(jìn)行合理分類,從而保證設(shè)計出來的測試用例具有完整性和代表性。舉例:設(shè)計這樣的測試用例,來實(shí)現(xiàn)一
4、個對所有實(shí)數(shù)進(jìn)行開平方運(yùn)算( y = sqrt(x) )的程序的測試。思考方向: 由于開平方運(yùn)算只對非負(fù)實(shí)數(shù)有效,這時需要將所有的實(shí)數(shù)(輸入域x)進(jìn)行劃分,可以分成:正實(shí)數(shù)、0 和 負(fù)實(shí)數(shù)。假設(shè)我們選定+1.4444代表正實(shí)數(shù),-2.345代表負(fù)實(shí)數(shù),則為該程序設(shè)計的測試用例的輸入為+1.4444、 0 和 -2.345。等價類劃分法(續(xù))n方法:等價類劃分是將程序的輸入域(較多見)或輸出域(較少見)的不同區(qū)間劃分為不同的數(shù)據(jù)類,以便導(dǎo)出測試用例n意義:每個等價類所揭示的程序錯誤都是等價的n目的:要求此方法的測試用例能各自發(fā)現(xiàn)一類錯誤,從而減少必須開發(fā)的測試用例數(shù) n概念理解:測試某等價類的代
5、表值就是等效于對于這一類其它值的測試。n例如:程序在輸入小于4的數(shù)得到結(jié)果5,那么使用2還是3或者都是一樣的等價類分類有效等價類 對于程序的需求說明來說是合理的,有意義的輸入數(shù)據(jù)所構(gòu)成的集合利用它可以檢驗(yàn)程序是否實(shí)現(xiàn)了預(yù)期的功能和性能無效等價類 對于程序的需求說明來說是不合理的,沒有意義的輸入數(shù)據(jù)所構(gòu)成的集合 利用它可以檢驗(yàn)程序?qū)τ跓o效數(shù)據(jù)的處理能力等價類劃分?jǐn)?shù)學(xué)含義A=x=B C=y=D問題1:例子中共有多少個等價類?有效的幾個,無效的幾個?問題2:寫出這些等價類,這些等價類是否可以合并?問題3:最好用多少個數(shù)據(jù)來測試?測試數(shù)據(jù)是否可以減少?確立等價類的原則 嚴(yán)格的,可以按照變量來劃分有效和
6、無效等價類即:-1-先按照X來劃分有效等價類和無效等價類,然后再按照Y來劃分有效等價類和無效等價類-2-最后再形成相應(yīng)的測試用例。lX: 有效等價類為: A=x=B ; 無效等價類為:xA和Bx兩個無效等價類lY: 有效等價類為:C=y=D ; 無效等價類為:yC和D=1&=50” 兩個無效等價類為“50” 確立等價類的原則如果輸入條件是一個布爾量,則可以確立一個有效等價類和一個無效等價類 如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序要對每一個輸入值分別進(jìn)行處理,這時要對每一個規(guī)定的輸入值確立一個有效等價類,而對于這組值之外的所有值確立一個無效等價類確立等價類的原則如果規(guī)定了輸入數(shù)據(jù)必須遵守的
7、規(guī)則,則可以確立一個有效等價類(即遵守規(guī)則的數(shù)據(jù))和若干無效等價類(從不同角度違反規(guī)則的數(shù)據(jù)),例如: 測試密碼域,要求密碼必須是數(shù)字或字母 有效等價類為“密碼是數(shù)字和字母的組合”(還可以細(xì)分) 無效等價類為“密碼包括中文”、“密碼包括其它符號”等如果確知已劃分的等價類中的各元素在程序中的處理方式不同(例如字母還要區(qū)分大小寫等),則應(yīng)進(jìn)一步劃分成更小的等價類 等價類測試用例設(shè)計分析輸入、輸出劃分有效等價類、無效等價類 設(shè)計測試用例,使其盡可能多的覆蓋有效等價類 設(shè)計測試用例,使其盡可能多的覆蓋無效等價類 等價類測試用例設(shè)計過程在設(shè)計測試用例時,應(yīng)同時考慮有效等價類和無效等價類測試用例的設(shè)計。根
8、據(jù)已列出的等價類表可確定測試用例。 具體過程如下:(1)首先為等價類表中的每一個等價類分別規(guī)定一個唯一的編號。(2)設(shè)計一個新的測試用例,使它能夠盡量覆蓋尚未覆蓋的有效等價類。重復(fù)這個步驟,直到所有的有效等價類均被測試用例所覆蓋。(3)設(shè)計一個新的測試用例,使它僅覆蓋一個尚未覆蓋的無效等價類。重復(fù)這一步驟,直到所有的無效等價類均被測試用例所覆蓋。?3的順序是否可以和2顛倒?123好還是132好?為什么?等價類測試用例設(shè)計針對是否對無效數(shù)據(jù)進(jìn)行測試,可以將等價類測試分為標(biāo)準(zhǔn)等價類測試和健壯等價類測試。標(biāo)準(zhǔn)等價類測試不考慮無效數(shù)據(jù)值,測試用例使用每個等價類中的一個值。健壯等價類測試主要的出發(fā)點(diǎn)是考
9、慮了無效等價類。對有效輸入,測試用例從每個有效等價類中取一個值; 對無效輸入,一個測試用例有一個“無效值”,其他值均取“有效值”。舉例1(保險費(fèi)率計算)按照輸入域劃分等價類的例子。某保險公司承擔(dān)人壽保險,該公司保費(fèi)計算方式為:保費(fèi)=投保額*保險率,保險率依點(diǎn)數(shù)不同而有別,10點(diǎn)以上(含10點(diǎn))費(fèi)率為0.6%,10點(diǎn)以下費(fèi)率為0.1%點(diǎn)數(shù)的計算是年齡、性別、婚姻、撫養(yǎng)人數(shù)所得的點(diǎn)數(shù)的總和輸入:年齡、性別、婚姻、撫養(yǎng)人數(shù)輸出:保險率輸入數(shù)據(jù)說明 第一步:輸入和輸出變量確認(rèn)按照輸入域劃分等價類的例子。輸入:年齡、性別、婚姻、撫養(yǎng)人數(shù)輸出:保險率等價類劃分原則:按照輸入變量來確認(rèn)等價類(有效等價類和無
10、效等價類)第二步:等價類劃分是否可以有更多無效等價類?第二步:等價類劃分第三步:設(shè)計測試用例按照輸入域劃分等價類的例子。1、設(shè)計測試用例,盡可能的覆蓋尚未覆蓋的有效等價類。(1)(8)(10)(12)(2)(9)(11)(13)(3)(8)(10)(14)2、設(shè)計測試用俐,使得每一個新設(shè)計的測試用例只包含一個無效等價類,其他的選擇有效等價類。(4)(8)(10)(12)(5)(9)(11)(13)(6)(8)(10)(14)(7)(8)(10)(14)(1)(8)(10)(15)(2)(9)(11)(16)(3)(8)(10)(16)說明:在設(shè)計無效部分的測試用例的時候,有效等價類部分,可以任
11、意選擇。第四步:選取測試用例測試用例等價類表的建立測試用例等價類表的建立 【例3-1】建立小區(qū)物業(yè)住宅管理系統(tǒng)“日期檢查功能”的測試用例等價類表。 有一個小區(qū)物業(yè)住宅管理系統(tǒng),要求住戶輸入以年月表示的日期。假設(shè)日期限定在1988年1月2068年12月,并規(guī)定日期由6位數(shù)字組成,前4位表示年,后2位表示月。現(xiàn)用等價類劃分法設(shè)計測試用例,“日期檢查功能”的測試用例等價類表如表3-2所示。表3-2 “日期檢查功能”的測試用例等價類6測試用例的設(shè)計測試用例的設(shè)計 【例3-2】【例3-1】的小區(qū)物業(yè)住宅管理系統(tǒng)“日期檢查功能”的測試用例設(shè)計。 覆蓋所有的有效等價類,在表中列出了3個編號,分別為;覆蓋所有
12、的無效等價類,在表中列出了7個編號,分別為、,設(shè)計一個測試用例,設(shè)計的測試用例結(jié)果如表3-3所示表3-3 設(shè)計的測試用例結(jié)果邊界值分析邊界值分析法就是對輸入或輸出的邊界值進(jìn)行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補(bǔ)充,這種情況下,其測試用例來自等價類的邊界。為什么使用邊界值分析法? 無數(shù)的測試實(shí)踐表明,大量的故障往往發(fā)生在輸入定義域或輸出值域的邊界上,而不是在其內(nèi)部。因此,針對各種邊界情況設(shè)計測試用例,通常會取得很好的測試效果。怎樣用邊界值分析法設(shè)計測試用例?(1)首先確定邊界情況。通常輸入或輸出等價類的邊界就是應(yīng)該著重測試的邊界情況。(2)選取正好等于、剛剛大于或剛剛
13、小于邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值。舉例 常見的邊界值對16-bit 的整數(shù)而言 32767 和 -32768 是邊界屏幕上光標(biāo)在最左上、最右下位置報表的第一行和最后一行數(shù)組元素的第一個和最后一個循環(huán)的第 0 次、第 1 次和倒數(shù)第 2 次、最后一次邊界值分析數(shù)學(xué)含義A=x=B C=y=D確立邊界值的原則如果輸入條件或輸出條件規(guī)定了值的范圍并且有效條件包括了值的邊界,可分別對邊界和略超出邊界取值,例如:數(shù)據(jù)范圍是1=x=50正整數(shù)邊界值取為:1、50、0、51如果輸入條件或輸出條件規(guī)定了值的范圍并且有效條件不包括了值的邊界,可分別對邊界和略處于邊界內(nèi)取值,例如:數(shù)據(jù)范
14、圍是1x50正整數(shù)邊界值取為:1、50、2、49確立邊界值的原則如果輸入或輸出域是個有序的集合(如順序文件、表格等),應(yīng)注意選取有序集的第一個和最后一個元素以及集合外但靠近集合的元素作為邊界 ,例如:輸入文件名介于file0101file0120之間邊界值取為file0100,file0101,file0120,file0121邊界值分析邊界值分析使用與等價類劃分法相同的劃分,只是邊界值分析假定錯誤更多地存在于劃分的邊界上,因此在等價類的邊界上以及兩側(cè)的情況設(shè)計測試用例。例例:測試計算平方根的函數(shù) 輸入:實(shí)數(shù) 輸出:實(shí)數(shù) 規(guī)格說明:當(dāng)輸入一個0或比0大的數(shù)的時候,返回其正平方根;當(dāng)輸入一個小于
15、0的數(shù)時,顯示錯誤信息“平方根非法-輸入值小于0”并返回0;庫函數(shù)Print-Line可以用來輸出錯誤信息。邊界值分析等價類劃分:可以考慮作出如下劃分:輸入 (i)=0輸出 (a)=0 和 (b) Error測試用例有兩個:輸入4,輸出2。對應(yīng)于 (ii) 和 (a) 。輸入-10,輸出0和錯誤提示。對應(yīng)于 (i) 和 (b) 。邊界值分析:劃分(ii)的邊界為0和最大正實(shí)數(shù);劃分(i)的邊界為最小負(fù)實(shí)數(shù)和0。由此得到以下測試用例:輸入 最小負(fù)實(shí)數(shù)輸入 絕對值很小的負(fù)數(shù)輸入 0輸入 絕對值很小的正數(shù)輸入 最大正實(shí)數(shù)舉例(找零錢最佳組合 )假設(shè)商店商品價格X皆不大于100元(整數(shù)),若顧客買一件
16、商品,付款Y在100元內(nèi),求找給顧客的最少貨幣張數(shù)?貨幣面值:50元R5020元R2010元R105元R52元R21元R1分析輸入X 100(無效) 0 X = 100(有效)X 100 (無效) X= Y = 100 (有效)Y X (無效) 分析輸出0 = R50 = 10 = R20 = 20 = R10 = 10 = R5 = 10 = R2 = 20 = R1 100X 100Y = 50 找R5020 = S 50 找R2010 = S 20 找R105 = S 10 找R52 = S 5 找R21 = S 100 錯誤X = 0 錯誤0 X 100 錯誤0 X = 100, Y
17、100 ; 0X=100; X100 ; 0Y=100; Y=0思考3:這個等價類劃分是否測試充分?漏掉了什么情況?思考4:如果按照輸出結(jié)果劃分等價類,效果如何?思考5: 應(yīng)用輸入結(jié)果的等價類劃分測試與邊界值分析相比,哪一個更簡便,哪一個有效?如何協(xié)調(diào)?邊界值分析主題思想采用邊界值分析測試的基本思想是:故障往往出現(xiàn)在輸入變量的邊界值附近。 因此,邊界值分析法利用輸入變量的最小值(min)、略大于最小值(min+)、輸入值域內(nèi)的任意值(nom)、略小于最大值(max-)和最大值(max)來設(shè)計測試用例。因此,在邊界值分析法中獲取測試用例的方法是: (1) 每次保留程序中一個變量,讓其余的變量取正
18、常值,被保留的變量依次取min、min+、nom、max-和max。 (2) 對程序中的每個變量重復(fù) (1) 。邊界值分析法測試用例例:例:有兩個輸入變量x1(ax1b)和x2(cx2d)的程序F的邊界值分析測試用例如下: , , , , , , , , x1x2a bcd邊界值分析法測試用例例例2:有二元函數(shù)f(x,y),其中x1,12,y1,31。 則采用邊界值分析法設(shè)計的測試用例是: , , , , , , , , 推論:對于一個含有推論:對于一個含有n個變量的程序,采用邊界值分析法測試個變量的程序,采用邊界值分析法測試程序會產(chǎn)生程序會產(chǎn)生4n+1個測試用例。個測試用例。練習(xí):練習(xí):有函
19、數(shù)f(x,y,x),其中x1900,2100,y1,12,z1,31的。請寫出該函數(shù)采用邊界值分析法設(shè)計的測試用例。 ;健壯性測試用例健壯性測試是作為邊界值分析的一個簡單的擴(kuò)充,它除了對變量的5個邊界值分析取值外,還需要增加一個略大于最大值(max+)以及略小于最小值(min-)的取值,檢查超過極限值時系統(tǒng)的情況。因此,對于有n個變量的函數(shù)采用健壯性測試需要6n+1個測試用例。前面例1中的程序F的健壯性測試如下圖所示:x1x2a bcd等價類劃分與邊界值分析的結(jié)合回到等價類劃分的例子結(jié)合邊界值分析和等價類劃分,可以達(dá)到更好的測試目的等價類劃分與邊界值分析的結(jié)合思考:有效等價類和邊界值分析主要是
20、基于什么原則來設(shè)計測試用例的?它們都沒有考慮到變量的相關(guān)性。因果圖法介紹因果圖法產(chǎn)生的背景: 等價類劃分法和邊界值分析方法都是著重考慮輸入條件,但沒有考慮輸入條件的各種組合、輸入條件之間的相互制約關(guān)系。這樣雖然各種輸入條件可能出錯的情況已經(jīng)測試到了,但多個輸入條件組合起來可能出錯的情況卻被忽視了。因果圖法能夠幫助測試人員按照一定的步驟,高效率的開發(fā)測試用例,以檢測程序輸入條件的各種組合情況,它是將自然語言轉(zhuǎn)化為形式語言規(guī)格說明的一種嚴(yán)格方法,可以指出規(guī)格說明存在的不完整性和二義性。因果圖法介紹因果圖法是基于這樣的一種思想:一些程序的功能可以用判定表(或稱決策表)的形式來表示,并根據(jù)輸入條件的組
21、合情況規(guī)定相應(yīng)的操作。即:因果圖法不過是決策表法的前期階段。我們也可以直接應(yīng)用決策表。因果圖法的定義:是一種利用圖解法分析輸入的各種組合情況,從而設(shè)計測試用例的方法,它適合于檢查程序輸入條件的各種組合情況。采用因果圖法設(shè)計測試用例的步驟:(1)根據(jù)程序規(guī)格說明書描述,分析并確定因(輸入條件)和果(輸出結(jié)果或程序狀態(tài)的改變),畫出因果圖。(2)將得到的因果圖轉(zhuǎn)換為判定表。(3)為判定表中每一列所表示的情況設(shè)計一個測試用例判定表介紹在一些數(shù)據(jù)處理問題中,某些操作依賴多個邏輯條件的取值。處理這類問題的一個非常有力的分析和表達(dá)工具是判定表一些軟件的功能需求可用判定表表達(dá)得非常清楚,在檢驗(yàn)程序的功能時判
22、定表也就成為一個非常有力的工具判定表介紹決策表通常由以下4部分組成:條件樁列出問題的所有條件條件項(xiàng)針對條件樁給出的條件列出所有可能的取值動作樁列出問題規(guī)定的可能采取的操作動作項(xiàng)指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動作 條件樁條件樁動作樁動作樁 條件項(xiàng)條件項(xiàng) 動作項(xiàng)動作項(xiàng)規(guī)規(guī)則則將任何一個條件組合的特定取值及相應(yīng)要執(zhí)行的動作稱為一條規(guī)則。在決策表中貫穿條件項(xiàng)和動作項(xiàng)的一列就是一條規(guī)則。判定表圖示1:表示為是或者取該值;0:表示為否或者不取該值;:表示該值取什么都可以。判定表舉例條件樁動作樁條件項(xiàng)動作項(xiàng)因果圖法步驟 分析軟件規(guī)格說明描述中的因果關(guān)系(輸入與輸出的因果關(guān)系) 找出原因與結(jié)果、原因與原
23、因之間的對應(yīng)關(guān)系,畫出因果圖在因果圖上標(biāo)記約束或限制條件把因果圖轉(zhuǎn)化為判定表將判定表中的每一列拿出來設(shè)計測試用例 因果圖介紹n因果圖中使用4種因果關(guān)系符號來表達(dá)因果關(guān)系:恒等 非或與因果圖介紹n因果圖中的4種基本關(guān)系 在因果圖的基本符號中,圖中的左結(jié)點(diǎn)ci表示輸入狀態(tài)(或稱原因),右結(jié)點(diǎn)ei表示輸出狀態(tài)(或稱結(jié)果)。ci 與 ei 取值0或1,0表示某狀態(tài)不出現(xiàn),1則表示某狀態(tài)出現(xiàn)。恒等:若 c1 是1,則 e1 也為1,否則 e1 為0。非:若 c1 是1,則 e1 為0,否則e1為1?;颍喝?c1 或 c2 或 c3 是1,則 e1 為1,否則 e1 為0。與:若 c1 和 c2 都是1,
24、則 e1 為1,否則 e1 為0。因果圖介紹n因果圖中的約束 在實(shí)際問題中輸入狀態(tài)相互之間、輸出狀態(tài)相互之間可能存在某些依賴關(guān)系,稱為“約束”。對于輸入條件之間的約束有E(Exclusive or)、I(In)、O(Only)、R(Request)四種約束,對于輸出條件的約束只有M(Mandate)約束。(1)原因與原因之間的約束E約束(異):輸入a和b中最多有一個可能為1,即a和b不能同時 為1。I 約束(或):輸入a、b、c中至少有一個必須為1,即 a、b、c不能同時為0。O約束(唯一):輸入a和b必須有一個且僅有一個為1。R約束(要求):輸入a是1時,輸入b必須是1,即a為1時,b不能為
25、0。(2)結(jié)果與結(jié)果之間的約束M約束(強(qiáng)制):若結(jié)果a為1,則結(jié)果b強(qiáng)制為0。因果圖介紹n因果圖中用來表示約束關(guān)系的約束符號:異異E或或I唯一唯一OR要求要求M強(qiáng)制強(qiáng)制因果圖法主題思想(具體)因果圖法最終生成的是決策表。利用因果圖生成測試用例的基本步驟如下:(1)分析軟件規(guī)格說明中哪些是原因(即輸入條件或輸入條件的等價類),哪些是結(jié)果(即輸出條件),并給每個原因和結(jié)果賦予一個標(biāo)識符。(即:找出原因和結(jié)果)(2)分析軟件規(guī)格說明中的語義,找出原因與結(jié)果之間、原因與原因之間對應(yīng)的關(guān)系, 根據(jù)這些關(guān)系畫出因果圖。 (即:標(biāo)定因果關(guān)系)(3)由于語法或環(huán)境的限制,有些原因與原因之間、原因與結(jié)果之間的組
26、合情況不可能出現(xiàn)。為表明這些特殊情況,在因果圖上用一些記號表明約束或限制條件。(4)把因果圖轉(zhuǎn)換為決策表。(5)根據(jù)決策表中的每一列設(shè)計測試用例。因果圖法案例 第一列字符必須是#或*,第二列字符必須是一個數(shù)字,在此情況下進(jìn)行文件的修改。但如果第一列字符不正確,則給出信息L;如果第二列字符不是數(shù)字,則給出信息M。解題步驟(1)分析程序的規(guī)格說明,列出原因和結(jié)果。(2)找出原因與結(jié)果之間的因果關(guān)系、原因與原因之間的約束關(guān)系,畫出因果圖。(3)將因果圖轉(zhuǎn)換成決策表。(4)根據(jù)(3)中的決策表,設(shè)計測試用例的輸入數(shù)據(jù)和預(yù)期輸出。因果分析原因:c1第一列字符是#c2第一列字符是*c3第二列字符是一數(shù)字1
27、0 第一列字符是#或是*結(jié)果:e1給出信息Le2修改文件e3給出信息M因果分析(1)分析程序規(guī)格說明中的原因和結(jié)果:(2)畫出因果圖(編號為10的中間結(jié)點(diǎn)是導(dǎo)出結(jié)果的進(jìn)一步原因):c1c2c3e110e2e3E不可能同時存在由因果圖建立的判定表(3)將因果圖轉(zhuǎn)換成如下所示的決策表:規(guī)則規(guī)則選項(xiàng)選項(xiàng)從決策表中得到測試用例(4)根據(jù)決策表中的每一列設(shè)計測試用例:課堂練習(xí)(中國象棋走馬下法)1、以中國象棋中馬的走法為例子,具體說明:1、如果落點(diǎn)在棋盤外,則不移動棋子;2、如果落點(diǎn)與起點(diǎn)不構(gòu)成日字型,則不移動棋子;3、如果落點(diǎn)處有自己方棋子,則不移動棋子;4、如果在落點(diǎn)方向的鄰近交叉點(diǎn)有棋子(絆馬腿)
28、,則不移動棋子;5、如果不屬于1-4條,且落點(diǎn)處無棋子,則移動棋子;6、如果不屬于1-4條,且落點(diǎn)處為對方棋子 (非老將) ,則移動棋子并除去對方棋子;7、如果不屬于1-4條,且落點(diǎn)處為對方老將,則移動棋子,并提示戰(zhàn)勝對方,游戲結(jié)束。請繪制出因果圖和判定表,并給出相應(yīng)的測試用例。課堂練習(xí)(中國象棋走馬下法)第一步:分析原因和結(jié)果原因:1、落點(diǎn)在棋盤外;2、不構(gòu)成日字;3、落點(diǎn)有自方棋子;4、絆馬腿;5、落點(diǎn)無棋子;6、落點(diǎn)為對方棋子(非老將);7、落點(diǎn)為對方老將。結(jié)果:21、不移動;22、移動;23、移動己方棋子消除對方棋子;24、移動并戰(zhàn)勝對方。課堂練習(xí)(中國象棋跳馬下法)第二步:畫出因果圖
29、可以判定程序中應(yīng)該包括12個函數(shù)或方法課堂練習(xí)(中國象棋走馬下法)第三步:轉(zhuǎn)換成判定表 課堂練習(xí)(自動售貨機(jī))2、有一個處理單價為5角錢的飲料的自動售貨機(jī),其規(guī)格說明如下:(1)若投入5角錢或1元錢的硬幣,按下橙汁或啤酒的按鈕,則相應(yīng)的飲料就送出來。(2)若售貨機(jī)沒有零錢找,則一個顯示零錢找完的紅燈亮,這時在投入1元硬幣并押下按鈕后,飲料不送出來而且1元硬幣也退出來;(3)若有零錢找,則顯示零錢找完的紅燈滅,在送出飲料的同時退還5角硬幣。 請繪制出因果圖和判定表,并給出相應(yīng)的測試用例。課堂練習(xí)(自動售貨機(jī))第一步:分析原因和結(jié)果原因:1、售貨機(jī)有零錢找2、投入1元硬幣3、投入5角硬幣4、押下橙汁按鈕5、押下啤酒按鈕結(jié)果:21、售貨機(jī)零錢找完燈亮22、退還1元硬幣23、退還5角硬幣 24、送出橙汁飲料25、送出啤酒飲料課堂練習(xí)(自動售貨機(jī))第二步:畫出因果圖課堂練習(xí)(自動售貨機(jī))第二步:畫出因果圖所有原因結(jié)點(diǎn)列在左邊,所有結(jié)果結(jié)點(diǎn)列在右邊。建立中間結(jié)點(diǎn),表示處理的中間狀態(tài)。中間結(jié)點(diǎn):11、投入1元硬幣且押下飲料按鈕12、押下橙汁或啤酒的按鈕13、應(yīng)當(dāng)找5角零錢并且售貨機(jī)有零錢找14、錢已付清課堂練習(xí)(自動售貨機(jī))第三步:轉(zhuǎn)換成判定表因果圖法總結(jié)優(yōu)點(diǎn)優(yōu)點(diǎn)1、因果
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生態(tài)友好的教育環(huán)境創(chuàng)建計劃
- 懸掛起重機(jī)安裝施工方案
- 現(xiàn)代組織領(lǐng)導(dǎo)力激發(fā)團(tuán)隊潛力的秘訣
- 班組協(xié)同工作溝通是關(guān)鍵
- 2024秋四年級英語上冊 Unit 5 Dinners ready第6課時(Read and write Story time)說課稿 人教PEP
- 《10 我們心中的星》(說課稿)-2023-2024學(xué)年四年級上冊綜合實(shí)踐活動吉美版
- Unit 5 The colourful world第一課時(說課稿)-2024-2025學(xué)年人教PEP版(2024)英語三年級上冊
- 2024年秋七年級英語上冊 Starter Module 2 My English lesson Unit 3 Im twelve說課稿 (新版)外研版
- 2024年四年級品社下冊《圓明園的控訴》說課稿 滬教版
- Unit 1 My classroom PA Let's talk(說課稿)-2024-2025學(xué)年人教PEP版英語四年級上冊
- 2025屆江蘇省無錫市天一中學(xué)高一上數(shù)學(xué)期末質(zhì)量檢測試題含解析
- 數(shù)學(xué)家華羅庚課件
- 貴州茅臺酒股份有限公司招聘筆試題庫2024
- 《人工智能基礎(chǔ)》課件-AI的前世今生:她從哪里來
- 《納米技術(shù)簡介》課件
- 血液透析高鉀血癥的護(hù)理查房
- 思政課國內(nèi)外研究現(xiàn)狀分析
- 2024年青海省西寧市選調(diào)生考試(公共基礎(chǔ)知識)綜合能力題庫帶答案
- HYT 235-2018 海洋環(huán)境放射性核素監(jiān)測技術(shù)規(guī)程
- 中國香蔥行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報告2024-2034版
- 消化系統(tǒng)常見疾病康復(fù)
評論
0/150
提交評論