黑盒測試等價類劃分._第1頁
黑盒測試等價類劃分._第2頁
黑盒測試等價類劃分._第3頁
黑盒測試等價類劃分._第4頁
黑盒測試等價類劃分._第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院軟件測試第五講第五講 黑盒測試黑盒測試2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院黑盒測試方法黑盒測試方法總覽總覽n 1. 1.基于需求的測試基于需求的測試n 2.2.正面測試和負面測試正面測試和負面測試n 3.3.等價類劃分等價類劃分n 4.4.邊界值分析邊界值分析n 5.5.因果圖分析法因果圖分析法n 6.6.決策表決策表n 7.7.基于圖基于圖/ /狀態(tài)的測試狀態(tài)的測試n 8.8.正交數(shù)組測試正交數(shù)組測試n 2022年年7月月6日日Softw

2、are Testing軟件測試軟件測試南京師范大學 計算機學院黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 等價類劃分方法基礎等價類劃分方法基礎等價類劃分方法的產(chǎn)生背景:等價類劃分方法的產(chǎn)生背景: l功能測試最主要的手段之一就是借助數(shù)據(jù)的輸入輸出功能測試最主要的手段之一就是借助數(shù)據(jù)的輸入輸出來判斷功能能否正常運行來判斷功能能否正常運行;l如果需要證明數(shù)據(jù)輸入不會引起功能上的錯誤,或者如果需要證明數(shù)據(jù)輸入不會引起功能上的錯誤,或者其輸出結果在各種輸入條件下都是正確的,就需要將其輸出結果在各種輸入條件下都是正確的,就需要將可輸入數(shù)據(jù)域內的值完全嘗試可輸入數(shù)據(jù)域內的值完全嘗試 通常無法實現(xiàn)通常無法

3、實現(xiàn) 選取少量具有代表性的輸入數(shù)據(jù),以期用較少的測選取少量具有代表性的輸入數(shù)據(jù),以期用較少的測試代價暴露出較多的軟件缺陷試代價暴露出較多的軟件缺陷2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 等價類劃分方法基礎等價類劃分方法基礎等價類劃分方法的基本思想:等價類劃分方法的基本思想:l試用一組有限的數(shù)據(jù)去代表近似無限的數(shù)據(jù)域試用一組有限的數(shù)據(jù)去代表近似無限的數(shù)據(jù)域l選擇適當?shù)臄?shù)據(jù)子集來代表整個數(shù)據(jù)集,通過降低測選擇適當?shù)臄?shù)據(jù)子集來代表整個數(shù)據(jù)集,通過降低測試的數(shù)目去實現(xiàn)試的數(shù)目去實現(xiàn)“合理的合理的”覆

4、蓋(覆蓋更多的可能數(shù)覆蓋(覆蓋更多的可能數(shù)據(jù)),以發(fā)現(xiàn)更多的軟件缺陷,提高測試效率據(jù)),以發(fā)現(xiàn)更多的軟件缺陷,提高測試效率2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院 等價類劃分法是一種等價類劃分法是一種重要的重要的、常用的常用的黑盒測試方法:黑盒測試方法:把所有可能的輸入數(shù)據(jù),即把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分為若干部分(子程序的輸入域劃分為若干部分(子集),然后從每一個子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測集),然后從每一個子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例試用例;將將不能窮舉的測試過程進行合理分類不能窮舉的測試過程進行合理

5、分類,保證設計出來的測試用,保證設計出來的測試用例具有完整性和代表性。例具有完整性和代表性。 優(yōu)點:優(yōu)點:采用少量測試用例就能實現(xiàn)不錯的覆蓋率,并最采用少量測試用例就能實現(xiàn)不錯的覆蓋率,并最大限度降低測試的冗余大限度降低測試的冗余黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 等價類劃分方法基礎等價類劃分方法基礎2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院 所謂所謂等價類等價類是指是指某個輸入域的子集合某個輸入域的子集合 在該子集合中,各個輸入數(shù)據(jù)在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤對于揭露程序中的錯誤都是等效的都是等效的,它們具有

6、,它們具有等價性等價性,即每一類的代表性數(shù)據(jù)在,即每一類的代表性數(shù)據(jù)在測試中的作用都等價于這一類中的其它數(shù)據(jù)。測試中的作用都等價于這一類中的其它數(shù)據(jù)。 因此,對于表征該類的數(shù)據(jù)輸入將能代表整個子集合的因此,對于表征該類的數(shù)據(jù)輸入將能代表整個子集合的輸入。輸入。 進而,可以合理的假定進而,可以合理的假定: 測試某等價類的代表值等效于這一類其它值的測試測試某等價類的代表值等效于這一類其它值的測試黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 等價類劃分方法基礎等價類劃分方法基礎2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院 等價類是輸入域的某個子集

7、合,而所有等價類的等價類是輸入域的某個子集合,而所有等價類的并集就是整個輸入域。并集就是整個輸入域。 等價類對于測試有兩個重要的特征等價類對于測試有兩個重要的特征:完備性完備性并集為整個輸入域并集為整個輸入域無冗余性無冗余性等價類互不相交等價類互不相交黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 等價類劃分方法基礎等價類劃分方法基礎2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院(1 1)有效等價類)有效等價類 是指對軟件規(guī)格說明而言,是指對軟件規(guī)格說明而言,有意義的、合理的輸有意義的、合理的輸入數(shù)據(jù)入數(shù)據(jù)所組成的集合。利用有效等價類,能夠檢驗

8、被測系所組成的集合。利用有效等價類,能夠檢驗被測系統(tǒng)是否實現(xiàn)了規(guī)格說明中預先規(guī)定的功能和性能。統(tǒng)是否實現(xiàn)了規(guī)格說明中預先規(guī)定的功能和性能。(2 2)無效等價類)無效等價類 是指對軟件規(guī)格說明而言,是指對軟件規(guī)格說明而言,無意義的、不合理的無意義的、不合理的輸入數(shù)據(jù)輸入數(shù)據(jù)所構成的集合。利用無效等價類,可以鑒別被測所構成的集合。利用無效等價類,可以鑒別被測系統(tǒng)的容錯性,如:異常輸入處理的情況等。系統(tǒng)的容錯性,如:異常輸入處理的情況等。黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 等價類劃分等價類劃分2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院

9、 (1 1)有效等價類()有效等價類(2 2)無效等價類)無效等價類 黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 等價類劃分等價類劃分設計測試用例時,要同時考設計測試用例時,要同時考慮這兩種等價類。因為軟件慮這兩種等價類。因為軟件不僅要能接收合理的數(shù)據(jù),不僅要能接收合理的數(shù)據(jù),也要能經(jīng)受意外的考驗。經(jīng)也要能經(jīng)受意外的考驗。經(jīng)過正反的測試才能確保軟件過正反的測試才能確保軟件具有更高的可靠性。具有更高的可靠性。all inputsi1i4i2i32022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院如何劃分?如何劃分? 先從程序的規(guī)格說明書中找出各個輸

10、入先從程序的規(guī)格說明書中找出各個輸入條件,再為每個輸入條件劃分兩個或多個等價類,條件,再為每個輸入條件劃分兩個或多個等價類,形成若干的互不相交的子集。形成若干的互不相交的子集。 (1 1)選擇等價類)選擇等價類劃分準則劃分準則 (2 2)確定等價類,列出等價類表)確定等價類,列出等價類表黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 等價類劃分方法基礎等價類劃分方法基礎2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院(1)按照區(qū)間劃分)按照區(qū)間劃分 在輸入條件規(guī)定了取值范圍或值的個數(shù)在輸入條件規(guī)定了取值范圍或值的個數(shù)的情況下,可以確定一個有效等價

11、類和兩個無效等價類。的情況下,可以確定一個有效等價類和兩個無效等價類。黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 劃分準則劃分準則in rangegreater than rangeless than rangevaluegreater than valueless than value例:例:程序輸入條件為小于程序輸入條件為小于100100大于大于1010的整數(shù)的整數(shù)x x則有則有效等價類為效等價類為1010 x x100100,兩個,兩個無效等價類為無效等價類為x10 x10和和x100 x100。2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計

12、算機學院例:例:程序輸入程序輸入x取值于一個固定的枚舉類型取值于一個固定的枚舉類型1,3,7,15,且程序,且程序 中對這中對這4個數(shù)值分別進行了處理,個數(shù)值分別進行了處理,則則有效等價類為有效等價類為x=1、x=3、 x=7、x=15, 無效等價類為無效等價類為x1,3,7,15的值的集合的值的集合。(2)按照數(shù)值劃分)按照數(shù)值劃分 在規(guī)定了一組輸入數(shù)據(jù)(假設包括在規(guī)定了一組輸入數(shù)據(jù)(假設包括 n個個 輸入值),并且程序要對每一個輸入值分別進行處理的情況輸入值),并且程序要對每一個輸入值分別進行處理的情況下,可確定下,可確定 n 個有效等價類(每個值確定一個有效等價類)個有效等價類(每個值確

13、定一個有效等價類)和一個無效等價類(所有不允許的輸入值的集合)。和一個無效等價類(所有不允許的輸入值的集合)。黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 劃分準則劃分準則2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院(3)按照數(shù)值集合劃分)按照數(shù)值集合劃分 在輸入條件規(guī)定了輸入值的集合或在輸入條件規(guī)定了輸入值的集合或規(guī)定了規(guī)定了“必須如何必須如何”的條件下,可以確定一個有效等價類和的條件下,可以確定一個有效等價類和一個無效等價類(該集合有效值之外)。一個無效等價類(該集合有效值之外)。例:例:程序輸入條件為取值為奇數(shù)的整數(shù)程序輸入條件為取值

14、為奇數(shù)的整數(shù)x x,則則有效等價類為有效等價類為x x的值為奇數(shù)的整數(shù)的值為奇數(shù)的整數(shù), 無無效等價類為效等價類為x x的值不為奇數(shù)的整數(shù)的值不為奇數(shù)的整數(shù)。黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 劃分準則劃分準則not member of setmember of set2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院(3)按照數(shù)值集合劃分)按照數(shù)值集合劃分 在輸入條件是一個布爾量的情況在輸入條件是一個布爾量的情況下,可確定一個有效等價類和一個無效等價類下,可確定一個有效等價類和一個無效等價類 黑盒測試方法黑盒測試方法等價類劃分等價類劃

15、分n 劃分準則劃分準則BooleanNon-Boolean2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院例:例:程序輸入條件為以字符程序輸入條件為以字符aa開頭、長度為開頭、長度為8 8的字符串,并且字符串不的字符串,并且字符串不包含包含a za z之外的其它字符,之外的其它字符,則則有效等價類為滿足了上述所有條件的字符串有效等價類為滿足了上述所有條件的字符串, 無效等價類為:不以無效等價類為:不以aa開頭的字符串開頭的字符串、長度不為長度不為8 8的字符串的字符串和和包含了包含了a za z之外其它字符的字符串之外其它字符的字符串。(4)按照

16、限制條件或規(guī)則劃分)按照限制條件或規(guī)則劃分 在規(guī)定了輸入數(shù)據(jù)必須遵在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則或限制條件的情況下,可確定一個有效等價類(符守的規(guī)則或限制條件的情況下,可確定一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 劃分準則劃分準則2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院(5)細分等價類)細分等價類 在確知已劃分的等價類中各元素在程序中在確知已劃分的等價類中各元素在程序中的處理方式不同的情況下,則應再將該等價類進一步

17、劃分為的處理方式不同的情況下,則應再將該等價類進一步劃分為更小的等價類,并建立等價類表。更小的等價類,并建立等價類表。 黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 劃分準則劃分準則2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 根據(jù)等價類創(chuàng)建測試用例的具體步驟根據(jù)等價類創(chuàng)建測試用例的具體步驟l1 1、建立等價類表,列出所有等價類:建立等價類表,列出所有等價類:l2 2、為每個等價類規(guī)定一個唯一的編號;、為每個等價類規(guī)定一個唯一的編號;l3 3、設計一個新的測試用例,、設計一個新的測試用例,使其盡

18、可能多地覆蓋尚未使其盡可能多地覆蓋尚未覆蓋的有效等價類覆蓋的有效等價類;l4 4、重復、重復3 3,使得所有有效等價類均被測試用例覆蓋;,使得所有有效等價類均被測試用例覆蓋;l5 5、設計一個新的測試用例,、設計一個新的測試用例,使其只覆蓋一個無效等價使其只覆蓋一個無效等價類類 ;l7 7、重復、重復5 5,使所有無效等價類均被覆蓋,使所有無效等價類均被覆蓋輸入條件有效等價類無效等價類2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 實例實例1 1年齡段年齡段額外保險費額外保險費35歲以下歲以下1.6

19、535-592.8760歲以上歲以上6.00人壽保險費率(基本保險費人壽保險費率(基本保險費0.50)2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 實例實例1(粗略)(粗略)序號序號等價類等價類輸入類型輸入類型測試數(shù)據(jù)測試數(shù)據(jù)預期結果預期結果1低于低于35歲歲有效有效26,12月保險費月保險費=2.15235-59歲歲有效有效37月保險費月保險費=3.37360-99歲歲有效有效65,90月保險費月保險費=6.504負年歲負年歲無效無效-23警告信息警告信息50歲歲無效無效0警告信息警告信息人壽保

20、險費率對應等價類人壽保險費率對應等價類699歲以上歲以上無效無效158警告信息警告信息2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院 保險公司的人壽保險費率依保險公司的人壽保險費率依點數(shù)點數(shù)不同而有別,不同而有別,1010點及點及1010點點以上保險費為以上保險費為0.6%0.6%,1010點以下保險費率為點以下保險費率為0.1%0.1%;而點數(shù)又;而點數(shù)又是由投保人的年齡、性別、婚姻狀況和撫養(yǎng)人數(shù)來決定,是由投保人的年齡、性別、婚姻狀況和撫養(yǎng)人數(shù)來決定,具體規(guī)則如下:具體規(guī)則如下:年齡年齡 性別性別婚姻婚姻撫養(yǎng)人數(shù)撫養(yǎng)人數(shù) 2039 4059

21、 其它其它 M F 已婚已婚 未婚未婚 1人扣人扣0.5點點 最多扣最多扣3點點(四舍五入取整)(四舍五入取整) 6點點 4點點 2點點 5點點 3點點 3點點 5點點黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 實例實例2 2 人壽保險費率人壽保險費率2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院(1)分析程序規(guī)格說明中)分析程序規(guī)格說明中給出和隱含的給出和隱含的對輸入條件的要求對輸入條件的要求 年齡:一位或兩位非零整數(shù),值的有效范圍為年齡:一位或兩位非零整數(shù),值的有效范圍為199 性別:一位英文字符,只能取值性別:一位英文字符,只能取值M

22、或或F 婚姻:字符,只能取值婚姻:字符,只能取值已婚已婚或或未婚未婚 撫養(yǎng)人數(shù):空白或一位非零整數(shù)(撫養(yǎng)人數(shù):空白或一位非零整數(shù)(19) 點數(shù)點數(shù) :一位或兩位非零整數(shù),值的范圍為:一位或兩位非零整數(shù),值的范圍為199黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 實例實例2 人壽保險費率人壽保險費率年齡年齡 性別性別婚姻婚姻撫養(yǎng)人數(shù)撫養(yǎng)人數(shù) 2039 4059 其它其它 M F 已婚已婚 未婚未婚 1人扣人扣0.5點點 最多扣最多扣3點點(四舍五入取整)(四舍五入取整) 6點點 4點點 2點點 5點點 3點點 3點點 5點點輸入條件輸入條件有效等價類有效等價類編號編號無效等價類無效等價類編號

23、編號年齡年齡2039歲歲14059歲歲2119歲歲6099歲歲3小于小于111大于大于9912性別性別非單個字符非單個字符13非英文字符非英文字符14M4除除M和和F之外的之外的其它單個字符其它單個字符15F5婚姻婚姻已婚已婚6除除已婚已婚和和未婚未婚之外的其它字符之外的其它字符16未婚未婚7撫養(yǎng)人數(shù)撫養(yǎng)人數(shù)空白空白8除空白和數(shù)字之外除空白和數(shù)字之外的其它字符的其它字符1716人人9小于小于11879人人10大于大于919(2)等價類表)等價類表測試用例測試用例編號編號輸入數(shù)據(jù)輸入數(shù)據(jù)預期輸出預期輸出年齡年齡性別性別婚姻婚姻撫養(yǎng)人數(shù)撫養(yǎng)人數(shù)保險費率保險費率127F未婚未婚空白空白0.6%250

24、M已婚已婚20.6%370F已婚已婚70.1%40M未婚未婚空白空白無法推算無法推算5100F已婚已婚3無法推算無法推算699男男已婚已婚4無法推算無法推算71Child未婚未婚空白空白無法推算無法推算845N已婚已婚5無法推算無法推算938F離婚離婚1無法推算無法推算1062M已婚已婚沒有沒有無法推算無法推算1118F未婚未婚0無法推算無法推算1240M未婚未婚10無法推算無法推算(3 )依照等價類表設計能覆蓋所有等價類的測試用例)依照等價類表設計能覆蓋所有等價類的測試用例2022年年7月月6日日Software Testing軟件測試軟件測試南京師范大學 計算機學院在某網(wǎng)站申請免費信箱時,

25、要求用戶必須輸入在某網(wǎng)站申請免費信箱時,要求用戶必須輸入用戶用戶名名、密碼密碼及及確認密碼確認密碼,對每一項輸入條件的要求如下:,對每一項輸入條件的要求如下: 用戶名用戶名 要求為要求為4位以上,位以上,16位以下,使用英文字母、數(shù)字、位以下,使用英文字母、數(shù)字、“-”、“_”,并且首字符必須為字母或數(shù)字;,并且首字符必須為字母或數(shù)字; 密碼密碼 要求為要求為616位之間,只能使用英文字母、數(shù)字以及位之間,只能使用英文字母、數(shù)字以及“-”、“_”,并且區(qū)分大小寫。,并且區(qū)分大小寫。黑盒測試方法黑盒測試方法等價類劃分等價類劃分n 實例實例3 免費信箱申請免費信箱申請輸入輸入條件條件有效等價類有效等價類編編號號無效等價類無效等價類編號編號用戶名416位1少于4位10多于16位11首字符為字母2首字符為除字母、數(shù)字之外的其他字符12首字符為數(shù)字3英文字母、數(shù)字、“-”、“_”組合4組合中含有除英文字母、數(shù)字、

溫馨提示

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

評論

0/150

提交評論