版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、ECJTU軟軟 件件 測測 試試 技技 術(shù)術(shù)bugs 第第2 2講講 黑盒測試技術(shù)黑盒測試技術(shù)2 2軟件工程 呂敬欽創(chuàng)新大樓 西樓403-2-ECJTU黑盒測試技術(shù) 1 邊界值測試 2 等價(jià)類測試 3 基于決策表的測試保險(xiǎn)金案例因果圖法錯(cuò)誤推斷法-3-ECJTU決策表等價(jià)類法的冗余問題 等價(jià)類測試中,個(gè)體域等價(jià)劃分時(shí)基于獨(dú)立性假設(shè),忽略各輸入條件之間的關(guān)聯(lián)性。 2x3x5=30 個(gè)有效用例中,許多用例對(duì)應(yīng)普通日期和無效日期,冗余情況嚴(yán)重,增大測試工作量。 思考這個(gè)問題的原理,提問?回答問題加平時(shí)分。 分析一下-4-ECJTU決策表 個(gè)體輸入域間有關(guān)聯(lián)性,個(gè)體域上考慮所有情況,存在過劃分。 在強(qiáng)
2、組合方式下,造成了大量的冗余用例。 決策表測試可以:對(duì)用例集進(jìn)行化簡合并,更好地改善輸入條件之間的組合。消除用例間的冗余,縮減測試用例規(guī)模,同時(shí)保持等價(jià)類的效果。測試的完備性和無冗余性可以得到較好的體現(xiàn)-5-ECJTU決策表決策表的結(jié)構(gòu) 假設(shè)有三個(gè)輸入 A, B, C,分別有 2, 3, 2 種取值條件(或者等價(jià)類等) JPGc22_p62.png 輸入?yún)^(qū),輸出區(qū),表中每一列對(duì)應(yīng)一個(gè)測試用例,有 2x3x2 種用例組合。 -6-ECJTU決策表 決策表法實(shí)際上可以作為,針對(duì)個(gè)體輸入域的有效等價(jià)類測試的擴(kuò)充。體現(xiàn)為:1)表中輸入?yún)^(qū)域列出的元素并非具體數(shù)據(jù),而是每個(gè)輸入條件的有效等價(jià)類。2)決策表
3、針對(duì)輸入條件僅考慮有效等價(jià)類,不考慮無效等價(jià)類。實(shí)際上,針對(duì)無效等價(jià)類的測試一般不存在冗余,不需要考慮冗余的消除。3)決策表的輸出取值區(qū)并不涉及輸出域的等價(jià)劃分。-7-ECJTU決策表決策表的化簡 Y1(Y2)-M1-D1(D2,D3,D4)其實(shí)都是一個(gè)等價(jià)類的,符合具體實(shí)際意義,系統(tǒng)得出下一天日期的計(jì)算方式相同??梢赃M(jìn)行化簡合并-8-ECJTU決策表 決策表通過化簡來識(shí)別輸入條件之間,以及輸入與輸出之間的各種關(guān)系,達(dá)到降低測試用例規(guī)格、避免測試冗余的目的?;喌那疤釛l件: 輸出相同:欲化簡的多個(gè)測試用例的預(yù)期輸出結(jié)果應(yīng)完全相同; 輸入相似:欲化簡的多個(gè)測試用例的輸入應(yīng)相似,即僅有一個(gè)輸入條件
4、取值(即對(duì)應(yīng)的等價(jià)類)可以不相同,其他輸入條件的取值(即對(duì)應(yīng)的等價(jià)類)應(yīng)完全相同。-9-ECJTU決策表 化簡的結(jié)果:是使得某個(gè)輸入條件的取值對(duì)測試用例的輸出無影響,得到的新等價(jià)類也符合實(shí)際意義。Y1(Y2)-M1-D1(D2,D3,D4)=Y12-M1-D1=Y1-M1-D1234 經(jīng)過一次化簡后,若決策表中剩余測試用例仍然滿足化簡條件,則可繼續(xù)化簡,直到無法化簡為止。 Y1-M1-D1234, Y2-M1-D1234=Y12-M1-D1234-10-ECJTU決策表測試用例的設(shè)計(jì) 分析輸入域,并對(duì)個(gè)體輸入域進(jìn)行有效等價(jià)類劃分 分析輸出域,并對(duì)預(yù)期輸出結(jié)果進(jìn)行細(xì)化; 建立完整的決策表 對(duì)決策
5、表進(jìn)行不斷地化簡,直至無法繼續(xù)化簡 根據(jù)最終的決策表設(shè)計(jì)測試用例決策表法的測試質(zhì)量取決于對(duì)輸入域等價(jià)劃分的準(zhǔn)確性和對(duì)輸出域的細(xì)化程度,通常需要多次迭代完成。-11-ECJTU決策表捉蟲實(shí)踐5:NextDate的決策表法 個(gè)體輸入域的劃分,采用上一小節(jié)的等價(jià)類方法。 思考: 輸出域的細(xì)化 ?具體輸出什么具體輸出什么?普通日期,月末日期,不存在日期下一天的日期輸出細(xì)化:日期+1,1-日期, 月份+1, 1-月份, 年份+1 提示該日期不存在 輸出的結(jié)果并非互斥-12-ECJTU決策表建立決策表 JPGc22_p63.png 包含了所有單個(gè)輸入條件的組合-13-ECJTU決策表合并化簡 輸出相同,輸
6、入相似,一個(gè)輸入不同 Y1, M1, D1-D4 = Y1, M1, D1234 Y2, M1, D1-D4 = Y2, M1, D1234 再次化簡= Y12, M1, D1234 含義是:只要包含31天的月份,且日期=30,則預(yù)期輸出均為日期+1。 同樣可以化簡得到 Y12, M2, D123 (日期=29)-14-ECJTU決策表合并化簡 輸出相同,輸入相似,一個(gè)輸入不同 a Y1, M2, D4 b Y1, M3, D3 c Y2, M2, D4 d Y2, M3, D2 都是 日期+1,月份+1ac 可以合并,有具體含義:小月的月末日期。而ab ad, bd之間就不可以合并,小月和2
7、月,閏年和非閏年的2月 都不符合實(shí)際意義。-15-ECJTU決策表合并化簡 二次化簡后的決策表 JPGc22_p64.png 原先的30個(gè),縮減為11個(gè)用例,有效地消除了用例間的冗余-16-ECJTU決策表 Y12, M2, D5 Y2, M3, D3 Y12, M3, D45它們的個(gè)體輸入均對(duì)應(yīng)有效等價(jià)類。卻仍舊屬于無效日期。決策表的化簡法無法消除 因整體輸入域拆分為個(gè)體輸入域時(shí)導(dǎo)致的無效域數(shù)據(jù)。-17-ECJTU決策表合并化簡Y1(Y2) M1 D5 的輸出為:日期為 1 y月份為 1 ?月份 +1 ?年份 +1 ? 思考:輸出不確定,什么原因? 普通大月月末,年末-18-ECJTU決策表
8、 等價(jià)類劃分不合理,沒有針對(duì)年末12月的等價(jià)類。 對(duì)輸出結(jié)果的細(xì)化分析細(xì)化分析,可以找出等價(jià)類劃分不合理的地方,即處理方式不一致的情況。-19-ECJTU決策表第二次決策表化簡 2x4x5=40個(gè)用例,化簡為12個(gè)用例 覆蓋了所有的特殊日期,大小月中、月末,閏年和非閏年的2月末,年末等。 JPGc22_p65_2.png-20-ECJTU決策表 對(duì)比 整體輸入域的等價(jià)類劃分 JPGc2_p59.png JPGc2_p60.png 決策表的測試不僅包含了不存在的日期,還包含多個(gè)普通日期等的用例,且無法繼續(xù)化簡。JPGc22_p65_2.png決策表法盡管能在較大程度上消除測試冗余。但仍會(huì)受到各單
9、輸入條件的等價(jià)劃分的限制,不能保證達(dá)到完全的無冗余。-21-ECJTU決策表小結(jié) 目標(biāo)是在特定條件下消除等價(jià)類測試的冗余。 基本思想:基于強(qiáng)組合等價(jià)類測試得到有效域上完整的測試用例集合,并通過合并化簡消除用例間的冗余。 決策表法:以強(qiáng)組合等價(jià)類測試為基礎(chǔ),遵循獨(dú)立性假設(shè)的。-22-ECJTU決策表測試用例的設(shè)計(jì) 分析輸入域,并對(duì)個(gè)體輸入域進(jìn)行有效等價(jià)類劃分 分析輸出域,并對(duì)預(yù)期輸出結(jié)果進(jìn)行細(xì)化; 建立完整的決策表 對(duì)決策表進(jìn)行不斷地化簡,直至無法繼續(xù)化簡 根據(jù)最終的決策表設(shè)計(jì)測試用例-23-ECJTU決策表化簡的條件:輸出相同;輸入相似?;喌慕Y(jié)果:是使得某個(gè)輸入條件的取值對(duì)測試用例的輸出無影
10、響,得到的新等價(jià)類也符合實(shí)際意義。決策表法的測試質(zhì)量取決于對(duì)輸入域等價(jià)劃分的準(zhǔn)確性和對(duì)輸出域的細(xì)化程度,通常需要多次迭代完成。-24-ECJTU決策表需要注意的方面 當(dāng)從整體輸入域拆分為個(gè)體輸入域時(shí),若輸入條件之間不存在相關(guān)性,則不需要使用決策表法。因?yàn)榈葍r(jià)類測試生成的用例之間本身就不存在冗余。 決策表法不處理無效等價(jià)類,它不需要遵循單缺陷假設(shè)。 決策表法僅針對(duì)輸入域展開分析,但需要從設(shè)計(jì)的角度對(duì)輸出域進(jìn)行細(xì)化,這樣得到的用例才更加準(zhǔn)確。-25-ECJTU等價(jià)類測試測試實(shí)踐:三角形問題 三角形軟件接受三個(gè)整數(shù)a、b和c作為輸入,用作三角形的邊。程序的輸出是由這三條邊確定的三角形類型:等邊三角形
11、、等腰三角形、不等邊三角形或非三角形。 整數(shù)a、b和c必須滿足以下條件: C1. 1 a 200 C4. a b+c C2. 1 b 200 C5. b c+a C3. 1 c 200 C6. c b+a-26-ECJTU決策表測試實(shí)踐:三角形問題的決策表 需要考慮:建立決策表:輸入?yún)^(qū)域的合理等價(jià)劃分,輸出細(xì)化 不考慮C123,大家思考輸入和輸出,自己簡單試畫下表3-5分鐘時(shí)間。-27-ECJTU決策表 預(yù)期輸出:等邊三角形、等腰三角形、不等邊三角形或非三角形。 輸入:對(duì)輸入域的等價(jià)劃分,且與輸出有關(guān),決定著輸出結(jié)果。構(gòu)成三角形ab+c, ba+c, c傭金問題,三個(gè)酒量-銷售總額-分段計(jì)算傭
12、金(黑盒)年齡+積分+復(fù)雜約束條件-保險(xiǎn)金(這里呢?)-40-ECJTU邊界值測試確定邊界:個(gè)體輸入域 以個(gè)體輸入域?yàn)楸粶y對(duì)象時(shí),需分別針對(duì)每個(gè)輸入條件的輸入域確定其邊界點(diǎn)。 并遵循獨(dú)立性假設(shè),即假設(shè)各個(gè)輸入條件之間相互獨(dú)立,不產(chǎn)生相互影響,即不具有相互依賴關(guān)系。 查看需求-分?jǐn)?shù),年齡的邊界年齡(6個(gè)):16, 25, 35, 45, 60, 80;分?jǐn)?shù)(6個(gè)):0, 5, 7, 9, 11, 12-41-ECJTU保險(xiǎn)金案例 邊界年齡(6個(gè)):16, 25, 35, 45, 60, 80;分?jǐn)?shù)(6個(gè)):0, 5, 7, 9, 11, 12 測試數(shù)據(jù) p-a, p, p+a:年齡 (18個(gè)):
13、15, 16, 17, 24, 25, 26, 34, 35, 36, 44, 45, 46, 59, 60, 61, 79, 80, 81;分?jǐn)?shù) (13個(gè)):-1, 0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13-42-ECJTU邊界值測試 弱邊界法基于單缺陷假設(shè):即被測對(duì)象只要在某個(gè)輸入條件的某個(gè)邊界出錯(cuò),則在任何包含該輸入邊界的情況下也會(huì)出錯(cuò)。 策略:用例中,只有一個(gè)輸入條件取值為邊界鄰域數(shù)據(jù),其余輸入條件取正常值(相鄰邊界點(diǎn)之間的中值)。有利于快速隔離和定位邊界缺陷,降低測試用例的數(shù)量。-43-ECJTU邊界值測試-44-ECJTU保險(xiǎn)金案例 測試數(shù)據(jù) 年
14、齡 (18個(gè)) 分?jǐn)?shù) (13個(gè))邊界:年齡(6個(gè)):16, 25, 35, 45, 60, 80; 分?jǐn)?shù)(6個(gè)):0, 5, 7, 9, 11, 12 用例設(shè)計(jì):針對(duì)年齡的測試數(shù)據(jù),分?jǐn)?shù)應(yīng)取相鄰兩邊界點(diǎn)間的正常值(中值)。 用例數(shù)量為 18x(6-1) + 13x(6-1) = 155個(gè)。-45-ECJTU保險(xiǎn)金案例 部分邊界值的用例 JPGc22_p84.png-46-ECJTU保險(xiǎn)金案例測試用例分布圖 JPGc22_p85.png 顯然,由于邊界點(diǎn)多,盡管僅有2個(gè)輸入,弱組合下的測試用例數(shù)量也很多。 因?yàn)樾枰《喾N中值和邊界的組合。-47-ECJTU黑盒測試技術(shù) 1 邊界值測試 2 等價(jià)類
15、測試 3 基于決策表的測試保險(xiǎn)金案例-等價(jià)類法因果圖法錯(cuò)誤推測法-48-ECJTU保險(xiǎn)金案例等價(jià)類法 個(gè)體輸入域 整體輸入域 對(duì)年齡和分?jǐn)?shù)的等價(jià)類劃分 JPGc22_p85_2.png-49-ECJTU保險(xiǎn)金案例 分?jǐn)?shù)域上存在過劃分,利用強(qiáng)組合方式。 有冗余,需要采用決策表法化簡合并。 JPGc22_p85_3.png 合并為10個(gè)等價(jià)類,每個(gè)年齡段 2個(gè),消除了冗余 分別對(duì)應(yīng)“有無安全駕駛折扣”的情況,很合理。 相比于 NextDate的年月日 ,分?jǐn)?shù)和年齡的關(guān)聯(lián)復(fù)雜程度要低很多,合并后得到很好的用例設(shè)計(jì)。-50-ECJTU保險(xiǎn)金案例等價(jià)類法 整體輸入域?qū)嶋H上,保險(xiǎn)金問題并不是個(gè)很復(fù)雜的系統(tǒng)
16、。若就整體輸入域進(jìn)行等價(jià)類劃分,用例設(shè)計(jì)會(huì)更簡單。二元組劃分規(guī)則,思考一下,1-2分鐘,沒必要翻書的:是否給予安全駕駛折扣,年齡段。 JPGc22_p86.png 劃分為10個(gè),與決策表的結(jié)果相同。 相比而言,設(shè)計(jì)工作更加簡單。-51-ECJTU保險(xiǎn)金案例案例小結(jié) 包含的功能點(diǎn)很單一,不涉及業(yè)務(wù)流程。但包含相對(duì)復(fù)雜的輸入/輸出計(jì)算關(guān)系。需針對(duì)輸入域和輸出域進(jìn)行關(guān)鍵數(shù)據(jù)的覆蓋測試 該案例的測試用例設(shè)計(jì)以測試數(shù)據(jù)的選擇為主重點(diǎn)在于如何選擇典型數(shù)據(jù)來測試所有情況下的業(yè)務(wù)計(jì)算難點(diǎn)是如何高效地設(shè)計(jì)測試用例,達(dá)到測試的完備和無冗余 該案例的測試應(yīng)盡量考慮以自動(dòng)化測試為主-52-ECJTU實(shí)驗(yàn)安排第一次實(shí)驗(yàn)
17、安排 網(wǎng)工:第 4周(下周),周三 6-7節(jié)(第5節(jié)在教室上課) 內(nèi)容:基于邊界值、等價(jià)類等的測試 地點(diǎn):北區(qū)測試二室(軟件測試中心)-53-ECJTU實(shí)驗(yàn)安排第一次實(shí)驗(yàn)安排 網(wǎng)工:第 4周(下周),周三 6-7節(jié)(第5節(jié)在教室上課) 內(nèi)容:基于邊界值、等價(jià)類等的測試 地點(diǎn):北區(qū)測試二室(軟件測試中心)-54-ECJTU黑盒測試技術(shù) 1 邊界值測試 2 等價(jià)類測試 3 基于決策表的測試保險(xiǎn)金案例因果圖法錯(cuò)誤推斷法-55-ECJTU因果圖法 邊界值法和等價(jià)類法在設(shè)計(jì)用例時(shí),并未特別關(guān)注輸入條件之間的組合情況。如輸入之間的互相依賴或互斥關(guān)系。 也未強(qiáng)調(diào)輸入與輸出之間的互相約束。如只有某幾個(gè)輸入同時(shí)
18、成立,才取得某個(gè)輸出的情況。 從而,導(dǎo)致測試用例的冗余。為了更好地描述輸入條件之間的組合,降低測試冗余,人們引入因果圖法。-56-ECJTU因果圖法 因果圖中的“因”:指明確的輸入條件 “果”:指一個(gè)輸出條件或動(dòng)作 需要通過需求規(guī)格說明書(SRS),分析輸入域和輸出域來確定 因 和 果。 通過業(yè)務(wù)分析找到原因之間、結(jié)果之間、以及原因與結(jié)果之間的各種關(guān)系。 原因往往與輸入域的等價(jià)類劃分聯(lián)系在一起。 利用各種符號(hào)來生成因果圖,表述各種業(yè)務(wù)關(guān)系 進(jìn)而得到一個(gè)決策表 最終以決策表的每列規(guī)則對(duì)應(yīng)每個(gè)測試用例。-57-ECJTU因果圖法 符號(hào)定義原因與結(jié)果之間的關(guān)系符號(hào)。恒等非與 或邏輯結(jié)果取邏輯結(jié)果取
19、1,表示該狀態(tài)或動(dòng)作出現(xiàn)。,表示該狀態(tài)或動(dòng)作出現(xiàn)。取取0,表示該狀態(tài)或動(dòng)作不出現(xiàn)。,表示該狀態(tài)或動(dòng)作不出現(xiàn)。恒等:若原因出現(xiàn),則結(jié)果出現(xiàn),否則恒等:若原因出現(xiàn),則結(jié)果出現(xiàn),否則不出現(xiàn)。非:若原因出現(xiàn),則結(jié)果不出不出現(xiàn)。非:若原因出現(xiàn),則結(jié)果不出現(xiàn),否則出現(xiàn)?,F(xiàn),否則出現(xiàn)。與:所有原因都出現(xiàn),結(jié)果才出現(xiàn)。與:所有原因都出現(xiàn),結(jié)果才出現(xiàn)?;颍憾鄠€(gè)原因中,只要有一個(gè)出現(xiàn),結(jié)或:多個(gè)原因中,只要有一個(gè)出現(xiàn),結(jié)果都會(huì)出現(xiàn)。果都會(huì)出現(xiàn)。-58-ECJTU因果圖法 原因之間(或結(jié)果之間)的約束關(guān)系符號(hào)互斥包含唯一 (1)E約束(互斥,Exclude):a和b中至多有一個(gè)成立(取1),即a和b不能同時(shí)成立(取
20、1)。 (2)I約束(包含,Include): a、b、c中至少有一個(gè)必須為1,a、b、c不能同時(shí)為0,至少有一個(gè)成立 (3)O約束(唯一,Only): a和b中必須有一個(gè),且僅有一個(gè)為1,有且僅有一個(gè)成立 。abEabcIabO-59-ECJTU因果圖法 原因之間(或結(jié)果之間)的約束關(guān)系符號(hào) 要求 屏蔽 (4)R約束(要求):a取1時(shí),b必須為1,即不可能a取1時(shí),b是0。a原因出現(xiàn)時(shí),b原因也必須出現(xiàn)。 (5)M約束(屏蔽):a取1時(shí),b必須取0;a取0時(shí),則對(duì)b沒有約束。ab RabM-60-ECJTU因果圖法具體設(shè)計(jì)方法: 分析需求規(guī)格說明書描述的哪些是原因(輸入條件),哪些是結(jié)果(輸
21、出條件),給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)示符。 找出原因與結(jié)果,原因與原因之間的對(duì)應(yīng)關(guān)系,畫出因果圖 在因果圖上標(biāo)上哪些不可能發(fā)生的因果關(guān)系,表明約束或限制條件 根據(jù)因果圖,創(chuàng)建決策表,將復(fù)雜的邏輯關(guān)系和多種條件組合很具體明確的表示出來 把決策表的每一列作為依據(jù)設(shè)計(jì)測試用例。 2-61-ECJTU因果圖法 一個(gè)例子 某文字系統(tǒng):第一列字符必須是A或B,第二列字符必須是一個(gè)數(shù)字。在此情況下進(jìn)行文件的修改。第一列字符不是A或B給出信息L,第二列字符不是數(shù)字給出信息M。根據(jù)此要求畫出因果圖,并建立判定表。 通過需求,列出原因結(jié)果 分析業(yè)務(wù),畫出因果圖 畫出決策表,設(shè)計(jì)用例 -62-ECJTU因果圖法 某
22、文字系統(tǒng):第一列字符必須是A或B,第二列字符必須是一個(gè)數(shù)字。在此情況下對(duì)文件進(jìn)行更新更新。第一列字符不是A或B給出信息L,第二列字符不是數(shù)字給出信息M。 原因: 1:第一列字符是A;2:第一列字符是B 3:第二列字符是一個(gè)數(shù)字。 結(jié)果: 21:更新文件。 22:給出信息L。 23:給出信息M。 大家自己先畫一下因果圖 分析業(yè)務(wù),畫出因果圖 -63-ECJTU因果圖法 建立決策表 三個(gè)輸入,2x2x2=8種情況。 考慮原因之間的關(guān)系(E約束),繪制決策表。E12112221233VV-64-ECJTU因果圖法 建立決策表E12112221233VV12345678條件條件(原因原因)(1)111
23、10000(2)11001100(3)10101010(11)111100動(dòng)作動(dòng)作(結(jié)果結(jié)果)(22)000011(21)101000(23)010101測試數(shù)據(jù)測試數(shù)據(jù)A3AMB5BNC2DY不可能不可能情況情況Exclude-65-ECJTU因果圖法 用例 1 0 1 (A,B,數(shù)) 0 1 1 輸出相同,條件(1)和(2)是 Exclude 關(guān)系 思考一下,可否化簡合并,是否符合具體意義? A,B,非AB ,3個(gè)等價(jià)類,前兩個(gè)可以合并。 畫出部分因果圖和決策表 在因果圖上也可以化簡合并,更方便 分析 NextDate 的化簡合并情況,輸入間是否是Exclude還是別的關(guān)系 JPGc22_
24、p65_2.pngE12112221233VV-66-ECJTU因果圖法測試實(shí)踐:自動(dòng)飲料機(jī) 某自動(dòng)飲料機(jī)銷售罐裝飲料。銷售的飲料包括:可樂、雪碧、芬達(dá)和醒目。每罐飲料的單價(jià)為三元五角,且僅接受硬幣。若投入3元5角硬幣,按下“可樂”、“雪碧”等按鈕,就會(huì)送出相應(yīng)的飲料。若投入的是4元硬幣,則在送出飲料的同時(shí)會(huì)退還5角硬幣。-67-ECJTU因果圖法 列出原因和結(jié)果 原因之間的關(guān)系,原因和結(jié)果之間的關(guān)系 繪制因果圖 大家自己先做一下,畫下因果圖,5分鐘。-68-ECJTU因果圖法 符號(hào)定義原因與結(jié)果之間的關(guān)系符號(hào)。恒等非與 或-69-ECJTU因果圖法 原因之間(或結(jié)果之間)的約束關(guān)系符號(hào)互斥包
25、含唯一 (1)E約束(互斥,Exclude):a和b中至多有一個(gè)成立(取1),即a和b不能同時(shí)成立(取1)。 (2)I約束(包含,Include): a、b、c中至少有一個(gè)必須為1,a、b、c不能同時(shí)為0,至少有一個(gè)成立 (3)O約束(唯一,Only): a和b中必須有一個(gè),且僅有一個(gè)為1,有且僅有一個(gè)成立 。abEabcIabO-70-ECJTU因果圖法測試實(shí)踐:自動(dòng)飲料機(jī) 某自動(dòng)飲料機(jī)銷售罐裝飲料。銷售的飲料包括:可樂、雪碧、芬達(dá)和醒目。每罐飲料的單價(jià)為三元五角,且僅接受硬幣。若投入3元5角硬幣,按下“可樂”、“雪碧”等按鈕,就會(huì)送出相應(yīng)的飲料。若投入的是4元硬幣,則在送出飲料的同時(shí)會(huì)退還
26、5角硬幣。-71-ECJTU因果圖法 原因: c1投入三元5角 c2投入四元 c3按下“可樂” c4按下“雪碧” c5按下“芬達(dá)” c6按下“醒目” 結(jié)果: r1退還5角 r2送出“可樂” r3送出“雪碧” r4送出“芬達(dá)” r5送出“醒目” 繪制因果圖-72-ECJTU因果圖法 繪制因果圖 中間狀態(tài): m1 已投幣 m2 已按鈕 決策表 6個(gè)2=64 畫一下1-2分鐘 -73-ECJTU因果圖法繪制決策表 表中含有:a 未投幣,已按鈕的情況 b 已投幣,未按鈕的情況 a情況,系統(tǒng)應(yīng)怎么處理等待投幣,還是提示信息? b情況,系統(tǒng)應(yīng)怎么處理等待按鈕,還是退還硬幣? 需求描述中,并未包含這些情況。
27、決策表中,相應(yīng)用例的輸出是有疑問的。 通過建立因果圖和決策表,可以在一定程度上充當(dāng)對(duì)系統(tǒng)需求的靜態(tài)測試。-74-ECJTU因果圖法 通過建立因果圖和畫出完整的決策表,可以在一定程度上充當(dāng)對(duì)系統(tǒng)需求的靜態(tài)測試。 15 vs 64(6個(gè)2)決策表 3x5(兩個(gè)Exclude關(guān)系)=15運(yùn)用原因之間的約束關(guān)系,降低了原因(等價(jià)類)組合的數(shù)量。 思考,可否化簡合并?-75-ECJTU因果圖法 因果圖法(補(bǔ)充) 如果輸入比較多,比較復(fù)雜,這些輸入組合的數(shù)量會(huì)很大,測試用例的數(shù)量非常龐大。 比如之前日期 2x4x5,假設(shè)規(guī)模再大一點(diǎn),且多加一個(gè)輸入 4x4x5 x5 = 400。 繪制400個(gè)用例的決策表
28、,然后對(duì)400個(gè)等價(jià)類的組合,進(jìn)行多次合并化簡,以及測試工作,工作大。 在輸入條件多且較復(fù)雜的情況下,因果圖能夠有助于選擇出高效的測試用例集。-76-ECJTU因果圖法一個(gè)復(fù)雜的例子DISPLAY命令用于從窗口中觀察內(nèi)存空間的內(nèi)容。括弧內(nèi)表示可替換的可選操作對(duì)象。大寫字母表示關(guān)鍵字,小寫字母表示對(duì)象的值;下劃線表示默認(rèn)的值。hexloc1 表示待顯示的首字節(jié)地址,可以是1-6位長度的16進(jìn)制數(shù),默認(rèn)為0。第二個(gè)操作對(duì)象規(guī)定了要顯示的內(nèi)存的數(shù)量。hexloc2 對(duì)應(yīng)末字節(jié)的地址。DISPLAYhexloc10-hexloc2-END-bytecount-1-77-ECJTU因果圖法當(dāng)顯示內(nèi)容時(shí),
29、在屏幕上按下格式分1行或多行輸出。xxxxxx = word1 word2 word3 word4可能產(chǎn)生的錯(cuò)誤信息如下:M1 無效的命令語法M2 所需內(nèi)存超出了實(shí)際的內(nèi)存范圍M3 所需內(nèi)存為0或?yàn)樨?fù)數(shù)-78-ECJTU因果圖法原因: 存在第一個(gè)操作對(duì)象 hexloc1僅包含十六進(jìn)制的數(shù)字 hexloc1包含1-6個(gè)字符 hexloc1在機(jī)器的實(shí)際內(nèi)存范圍之內(nèi) 第二個(gè)操作對(duì)象為END 第二個(gè)操作對(duì)象為hexloc2 第二個(gè)操作對(duì)象為bytecount 第二個(gè)操作對(duì)象為默認(rèn) hexloc2僅包含十六進(jìn)制的數(shù)字 18個(gè)個(gè)-79-ECJTU因果圖法結(jié)果 顯示信息M1(無效的命令語法) 顯示信息M2(
30、所需內(nèi)存超出了實(shí)際的內(nèi)存范圍) 顯示信息M3(所需內(nèi)存為0或?yàn)樨?fù)數(shù)) 內(nèi)存內(nèi)容顯示在一行上 內(nèi)存內(nèi)容顯示在多行上 顯示范圍的首字節(jié)正好在字單元的邊界位置 顯示范圍的首字節(jié)不在字單元的邊界位置-80-ECJTU因果圖法 因果圖JPG因果2.jpg 18個(gè)2 = 天文數(shù)字 組合關(guān)系非常多。如果不能排除低效測試用例,那么因果關(guān)系復(fù)雜的大因果圖的系統(tǒng)會(huì)生成天文數(shù)字的測試用例。如果手工從中挑出一些子集來,不能保證不包含低效用例,并且這也不是系統(tǒng)性的方法。 因果圖有助于用系統(tǒng)的方法,在因果圖中選擇出高效的測試用例集。-81-ECJTU因果圖法 因果圖選擇出高效的測試用例集。7 輸出為0的條件有13種0 0
31、 0 0 (5=0, 6=0)1 0 0 0 (5=1, 6=0)1 0 0 1 (5=1, 6=0)1 0 1 0 (5=1, 6=0)0 0 1 1 (5=0, 6=1)-82-ECJTU因果圖法對(duì)于結(jié)果結(jié)點(diǎn)而言,其輸入有決定性上的差別:強(qiáng)因,弱因。需要找出高效的輸入組合,設(shè)計(jì)用例 假設(shè)要找出所有導(dǎo)致 輸出為0的輸入條件。首先,結(jié)點(diǎn) 5和 6都是 0的情況,需要 1種輸入組合(確定缺陷的有效性不高)。 0 0 0 0 (5=0, 6=0)然后,結(jié)點(diǎn) 5為 1而結(jié)點(diǎn) 6為 0的情況,只要列出 1種結(jié)點(diǎn) 5為1的輸入組合。 6為 0是決定性因素,有效性高,列出所有輸入組合。1 0 0 0 (5=1, 6=0)1 0 0 1 (5=1, 6=0)1 0 1 0 (5=1, 6=0)-83-ECJTU因果圖法 假設(shè)要找出所有導(dǎo)致 輸出為0的輸入條件。最后,結(jié)點(diǎn) 5為 0而結(jié)點(diǎn) 6為 1的情況,6為
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版智能航運(yùn)物流船運(yùn)輸合作協(xié)議合同2篇
- 二零二五年測繪數(shù)據(jù)處理與分析合同范本3篇
- 二零二五年特種花卉種子采購合同范本3篇
- 二零二五版商業(yè)街區(qū)保安臨時(shí)工勞動(dòng)合同示范文本3篇
- 二零二五版生態(tài)農(nóng)業(yè)基地種植分包合同3篇
- 河北省二零二五年度二手房買賣合同附帶專業(yè)拆除及清理服務(wù)3篇
- 二零二五年度車輛過戶手續(xù)代理合同3篇
- 二零二五版汽車制造專用管子配件供應(yīng)合同3篇
- 二零二五年度酒店食堂承包服務(wù)合同范本3篇
- 二零二五年度礦業(yè)風(fēng)險(xiǎn)評(píng)估與風(fēng)險(xiǎn)管理合同2篇
- 割接方案的要點(diǎn)、難點(diǎn)及采取的相應(yīng)措施
- 2025年副護(hù)士長競聘演講稿(3篇)
- 2025至2031年中國臺(tái)式燃?xì)庠钚袠I(yè)投資前景及策略咨詢研究報(bào)告
- 原發(fā)性腎病綜合征護(hù)理
- 第三章第一節(jié)《多變的天氣》說課稿2023-2024學(xué)年人教版地理七年級(jí)上冊(cè)
- 2025年中國電科集團(tuán)春季招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年度建筑施工現(xiàn)場安全管理合同2篇
- 建筑垃圾回收利用標(biāo)準(zhǔn)方案
- 2024年考研英語一閱讀理解80篇解析
- 福建省廈門市2023-2024學(xué)年高二上學(xué)期期末考試語文試題(解析版)
- 防火墻施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論