




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、1第三章第三章 黑盒測試用例設計方法黑盒測試用例設計方法 3-2本章內(nèi)容本章內(nèi)容p討論常用的黑盒測試用例設計方法,包括討論常用的黑盒測試用例設計方法,包括 n等價類劃分等價類劃分n邊界值測試邊界值測試n決策表決策表n錯誤猜測錯誤猜測n場景法場景法n正交實驗法正交實驗法n綜合運用黑盒用例設計方法綜合運用黑盒用例設計方法 3-3黑盒測試黑盒測試n把系統(tǒng)看成一個不透明的黑匣,在完全把系統(tǒng)看成一個不透明的黑匣,在完全不考慮系統(tǒng)內(nèi)部結(jié)構(gòu)不考慮系統(tǒng)內(nèi)部結(jié)構(gòu)和處理過程和處理過程的情況下,只關注在選擇的的情況下,只關注在選擇的輸入輸入和相應的執(zhí)行條和相應的執(zhí)行條件下所產(chǎn)生的件下所產(chǎn)生的輸輸出結(jié)果,驗證系統(tǒng)是否
2、達到出結(jié)果,驗證系統(tǒng)是否達到用戶需求用戶需求。n常用的黑盒測試技術包括常用的黑盒測試技術包括p等價類劃分等價類劃分p邊界值測試邊界值測試p決策表決策表p錯誤猜測錯誤猜測1.場景法場景法 3-4p如果你打算測試一個如果你打算測試一個計算器程序的功能,計算器程序的功能,你認為需要進行多少你認為需要進行多少次輸入?次輸入?不可能進行完全的測試不可能進行完全的測試p結(jié)論是不計其數(shù)結(jié)論是不計其數(shù)p整型整型: 從從 1+1 到到 999999999999999999999999999999+ 999999999999999999999999999999p小數(shù)小數(shù):1.0+0.1,1.0+0.2等等等等p鍵
3、盤上的任何一種組合鍵盤上的任何一種組合1.為乘法和除法運算重復上面的操作為乘法和除法運算重復上面的操作 3-5黑盒測試黑盒測試n通常運用一種測試用例設計方法不能獲得理想的測試用例通常運用一種測試用例設計方法不能獲得理想的測試用例集。在設計測試用例時,比較實用的方法是集。在設計測試用例時,比較實用的方法是綜合運用幾種綜合運用幾種設計技術設計技術,取長補短。,取長補短。n進行黑盒測試設計方法的進行黑盒測試設計方法的主要依據(jù)主要依據(jù)是軟件系統(tǒng)需求規(guī)格說是軟件系統(tǒng)需求規(guī)格說明書,之前需要確保說明書是經(jīng)過明書,之前需要確保說明書是經(jīng)過評審評審的。另外,如果沒的。另外,如果沒有說明書的話,可以選擇有說明書
4、的話,可以選擇探索式探索式測試。測試。n黑盒測試思想不僅可以用于測試軟件的功能,同時,也可黑盒測試思想不僅可以用于測試軟件的功能,同時,也可用于測試軟件的用于測試軟件的非功能非功能,如性能、安全、可用性等,如性能、安全、可用性等 3-6等價類劃分等價類劃分p等價類等價類n對一個等價關系而言對一個等價關系而言,某個元素相應的等價類是指與其等某個元素相應的等價類是指與其等價的所有元素的集合:價的所有元素的集合:p等價類中的各個元素具有相同的屬性等價類中的各個元素具有相同的屬性1.(被劃分集合被劃分集合)各個等價類之間不會存在相同的元素,各個等價類之間不會存在相同的元素,它們的并集是被劃分集合的全集
5、它們的并集是被劃分集合的全集 3-7等價類劃分等價類劃分p測試思想測試思想n在進行測試用例設計時,以具有相同的預期結(jié)果為等在進行測試用例設計時,以具有相同的預期結(jié)果為等價劃分原則,將系統(tǒng)的被測試域價劃分原則,將系統(tǒng)的被測試域劃分為劃分為不同的等價類不同的等價類集合,從中集合,從中選出代表作選出代表作為測試用例,以期達到盡可能為測試用例,以期達到盡可能完備同時又可完備同時又可避免冗余避免冗余的測試。的測試。n被被測試域測試域可能是輸入域、輸出域、輸入或輸出域的部可能是輸入域、輸出域、輸入或輸出域的部分或任何其它值得測試的范圍。分或任何其它值得測試的范圍。 3-8等價類劃分等價類劃分p分類分類 n
6、有效等價類:對系統(tǒng)來說是有效的輸入有效等價類:對系統(tǒng)來說是有效的輸入n無效等價類:所有其它可能存在的情況無效等價類:所有其它可能存在的情況p設計測試用例設計測試用例步驟步驟n劃分等價類劃分等價類n確定測試用例:解決如何組合各個被測條件等價類的問確定測試用例:解決如何組合各個被測條件等價類的問題題p完全組合完全組合p部分組合部分組合 3-9劃分等價類劃分等價類(1)-(1)-說明說明在劃分等價類時,可以參考下面的建議:在劃分等價類時,可以參考下面的建議:n如果某個輸入條件規(guī)定如果某個輸入條件規(guī)定值的范圍值的范圍,可以確定一個有效等,可以確定一個有效等價類和兩個無效等價類價類和兩個無效等價類n如果
7、輸入條件規(guī)定了一個如果輸入條件規(guī)定了一個輸入值的集合輸入值的集合,可以確定一個,可以確定一個有效等價類和一個無效等價類。有效等價類和一個無效等價類。1.如果輸入條件是一個如果輸入條件是一個布爾表達式布爾表達式的條件,可以確定一個的條件,可以確定一個有效等價類和一個無效等價類有效等價類和一個無效等價類 3-10劃分等價類劃分等價類(2)(2)p說明說明n如果輸入條件定義了一個如果輸入條件定義了一個“必須必須”的情況,比如的情況,比如”標標識的第一字符必須是字母識的第一字符必須是字母”那么可以確定一個有效等那么可以確定一個有效等價類和一個無效等價類。價類和一個無效等價類。n如果有理由確信,某一等價
8、類中的各元素在程序中的如果有理由確信,某一等價類中的各元素在程序中的處理有區(qū)別,那就把這個等價類分成更小的等價類。處理有區(qū)別,那就把這個等價類分成更小的等價類。 3-11確定測試用例確定測試用例p步驟步驟n劃分等價類劃分等價類。n為每一個有效等價類和無效等價類規(guī)定為每一個有效等價類和無效等價類規(guī)定一個唯一的編號一個唯一的編號。n設計一個測試用例,使其設計一個測試用例,使其盡可能多盡可能多地地覆蓋尚未覆蓋的有覆蓋尚未覆蓋的有效等價類效等價類, 重復這一步直到所有有效等價類均被測試用重復這一步直到所有有效等價類均被測試用例所覆蓋。例所覆蓋。1.設計一個測試用例,使其設計一個測試用例,使其只覆蓋一個
9、無效等價類只覆蓋一個無效等價類,重復,重復這一步,直到所有無效等價類均被覆蓋。這一步,直到所有無效等價類均被覆蓋。 3-12p表示法表示法n使用下面的表格有利于確定測試用例使用下面的表格有利于確定測試用例 3-13例:報表日期例:報表日期設某公司要打印設某公司要打印20012005年的報表,其年的報表,其中報表日期為中報表日期為6位數(shù)字組成,其中,前位數(shù)字組成,其中,前4位為年份,位為年份,后兩位為月份。后兩位為月份。 3-14第一步:劃分等價類第一步:劃分等價類 3-15第二步:為有效等價類設計測試第二步:為有效等價類設計測試用例用例對表中編號為對表中編號為1、2、3的的3個有效等價類用一個
10、有效等價類用一個測試用例覆蓋:個測試用例覆蓋: 3-16第三步:為每一個無效等價類至第三步:為每一個無效等價類至少設計一個測試用例少設計一個測試用例 3-17案例案例p功能說明功能說明nNextDate(年,月,日)是三個變量的函數(shù)。函數(shù)返(年,月,日)是三個變量的函數(shù)。函數(shù)返回輸入日期的下一個日期。變量年份,月份,日期都是回輸入日期的下一個日期。變量年份,月份,日期都是整數(shù)值,且滿足下面的條件:整數(shù)值,且滿足下面的條件: 1900年年 2060 ,1月月 12, 1日日 31. n分析和比較兩種不同的等價類劃分方法以及三種設計的分析和比較兩種不同的等價類劃分方法以及三種設計的結(jié)果。結(jié)果。 3
11、-18參考答案參考答案1 1n等價類及其編號等價類及其編號p測試用例測試用例n覆蓋等價類覆蓋等價類1,2,3: 測試輸入測試輸入=(2006,6,16), 預期結(jié)果預期結(jié)果=(2006,6,17)n覆蓋等價類覆蓋等價類4,2,3: 測試輸入測試輸入=(1890,4,10), 預期結(jié)果預期結(jié)果=“輸入錯誤輸入錯誤!”1.覆蓋等價類覆蓋等價類5,2,3: 測試輸入測試輸入=(2062,4,10), 預期結(jié)果預期結(jié)果=“輸入錯誤輸入錯誤!” 3-19參考答案參考答案1 1p測試用例測試用例n覆蓋等價類覆蓋等價類1,6,3: 測試輸入測試輸入=(2006,-2,16), 預期結(jié)果預期結(jié)果=“輸入錯輸入
12、錯誤誤!”n覆蓋等價類覆蓋等價類1,7,3: 測試輸入測試輸入=(2006,13,16), 預期結(jié)果預期結(jié)果=“輸入錯輸入錯誤誤!”n覆蓋等價類覆蓋等價類1,2,8: 測試輸入測試輸入=(2006,6,0), 預期結(jié)果預期結(jié)果=“輸入錯誤輸入錯誤!”4.覆蓋等價類覆蓋等價類1,2,9: 測試輸入測試輸入=(2006,4,33), 預期結(jié)果預期結(jié)果=“輸入錯誤輸入錯誤!” 3-20參考答案參考答案2 2p另一種答案另一種答案n等價類及其編號等價類及其編號 3-21參考答案參考答案2 2p測試用例測試用例1n覆蓋等價類覆蓋等價類1,3,7: 測試輸入測試輸入=(2000,7,16), 預期結(jié)果預期
13、結(jié)果=(2000,7,17)n覆蓋等價類覆蓋等價類2,4,8: 測試輸入測試輸入=(2006,4,29), 預期結(jié)果預期結(jié)果=(2006,4,30)1.覆蓋等價類覆蓋等價類1,5,9: 測試輸入測試輸入=(2000,2,30), 預期結(jié)果預期結(jié)果=“輸入錯誤輸入錯誤!” 3-22參考答案參考答案2 2p測試用例測試用例1(續(xù))(續(xù))n覆蓋等價類覆蓋等價類2,6,10: 測試輸入測試輸入=(2001,12,31),預期結(jié)果預期結(jié)果=(2002,1,1)n覆蓋等價類覆蓋等價類11,3,7: 測試輸入測試輸入=(1830,3,19), 預期結(jié)果預期結(jié)果=“輸入錯誤輸入錯誤!”4.覆蓋等價類覆蓋等價類
14、12,3,7: 測試輸入測試輸入=(3000,3,19), 預期結(jié)果預期結(jié)果=“輸入錯誤輸入錯誤!” 3-23參考答案參考答案2 2p測試用例測試用例1(續(xù))(續(xù))n覆蓋等價類覆蓋等價類1,13,7: 測試輸入測試輸入=(2004,-2,10),預期結(jié)果預期結(jié)果=“輸入錯誤輸入錯誤!”n覆蓋等價類覆蓋等價類1,14,7: 測試輸入測試輸入=(2004,15,10),預期結(jié)果預期結(jié)果=輸入錯誤輸入錯誤!”n覆蓋等價類覆蓋等價類1,3,15: 測試輸入測試輸入=(2004,8,-2), 預期結(jié)果預期結(jié)果=“輸入錯誤輸入錯誤!”7.覆蓋等價類覆蓋等價類1,3,16: 測試輸入測試輸入=(2004,8
15、,38),預期結(jié)果預期結(jié)果=“輸入錯誤輸入錯誤!” 3-24參考答案參考答案3 3p測試用例測試用例2(續(xù))(續(xù))n覆蓋等價類覆蓋等價類2,3,10: 測試輸入測試輸入=(2001,7,31), 預期結(jié)果預期結(jié)果=(2001,8,1)n覆蓋等價類覆蓋等價類2,4,9: 測試輸入測試輸入=(2006,4,30), 預期結(jié)果預期結(jié)果=(2006,5,1)1.覆蓋等價類覆蓋等價類1,5,8: 測試輸入測試輸入=(2000,2,29), 預期結(jié)果預期結(jié)果=(2000,3,1) 3-25參考答案參考答案3 3p測試用例測試用例2(續(xù))(續(xù))n覆蓋等價類覆蓋等價類2,6,7: 測試輸入測試輸入=(2001
16、,12,15),預期結(jié)果預期結(jié)果=(2001,12,16)n覆蓋等價類覆蓋等價類11,3,7: 測試輸入測試輸入=(1830,3,19), 預期結(jié)果預期結(jié)果=“輸入錯誤輸入錯誤!”4.覆蓋等價類覆蓋等價類12,3,7: 測試輸入測試輸入=(3000,3,19), 預期結(jié)果預期結(jié)果=“輸入錯誤輸入錯誤!” 3-26參考答案參考答案3 3p測試用例測試用例2(續(xù))(續(xù))n覆蓋等價類覆蓋等價類1,13,7: 測試輸入測試輸入=(2004,-2,10),預期結(jié)果預期結(jié)果=“輸入錯誤輸入錯誤!”n覆蓋等價類覆蓋等價類1,14,7: 測試輸入測試輸入=(2004,15,10),預期結(jié)果預期結(jié)果=輸入錯誤輸
17、入錯誤!”n覆蓋等價類覆蓋等價類1,3,15: 測試輸入測試輸入=(2004,8,-2), 預期結(jié)果預期結(jié)果=“輸入錯誤輸入錯誤!”n覆蓋等價類覆蓋等價類1,3,16: 測試輸入測試輸入=(2004,8,38),預期結(jié)果預期結(jié)果=“輸入錯誤輸入錯誤!” 3-27案例討論案例討論p對三種設計結(jié)果的討論對三種設計結(jié)果的討論n每種結(jié)果都覆蓋了一些應該測試的功能點。每種結(jié)果都覆蓋了一些應該測試的功能點。n第一組第一組結(jié)果過多的關注于對無效等價類的測試,結(jié)果過多的關注于對無效等價類的測試,遺漏了遺漏了很多很多NextDateNextDate問題需測試的關鍵點,比如平年閏年、二月、大小月、問題需測試的關鍵
18、點,比如平年閏年、二月、大小月、月底等等。月底等等。n第二組第二組結(jié)果包含了第一組的結(jié)果的基礎上,結(jié)果包含了第一組的結(jié)果的基礎上,增加了增加了對二月、年對二月、年底等的測試。底等的測試。1.1.第三組第三組結(jié)果通過日常知識的運用,使得測試用例結(jié)果通過日常知識的運用,使得測試用例涵蓋了大部分涵蓋了大部分需測試的要點,尤其是測試用例需測試的要點,尤其是測試用例1 1,2 2,3 3的有效性明顯要比前二的有效性明顯要比前二種結(jié)果中的要好,種結(jié)果中的要好,但仍有些遺漏但仍有些遺漏,例如年底、平年的二月等。,例如年底、平年的二月等。 3-28案例討論案例討論p如何再次提高測試用例質(zhì)量呢?如何再次提高測試
19、用例質(zhì)量呢?n在實際測試時,可以考慮增加一些測試用例來在實際測試時,可以考慮增加一些測試用例來補充補充想到但是通想到但是通過使用測試用例設計方法沒有辦法覆蓋到的測試點(實際上,過使用測試用例設計方法沒有辦法覆蓋到的測試點(實際上,運用了運用了錯誤猜測法錯誤猜測法)n根據(jù)功能規(guī)格說明,選取恰當?shù)臏y試用例設計方法。根據(jù)功能規(guī)格說明,選取恰當?shù)臏y試用例設計方法。Nextdate各個輸入變量之間其實各個輸入變量之間其實并不是完全獨立的并不是完全獨立的,在設計,在設計測試用例時并沒有考慮到這點,可以使用:測試用例時并沒有考慮到這點,可以使用:n各個變量之間進行全組合各個變量之間進行全組合n決策表決策表1
20、.綜合運用綜合運用多種測試用例設計方法,以求得測試質(zhì)量與成本之間多種測試用例設計方法,以求得測試質(zhì)量與成本之間的平衡的平衡 3-29p弱一般等價類弱一般等價類n設計若干測試用例,每個測試用例應盡可能多地覆蓋尚未設計若干測試用例,每個測試用例應盡可能多地覆蓋尚未覆蓋的被測變量的有效等價類并且覆蓋的被測變量的有效等價類并且每個被測變量的有效等每個被測變量的有效等價類應至少出現(xiàn)一次價類應至少出現(xiàn)一次.n測試用例測試用例個數(shù)為個數(shù)為:各個被測變量中的最大有效等價類個數(shù):各個被測變量中的最大有效等價類個數(shù).p強一般等價類強一般等價類n設計若干測試用例,使其覆蓋所有被測變量有效等價類的設計若干測試用例,使
21、其覆蓋所有被測變量有效等價類的組合組合.n測試用例測試用例個數(shù)為個數(shù)為:各個被測變量有效等價類數(shù)各個被測變量有效等價類數(shù).等價類方法的補充說明等價類方法的補充說明 3-30p弱健壯等價類弱健壯等價類n設計若干測試用例,每個測試用例應盡可能多地覆蓋尚未覆蓋的有設計若干測試用例,每個測試用例應盡可能多地覆蓋尚未覆蓋的有效等價類,效等價類,對于無效等價類,每個測試用例只考慮一個對于無效等價類,每個測試用例只考慮一個被測變量的被測變量的無效等價類無效等價類n測試用例個數(shù)為:各個被測變量中的最大有效等價類個數(shù)測試用例個數(shù)為:各個被測變量中的最大有效等價類個數(shù)+各個各個被測變量的無效等價類數(shù)被測變量的無效
22、等價類數(shù)p強健壯等價類強健壯等價類n設計若干測試用例,使其覆蓋設計若干測試用例,使其覆蓋所有所有被測變量的有效等價類和無效等被測變量的有效等價類和無效等價類的組合價類的組合n測試用例個數(shù)為:測試用例個數(shù)為:各個被測變量的(有效等價類數(shù)各個被測變量的(有效等價類數(shù)+無效等價類無效等價類數(shù)數(shù))等價類方法的補充說明等價類方法的補充說明 3-31p函數(shù)函數(shù)y = f (x1,x2) 輸入變量的取值范圍分別為輸入變量的取值范圍分別為:x1 a,d, x2 e,g , 根據(jù)規(guī)格說明劃分得相應的等價類根據(jù)規(guī)格說明劃分得相應的等價類nX1:有效等價類有效等價類 a, b) b, c) c, d;無效等價類(;
23、無效等價類(-,a), (d, +)nX2:有效等價類有效等價類 e,f) f,g;無效等價類(;無效等價類(-,e), (g, +)abcdefg圖例圖例 弱一般等價類測試用例弱一般等價類測試用例 強一般等價類測試用例強一般等價類測試用例 弱健壯等價類測試用例弱健壯等價類測試用例 強健壯等價類測試用例強健壯等價類測試用例等價類方法的補充說明等價類方法的補充說明 3-32運用強健壯等價類方法運用強健壯等價類方法p強健壯等價類強健壯等價類n用例個數(shù):用例個數(shù):4*6*6 = 144n利用強健壯等價類獲得的測試用例雖然覆蓋了需測試的各個要利用強健壯等價類獲得的測試用例雖然覆蓋了需測試的各個要點,但
24、是測試用例個數(shù)卻大幅度提高,而且包含了若干無意義點,但是測試用例個數(shù)卻大幅度提高,而且包含了若干無意義的測試用例的測試用例 3-33練習練習 電話號碼電話號碼p城市的電話號碼由兩部分組成。這兩部分的名稱和內(nèi)城市的電話號碼由兩部分組成。這兩部分的名稱和內(nèi)容分別是:容分別是:p 地區(qū)碼:以地區(qū)碼:以0開頭的三位或者四位數(shù)字(包括開頭的三位或者四位數(shù)字(包括0););p電話號碼:以非電話號碼:以非0、非、非1開頭的七位或者八位數(shù)字。開頭的七位或者八位數(shù)字。p假定被調(diào)試的程序能接受一切符合上述規(guī)定的電話號假定被調(diào)試的程序能接受一切符合上述規(guī)定的電話號碼,拒絕所有不符合規(guī)定的號碼,就可用等價分類法碼,拒
25、絕所有不符合規(guī)定的號碼,就可用等價分類法來設計它的調(diào)試用例。來設計它的調(diào)試用例。 3-34劃分等價類并編號劃分等價類并編號 3-35為有效等價類設計測試用例為有效等價類設計測試用例 3-36為每一個無效等價類至少設計一個測試用例為每一個無效等價類至少設計一個測試用例 3-37練習:某學籍管理系統(tǒng)中有增加學生信息練習:某學籍管理系統(tǒng)中有增加學生信息的功能,該功能的說明如下的功能,該功能的說明如下p一條學生信息包括學生的學號、姓名。一條學生信息包括學生的學號、姓名。p學號是學生信息的關鍵字,不能重復。每個班級的學號范圍和學號是學生信息的關鍵字,不能重復。每個班級的學號范圍和學號的數(shù)據(jù)要求見數(shù)據(jù)字典
26、。增加重復學號和非數(shù)據(jù)字典要求學號的數(shù)據(jù)要求見數(shù)據(jù)字典。增加重復學號和非數(shù)據(jù)字典要求的學號時,系統(tǒng)應給出提示。增加信息時,學號是必須輸入的,的學號時,系統(tǒng)應給出提示。增加信息時,學號是必須輸入的,否則,系統(tǒng)應給出提示。下表是數(shù)據(jù)字典中關于學號的要求。否則,系統(tǒng)應給出提示。下表是數(shù)據(jù)字典中關于學號的要求。 3-38p首先,列出所有等價首先,列出所有等價類類,如下表所示如下表所示。 3-39p 選擇測試用例,覆蓋選擇測試用例,覆蓋有效有效等價類,如表所示。等價類,如表所示。選擇測試用例,覆蓋所有的選擇測試用例,覆蓋所有的無效無效等價類,如表所示。等價類,如表所示。 3-40p某程序規(guī)定:某程序規(guī)定
27、:輸入三個整數(shù)輸入三個整數(shù) a 、 b 、 c 分別作為三邊的邊長構(gòu)成三角形。分別作為三邊的邊長構(gòu)成三角形。通過程序判定所構(gòu)成的三角形的類型,當此三角形為一般三角形、等腰三角通過程序判定所構(gòu)成的三角形的類型,當此三角形為一般三角形、等腰三角形及等邊三角形時,分別作計算形及等邊三角形時,分別作計算 。用等價類劃分方法為該程序進行測試。用等價類劃分方法為該程序進行測試用例設計。(三角形問題的復雜之處在于輸入與輸出之間的關系比較復雜。)用例設計。(三角形問題的復雜之處在于輸入與輸出之間的關系比較復雜。)p 分析題目中給出和隱含的對輸入條件的要求:分析題目中給出和隱含的對輸入條件的要求: p (1)整
28、數(shù))整數(shù) (2)三個數(shù))三個數(shù) (3)非零數(shù))非零數(shù) (4)正數(shù))正數(shù) p (5)兩邊之和大于第三邊)兩邊之和大于第三邊 (6)等腰)等腰 (7)等邊)等邊 p 如果如果 a 、 b 、 c 滿足條件(滿足條件( 1 ) ( 4 ),則輸出下列四種情況之一:),則輸出下列四種情況之一:p 1)如果不滿足條件(如果不滿足條件(5),則程序輸出為),則程序輸出為 非三角形非三角形 。p 2)如果三條邊相等即滿足條件(如果三條邊相等即滿足條件(7),則程序輸出為),則程序輸出為 等邊三角形等邊三角形 。p 3)如果只有兩條邊相等、即滿足條件(如果只有兩條邊相等、即滿足條件(6),則程序輸出為),則程
29、序輸出為 等腰三角形等腰三角形 。p 4)如果三條邊都不相等,則程序輸出為如果三條邊都不相等,則程序輸出為 一般三角形一般三角形 。 p 列出等價類表并編號列出等價類表并編號 3-41p邊界值邊界值n任何值得測試的范圍的臨界點,可分為任何值得測試的范圍的臨界點,可分為:n邊界值邊界值:明確地定義在規(guī)格說明書中:明確地定義在規(guī)格說明書中 n次邊界次邊界:隱含在軟件中必須經(jīng)過分析才能獲得:隱含在軟件中必須經(jīng)過分析才能獲得 p測試思想測試思想n取邊界點附近的值作為測試用例的輸入,可參考如下的取邊界點附近的值作為測試用例的輸入,可參考如下的設計原則設計原則:n如果輸入條件定義了數(shù)值區(qū)間如果輸入條件定義
30、了數(shù)值區(qū)間(a,b),那么測試用例應包括,那么測試用例應包括a、b、稍微比稍微比a大、稍微比大、稍微比b大、稍微比大、稍微比a小和稍微比小和稍微比b小等幾種情況小等幾種情況. 舉個例子,如果舉個例子,如果a,b是整數(shù)是整數(shù), 除在除在a,b之間取正常點外,之間取正常點外,a,b,a-1,b-1,a+1,b+1都應被測試都應被測試.邊界值測試邊界值測試 3-42 3-43p覆蓋有效等價類的測試用例:覆蓋有效等價類的測試用例:p a b c 覆蓋等價類號碼覆蓋等價類號碼p 3 4 5 (1)-(7)p 4 4 5 (1)-(7),(),(8)p 4 5 5 (1)-(7),),(9) p 5 4
31、5 (1)-(7),),(10)p 4 4 4 (1)-(7),),(11)p 覆蓋無效等價類的測試用例:覆蓋無效等價類的測試用例: 3-44 3-45p設計應遵循的設計應遵循的原則原則n如果輸入條件規(guī)定了如果輸入條件規(guī)定了值的個數(shù)值的個數(shù), 那么最小個數(shù)、最大個數(shù)、那么最小個數(shù)、最大個數(shù)、大于和小于最小值、大于和小于最大值都應該被測試。大于和小于最小值、大于和小于最大值都應該被測試。n如果程序的如果程序的輸入域是有序集合輸入域是有序集合,則應選取集合的第一個元,則應選取集合的第一個元素和最后一個元素作為測試用例素和最后一個元素作為測試用例n上述原則也適用于上述原則也適用于輸出條件輸出條件n如
32、果在程序中的如果在程序中的數(shù)據(jù)結(jié)構(gòu)有指定的邊界數(shù)據(jù)結(jié)構(gòu)有指定的邊界,那么選擇這個數(shù),那么選擇這個數(shù)據(jù)結(jié)構(gòu)邊界上的值作為測試用例。據(jù)結(jié)構(gòu)邊界上的值作為測試用例。2.分析規(guī)格說明,找出分析規(guī)格說明,找出其它可能的邊界條件其它可能的邊界條件邊界值測試邊界值測試 3-46p功能描述功能描述n某選課系統(tǒng)中規(guī)定每門課程的選修人數(shù)在某選課系統(tǒng)中規(guī)定每門課程的選修人數(shù)在20,60之間,小于之間,小于20人不開設該門選修課,大于人不開設該門選修課,大于60人不接人不接受后面的選課要求。受后面的選課要求。p測試設計測試設計n輸入變量:選課人數(shù)輸入變量:選課人數(shù)n測試輸入測試輸入n選擇當選課人數(shù)分別為選擇當選課人數(shù)
33、分別為19,20,21, 59,60和和61等幾個邊界點等幾個邊界點1.再加上一個正常值點再加上一個正常值點40案例案例 3-47常見的邊界值常見的邊界值 1)對對16-bit 的整數(shù)而言的整數(shù)而言: 32767 和和 -32768 是邊界是邊界 2)屏幕上光標屏幕上光標:在最左上、最右下位置在最左上、最右下位置 3)報表的報表的:第一行和最后一行第一行和最后一行 4)數(shù)組元素的數(shù)組元素的:第一個和最后一個第一個和最后一個 5)循環(huán)的循環(huán)的:第第 0 次、第次、第 1 次和倒數(shù)第次和倒數(shù)第 2 次、最后一次次、最后一次 3-48邊界值測試邊界值測試p從理論上來說,邊界值可分為從理論上來說,邊界
34、值可分為n僅考慮僅考慮有效區(qū)間有效區(qū)間單個變量邊界值單個變量邊界值(一般邊界值):用在(一般邊界值):用在最小值,略高于最小值,最小值,略高于最小值,正常值正常值,略低于最大值和最大,略低于最大值和最大值處取變量的值。如果被測變量個數(shù)為值處取變量的值。如果被測變量個數(shù)為n n,則測試用例個,則測試用例個數(shù)為數(shù)為4n+14n+1n僅考慮僅考慮有效區(qū)間有效區(qū)間多個變量邊界值同時作用多個變量邊界值同時作用(一般最壞情(一般最壞情況邊界值):用各個變量的最小值,略高于最小值,況邊界值):用各個變量的最小值,略高于最小值,正正常值常值,略低于最大值和最大值的笛卡爾積集。如果被測,略低于最大值和最大值的笛
35、卡爾積集。如果被測變量個數(shù)為變量個數(shù)為n n,則測試用例個數(shù)為,則測試用例個數(shù)為5 5n n 3-49邊界值測試邊界值測試n同時考慮有效區(qū)間和無效區(qū)間同時考慮有效區(qū)間和無效區(qū)間單個變量邊界值單個變量邊界值(健壯邊界(健壯邊界值):除了在最小值,略高于最小值,正常值,略低于最大值):除了在最小值,略高于最小值,正常值,略低于最大值和最大值處取變量的值,還要在略超過最大值以及略小于值和最大值處取變量的值,還要在略超過最大值以及略小于最小值之處值。如果被測變量個數(shù)為最小值之處值。如果被測變量個數(shù)為n n,則測試用例個數(shù)為,則測試用例個數(shù)為6n+1.6n+1.n同時考慮有效區(qū)間和無效區(qū)間同時考慮有效區(qū)
36、間和無效區(qū)間多個變量邊界值同時作用多個變量邊界值同時作用(?。ń炎顗那闆r邊界值):用各個變量的略小于最小值,最小值,壯最壞情況邊界值):用各個變量的略小于最小值,最小值,略高于最小值,正常值,略低于最大值,最大值和略超過大略高于最小值,正常值,略低于最大值,最大值和略超過大值的完全組合。如果被測變量個數(shù)為值的完全組合。如果被測變量個數(shù)為n n,則測試用例個數(shù)為,則測試用例個數(shù)為7 7n n 3-50p函數(shù)函數(shù)y = f (x1,x2) 輸入變量的取值范圍分別為輸入變量的取值范圍分別為:x1 a,b, x2 c,d , 邊界值方法邊界值方法abcdX2X1一般邊界值一般邊界值 3-51p函數(shù)函
37、數(shù)y = f (x1,x2) 輸入變量的取值范圍分別為輸入變量的取值范圍分別為:x1 a,b, x2 c,d , 邊界值方法邊界值方法abcdX2X1一般最壞情況邊界值一般最壞情況邊界值 3-52p函數(shù)函數(shù)y = f (x1,x2) 輸入變量的取值范圍分別為輸入變量的取值范圍分別為:x1 a,b, x2 c,d , 邊界值方法邊界值方法健壯邊界值健壯邊界值abcdX2X1 3-53p函數(shù)函數(shù)y = f (x1,x2) 輸入變量的取值范圍分別為輸入變量的取值范圍分別為:x1 a,d, x2 e,g , 邊界值方法邊界值方法健壯最壞邊界值健壯最壞邊界值abcdX2X1 3-54p三角形問題三角形問
38、題p輸入三個不超過輸入三個不超過200的整數(shù),這三個值分別代表三角形三條邊的長度,的整數(shù),這三個值分別代表三角形三條邊的長度,請判斷這三個數(shù)構(gòu)成的三角形是等邊三角形,等腰三角形還是不等邊請判斷這三個數(shù)構(gòu)成的三角形是等邊三角形,等腰三角形還是不等邊三角形并將結(jié)果打印出來。三角形并將結(jié)果打印出來。p測試設計測試設計n三個輸入變量:第一條邊,第二條邊,第三條邊三個輸入變量:第一條邊,第二條邊,第三條邊n測試輸入測試輸入n選擇三條邊長度分別為選擇三條邊長度分別為0,1,2,100,199,200,201等幾等幾個邊界點個邊界點n當僅有一個變量取邊界值,其它取正常值當僅有一個變量取邊界值,其它取正常值.
39、n所有變量取邊界值所有變量取邊界值.案例案例 3-55p三角形問題三角形問題n從得到的結(jié)果看,多變量同時取邊界值得到的測試用例集的質(zhì)量顯從得到的結(jié)果看,多變量同時取邊界值得到的測試用例集的質(zhì)量顯然然沒有僅考慮一個變量邊界值的情況好沒有僅考慮一個變量邊界值的情況好。雖然前者覆蓋了后者所有。雖然前者覆蓋了后者所有的測試用例,但是花費的代價確實不小,前者的測試用例數(shù)是后者的測試用例,但是花費的代價確實不小,前者的測試用例數(shù)是后者的十八倍,預期結(jié)果為的十八倍,預期結(jié)果為“輸入錯誤輸入錯誤”的用例約占總測試用例數(shù)的用例約占總測試用例數(shù)63.6%,而且這些測試用例中的大多數(shù)是沒有意義的,而且這些測試用例中
40、的大多數(shù)是沒有意義的n這主要是因為多變量同時取邊界值關注的是變量同時取邊界值點時這主要是因為多變量同時取邊界值關注的是變量同時取邊界值點時對于功能的影響,對于功能的影響,三角形問題的各個變量之間相對獨立三角形問題的各個變量之間相對獨立,因此對于,因此對于三角形問題僅考慮使用一個變量取邊界值,另外一個變量取正常值三角形問題僅考慮使用一個變量取邊界值,另外一個變量取正常值的情況就可以了的情況就可以了案例討論案例討論 3-56p邊界值測試比較適合運用在有下列含義的變量上邊界值測試比較適合運用在有下列含義的變量上n數(shù)值數(shù)值n字母字母n位置位置n數(shù)量數(shù)量n速度速度n大小大小邊界值測試邊界值測試 3-57
41、p除了遵循前面論述的邊界值設計原則,還應考慮測試下面的情況除了遵循前面論述的邊界值設計原則,還應考慮測試下面的情況n第一個第一個/最后一個最后一個, 第一個第一個-1/最后一個最后一個+1n開始開始/結(jié)束結(jié)束, 開始開始-1/結(jié)束結(jié)束+1n超過超過/低于低于, 剛剛超過剛剛超過/剛剛低于剛剛低于n空的空的/滿的滿的, 比空的少點比空的少點/比滿的多些比滿的多些n最短的最短的/最長的最長的, 稍微短點稍微短點/稍微長點稍微長點n最慢的最慢的/最快的最快的, 稍微慢點稍微慢點/稍微快點稍微快點n最早的最早的/最晚的最晚的, 稍微早點稍微早點/稍微晚點稍微晚點n最大的最大的/最小的最小的, 最大的最
42、大的+1/最小的最小的-1n最高的最高的/最低的最低的, 最高的最高的+1/最低的最低的-1n距離最近的距離最近的/距離最遠的距離最遠的邊界值測試邊界值測試 3-58邊界值測試思想討論邊界值測試思想討論p對于輸出變量的邊界上同樣可以考慮使用邊界值測試對于輸出變量的邊界上同樣可以考慮使用邊界值測試.p雖然邊界值測試是以黑盒測試方法的面貌出現(xiàn),但是雖然邊界值測試是以黑盒測試方法的面貌出現(xiàn),但是其思想不僅可以用于測試功能,同樣可以將邊界值測其思想不僅可以用于測試功能,同樣可以將邊界值測試的思想用于測試代碼試的思想用于測試代碼.p參見書參見書P47的示例:代碼的示例:代碼 3-59與等價劃分的區(qū)別與等
43、價劃分的區(qū)別p邊界值分析使用與等價類劃分法相同的劃邊界值分析使用與等價類劃分法相同的劃分。分。p只是邊界值分析假定錯誤更多地存在于劃只是邊界值分析假定錯誤更多地存在于劃分的邊界上,邊界值分析不是從某等價類分的邊界上,邊界值分析不是從某等價類中隨便挑一個作為代表,而是在等價類的中隨便挑一個作為代表,而是在等價類的邊界上以及兩側(cè)的情況設計測試用例。邊界上以及兩側(cè)的情況設計測試用例。 3-60邊界值分析邊界值分析p例:例:測試計算平方根的函數(shù)測試計算平方根的函數(shù) 輸入:實數(shù)輸入:實數(shù) 輸出:實數(shù)輸出:實數(shù) 規(guī)格說明:當輸入一個規(guī)格說明:當輸入一個0或比或比0大的數(shù)的時候,大的數(shù)的時候,返回其正平方根
44、;當輸入一個小于返回其正平方根;當輸入一個小于0的數(shù)時,顯示的數(shù)時,顯示錯誤信息錯誤信息“平方根非法平方根非法-輸入值小于輸入值小于0”并返回;并返回; 3-61p等價類劃分:等價類劃分:n可以考慮作出如下劃分:可以考慮作出如下劃分:p輸入輸入 (i)=0p輸出輸出 (a)=0 和和 (b) Errorn測試用例測試用例p邊界值分析:邊界值分析:n劃分劃分(ii)的邊界為的邊界為0和最大正實數(shù);劃分和最大正實數(shù);劃分(i)的邊界為最的邊界為最小負實數(shù)和小負實數(shù)和0。由此得到以下測試用例:。由此得到以下測試用例:p輸入輸入 最小負實數(shù)最小負實數(shù)p輸入輸入 絕對值很小的負數(shù)絕對值很小的負數(shù)p輸入輸
45、入 0p輸入輸入 絕對值很小的正數(shù)絕對值很小的正數(shù)p輸入輸入 最大正實數(shù)最大正實數(shù) 3-62決策表決策表 p定義定義n決策表由四個部分組成,分別是條件樁決策表由四個部分組成,分別是條件樁(condition stub), 條件項條件項(condition entry), 動作樁動作樁(action stub)和動作項(和動作項(action entry). n條件樁是條件的列表條件樁是條件的列表 n動作樁是滿足條件時系統(tǒng)可能產(chǎn)生的動作的列表動作樁是滿足條件時系統(tǒng)可能產(chǎn)生的動作的列表.n條件項是條件值的組合條件項是條件值的組合 n動作項是在條件值組合情況下發(fā)生的動作動作項是在條件值組合情況下發(fā)生
46、的動作n表中的每一列稱為一條規(guī)則。規(guī)則定義了動作在什么條件下發(fā)生表中的每一列稱為一條規(guī)則。規(guī)則定義了動作在什么條件下發(fā)生p決策表分為決策表分為n有限項決策表:每個條件只有兩個值有限項決策表:每個條件只有兩個值,如如Y/N, T/F,1/0 等等.1.擴展項決策表:條件項的取值有多個(大于擴展項決策表:條件項的取值有多個(大于2個)個) 3-63決策表示例決策表示例p下面的決策表描述了讀書時的場景下面的決策表描述了讀書時的場景條件樁條件樁動作樁動作樁條件項條件項動作項動作項規(guī)則規(guī)則 3-64決策表決策表 p和測試用例之間的關系和測試用例之間的關系n一條規(guī)則對應一個測試用例一條規(guī)則對應一個測試用例
47、, 條件項構(gòu)成了測試用例的輸入,相應的動作條件項構(gòu)成了測試用例的輸入,相應的動作項則是預期結(jié)果項則是預期結(jié)果輸入條件輸入條件輸出結(jié)果輸出結(jié)果測試輸入測試輸入預期結(jié)果預期結(jié)果測試用例測試用例條件樁條件樁動作樁動作樁條件項條件項動作項動作項 3-65不相關項不相關項p為了減少測試用例的個數(shù),我們可以合并具有相同動作結(jié)果的規(guī)則為了減少測試用例的個數(shù),我們可以合并具有相同動作結(jié)果的規(guī)則第一個條件無論取何值都會產(chǎn)生相同的動作,所以我們可以將第一條規(guī)則和第五條規(guī)則利用不相關項進行合并 3-66不相關項不相關項p不相關項用不相關項用“-”表示表示. p規(guī)則數(shù)降低到規(guī)則數(shù)降低到4,相應的測試用例數(shù)也降低到,相
48、應的測試用例數(shù)也降低到4 3-67決策表決策表 p決策表設計測試用例的步驟決策表設計測試用例的步驟n分析規(guī)格說明確定條件和動作分析規(guī)格說明確定條件和動作n將條件和動作分別填入條件樁和動作樁中將條件和動作分別填入條件樁和動作樁中n在條件項中,根據(jù)邏輯關系填入條件的各種組合情況在條件項中,根據(jù)邏輯關系填入條件的各種組合情況n在動作項中,根據(jù)規(guī)格說明,給每個條件的組合情況填在動作項中,根據(jù)規(guī)格說明,給每個條件的組合情況填入相應的動作入相應的動作n重復步驟重復步驟3、4直到所有邏輯關系被遍歷完為止直到所有邏輯關系被遍歷完為止 3-68有限項決策表有限項決策表p示例示例n三角形問題:輸入三個整數(shù),這三個
49、值分別表示三角形三條邊的長度,請三角形問題:輸入三個整數(shù),這三個值分別表示三角形三條邊的長度,請判斷這個三角形是等邊三角形,還是等腰三角形還是不等邊三角形并打印判斷這個三角形是等邊三角形,還是等腰三角形還是不等邊三角形并打印相應的結(jié)果相應的結(jié)果na,b,c 分別代表輸入的整數(shù),三角形問題的決策表為:分別代表輸入的整數(shù),三角形問題的決策表為: 3-69有限項決策表有限項決策表p測試用例測試用例n規(guī)則規(guī)則1:1:測試輸入測試輸入 = (60,16,26), = (60,16,26), 預期結(jié)果預期結(jié)果 = = 非三角形非三角形n規(guī)則規(guī)則2:2:測試輸入測試輸入 = (50,50,0), = (50
50、,50,0), 預期結(jié)果預期結(jié)果 = = 非三角形非三角形n規(guī)則規(guī)則3:3:測試輸入測試輸入 = (0,0,0), = (0,0,0), 預期結(jié)果預期結(jié)果 = = 非三角形非三角形n規(guī)則規(guī)則4:4:測試輸入測試輸入 = (60,60,60), = (60,60,60), 預期結(jié)果預期結(jié)果 = = 等邊三角形等邊三角形 3-70有限項決策表有限項決策表p測試用例測試用例n規(guī)則規(guī)則5:5:這種組合在現(xiàn)實中不可能存在這種組合在現(xiàn)實中不可能存在n規(guī)則規(guī)則6:6:這種組合在現(xiàn)實中不可能存在這種組合在現(xiàn)實中不可能存在n規(guī)則規(guī)則7:7:測試輸入測試輸入 = (60,60,26), = (60,60,26),
51、 預期結(jié)果預期結(jié)果 = = 等腰三角形等腰三角形n規(guī)則規(guī)則8:8:這種組合在現(xiàn)實中不可能存在這種組合在現(xiàn)實中不可能存在 3-71有限項決策表有限項決策表p測試用例測試用例n規(guī)則規(guī)則9:9:測試輸入測試輸入 = (60,26,60), = (60,26,60), 預期結(jié)果預期結(jié)果 = = 等腰三角形等腰三角形. .n規(guī)則規(guī)則10:10:測試輸入測試輸入 = (26,60,60), = (26,60,60), 預期結(jié)果預期結(jié)果 = = 等腰三角形等腰三角形n規(guī)則規(guī)則11:11:測試輸入測試輸入 = (30,40,50), = (30,40,50), 預期結(jié)果預期結(jié)果 = = 不等邊三角形不等邊三角
52、形 3-72有限項決策表有限項決策表p注意注意:n一共有一共有8個測試用例個測試用例 n這這8個測試用例僅僅測試了三角形問題的邏輯個測試用例僅僅測試了三角形問題的邏輯 3-73擴展項決策表擴展項決策表p示例示例nNextDateNextDate(年,月,日)是三個變量的函數(shù)。函數(shù)返回輸入日期的下一個(年,月,日)是三個變量的函數(shù)。函數(shù)返回輸入日期的下一個日期。變量年份,月份,日期都是整數(shù)值,且滿足下面的條件:日期。變量年份,月份,日期都是整數(shù)值,且滿足下面的條件: 19001900年年 2060 ,12060 ,1月月 12, 112, 1日日 3131n如果你選擇有限項決策表,那么表中會存在
53、如果你選擇有限項決策表,那么表中會存在256條規(guī)則條規(guī)則. 試試下面的方法試試下面的方法n日期的值包括日期的值包括pD1=從從1到到27pD2=28pD3=29pD4=30pD5=31n年份的值包括年份的值包括pY1=閏年閏年pY2=平年平年 n月份的值包括月份的值包括pM1=31天的月,除去天的月,除去12月月pM2=30天的月天的月pM3=2月月pM4=12月月 3-74擴展項決策表擴展項決策表pNextDate問題的擴展項決策表問題的擴展項決策表:n日期的值包括日期的值包括pD1=從從1到到27pD2=28pD3=29pD4=30pD5=31n年份的值包括年份的值包括pY1=閏年閏年pY
54、2=平年平年 n月份的值包括月份的值包括pM1=31天的月,除去天的月,除去12月月pM2=30天的月天的月pM3=2月月pM4=12月月 3-75擴展項決策表擴展項決策表p測試用例測試用例n規(guī)則規(guī)則1:測試輸入測試輸入 = (2007,7,19), 預期結(jié)果預期結(jié)果 = “2007-7-20”n規(guī)則規(guī)則2:測試輸入測試輸入 = (2007,7,31), 預期結(jié)果預期結(jié)果 = “2007-8-1”n規(guī)則規(guī)則3:測試輸入測試輸入 = (2007,9,25), 預期結(jié)果預期結(jié)果 = “2007-9-26”n規(guī)則規(guī)則4:測試輸入測試輸入 = (2007,9,30), 預期結(jié)果預期結(jié)果 = “2007
55、-10-1” 3-76擴展項決策表擴展項決策表p測試用例測試用例n規(guī)則規(guī)則5:測試輸入測試輸入 = (2007,11,31),預期結(jié)果,預期結(jié)果 = “日期輸入錯誤日期輸入錯誤”n規(guī)則規(guī)則6:測試輸入測試輸入 = (2000,2,15), 預期結(jié)果預期結(jié)果 = “2000-2-16”n規(guī)則規(guī)則7:測試輸入測試輸入 = (2000,2,29), 預期結(jié)果預期結(jié)果 = “2000-3-1”n規(guī)則規(guī)則8:測試輸入測試輸入 = (2000,2,30), 預期結(jié)果預期結(jié)果 = “日期輸入錯誤日期輸入錯誤” 3-77擴展項決策表擴展項決策表p測試用例測試用例n規(guī)則規(guī)則9:測試輸入測試輸入 = (2007,
56、2,15), 預期結(jié)果預期結(jié)果 = “2007-2-16”n規(guī)則規(guī)則10:測試輸入測試輸入 = (2007,2,28), 預期結(jié)果預期結(jié)果 = “2007-3-1”n規(guī)則規(guī)則11: 測試輸入測試輸入 = (2007,2,28), 預期結(jié)果預期結(jié)果 = “日期輸入錯誤日期輸入錯誤”n規(guī)則規(guī)則12: 測試輸入測試輸入 = (2006,12,16), 預期結(jié)果預期結(jié)果 = “2006-12-17”n規(guī)則規(guī)則13: 測試輸入測試輸入 = (2006,12,31), 預期結(jié)果預期結(jié)果 = “2007-1-1” 3-78建議建議 p建議建議 n當測試邏輯時,決策表是一個非常好的選擇當測試邏輯時,決策表是一
57、個非常好的選擇. n為了降低測試用例個數(shù),可以使用擴展項決策表為了降低測試用例個數(shù),可以使用擴展項決策表n決策表并不是專用于設計測試用例的方法,它同樣可以決策表并不是專用于設計測試用例的方法,它同樣可以應用于其他方面,例如需求分析應用于其他方面,例如需求分析 3-79錯誤猜測錯誤猜測 p定義定義 n基于經(jīng)驗和直覺推測程序中可能存在的各種錯誤基于經(jīng)驗和直覺推測程序中可能存在的各種錯誤, 針對這些錯誤設針對這些錯誤設計相應的測試用例計相應的測試用例n常作為一種補充測試用例的設計方法常作為一種補充測試用例的設計方法pStepsn錯誤猜測設計法是一個在很大程度上憑直覺進行的比較隨意的過程錯誤猜測設計法
58、是一個在很大程度上憑直覺進行的比較隨意的過程n用列表舉出程序中可能有的錯誤和容易發(fā)生錯誤的特殊情況用列表舉出程序中可能有的錯誤和容易發(fā)生錯誤的特殊情況n基于該列表構(gòu)造測試用例基于該列表構(gòu)造測試用例 3-80使用用例進行需求建模使用用例進行需求建模 p利用用例進行需求進行建模的輸出物,包括利用用例進行需求進行建模的輸出物,包括n用例模型用例模型n術語表術語表n補充規(guī)格說明補充規(guī)格說明 3-81用例模型(用例模型(Use Case ModelUse Case Model) p用例模型用例模型n使用用例(使用用例(Use Case)描述系統(tǒng)功能的模型,包描述系統(tǒng)功能的模型,包含含n用例圖(用例圖(U
59、se Case Diagram)n每個用例的規(guī)格說明每個用例的規(guī)格說明(Use case Specification) 3-82用例規(guī)格說明用例規(guī)格說明 p用例規(guī)格說明用例規(guī)格說明n是文本描述,利用結(jié)構(gòu)化自然語言是文本描述,利用結(jié)構(gòu)化自然語言 3-83事件流事件流 p事件流組成事件流組成n基本流(基本流(Basic Flow)p僅有一個基本流,如圖中的白色箭僅有一個基本流,如圖中的白色箭頭頭p是經(jīng)過用例的最簡單的路徑是經(jīng)過用例的最簡單的路徑,指每個指每個步驟都步驟都“正常正?!边\作時所發(fā)生的事運作時所發(fā)生的事情情n備選流(備選流(Alternative Flow)p可以有多個,描述基本流步驟可
60、以有多個,描述基本流步驟p可選的或備選的情況可選的或備選的情況1.異常事件流程異常事件流程事件流的結(jié)構(gòu)事件流的結(jié)構(gòu) 3-84場景場景 p定義定義n場景是事件流的一個場景是事件流的一個實例實例,由基本流或基本由基本流或基本流和備選流中的步驟流和備選流中的步驟組成,表明了用戶執(zhí)組成,表明了用戶執(zhí)行系統(tǒng)的操作序列。行系統(tǒng)的操作序列。 3-85從事件流到場景從事件流到場景 p從事件流到場景從事件流到場景n場景可以遍歷所有從用例開始到結(jié)束的包含基本場景可以遍歷所有從用例開始到結(jié)束的包含基本流和備選流的路徑流和備選流的路徑 n場景場景1:基本流;:基本流;n場景場景2:基本流、備選流:基本流、備選流1;n
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 兒童畫水餃課件
- 2025年城固縣職業(yè)教育中心招聘考試筆試試題【答案】
- 2025年東營市國有資本投資集團有限公司招聘考試試題【答案】
- 2025年黑龍江佳木斯北大荒航空有限招聘考試筆試試題【答案】
- 導購培訓課件
- 兒童畫夕陽剪影課件
- 人教版英語說課課件模板
- 《范進中舉》課件 統(tǒng)編版語文九年級上冊
- 杭州西湖一模數(shù)學試卷
- 海南高三省質(zhì)檢數(shù)學試卷
- 管道施工應急預案
- 貿(mào)易安全培訓
- 2025年1月國家開放大學法學本科《中國法律史》期末紙質(zhì)考試試題及答案
- 初中地理跨學科主題學習設計與實施
- 2021衛(wèi)生監(jiān)督法律法規(guī)知識競賽題庫及答案
- 懲罰游戲?qū)W校班會公司早會小游戲晨會年會團建課堂娛樂互動340
- 中國郵政集團有限公司國企招聘筆試真題2024
- 電腦供貨方案、售后服務方案
- 姜黃素項目投資可行性研究報告
- 2025年云南省康旅控股集團有限公司招聘筆試參考題庫含答案解析
- 八年級數(shù)學下冊 第二學期 期末綜合測試卷(湘教版 2025年春)(二)
評論
0/150
提交評論