軟件測試教學(xué)PPT課件
軟件測試教學(xué)PPT課件,軟件測試,教學(xué)PPT課件,軟件,測試,教學(xué),PPT,課件
國家教學(xué)資源庫建設(shè)項(xiàng)目國家教學(xué)資源庫建設(shè)項(xiàng)目單元3 黑盒測試 網(wǎng)上購物系統(tǒng)的測試 主講人主講人 郭雷郭雷軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試2軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試3軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試4本單元主要內(nèi)容本單元主要內(nèi)容v理解黑盒測試的概念理解黑盒測試的概念v掌握等價(jià)類、邊界值、掌握等價(jià)類、邊界值、決策表、因果圖、正交決策表、因果圖、正交試驗(yàn)法試驗(yàn)法v理解黑盒測試方法運(yùn)理解黑盒測試方法運(yùn)用的綜合策略用的綜合策略軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試5v三角形問題、三角形問題、NextDate問題、傭金問問題、傭金問題、自動(dòng)飲料機(jī)題、自動(dòng)飲料機(jī)v網(wǎng)上訂餐系統(tǒng)網(wǎng)上訂餐系統(tǒng) 系統(tǒng)的主要功能系統(tǒng)的主要功能人員管理:注冊(cè),修改人員管理:注冊(cè),修改菜品管理:增加,修改菜品管理:增加,修改登錄,訂餐,查詢登錄,訂餐,查詢待測系統(tǒng)說明待測系統(tǒng)說明軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試6待測系統(tǒng)界面待測系統(tǒng)界面 網(wǎng)上訂餐系統(tǒng)界面網(wǎng)上訂餐系統(tǒng)界面12345678軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試7任務(wù)任務(wù)1:等價(jià)類方法:等價(jià)類方法123知知知知識(shí)識(shí)識(shí)識(shí)準(zhǔn)準(zhǔn)準(zhǔn)準(zhǔn)備備備備任任任任務(wù)務(wù)務(wù)務(wù)實(shí)實(shí)實(shí)實(shí)施施施施任任任任務(wù)務(wù)務(wù)務(wù)陳陳陳陳述述述述45任任任任務(wù)務(wù)務(wù)務(wù)拓拓拓拓展展展展項(xiàng)項(xiàng)項(xiàng)項(xiàng)目目目目實(shí)實(shí)實(shí)實(shí)訓(xùn)訓(xùn)訓(xùn)訓(xùn)軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試8任務(wù)任務(wù)1陳述陳述本任務(wù)介紹了黑盒測試的流程,等價(jià)類的基本概本任務(wù)介紹了黑盒測試的流程,等價(jià)類的基本概念。通過三角形問題,介紹了如何使用等價(jià)類方法設(shè)計(jì)念。通過三角形問題,介紹了如何使用等價(jià)類方法設(shè)計(jì)測試用例,包括等價(jià)類的劃分方法,有效等價(jià)類、無效測試用例,包括等價(jià)類的劃分方法,有效等價(jià)類、無效等價(jià)類,等價(jià)類測試的分類,等價(jià)類測試的指導(dǎo)方針等。等價(jià)類,等價(jià)類測試的分類,等價(jià)類測試的指導(dǎo)方針等。軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試9任務(wù)任務(wù)1陳述陳述v三角形問題描述三角形問題描述輸入輸入3個(gè)整數(shù)個(gè)整數(shù)a、b和和c分別作為三角形的分別作為三角形的3條邊,要條邊,要求求a、b 和和c必須滿足以下條件:必須滿足以下條件:程序輸出是由這程序輸出是由這3條邊構(gòu)成的三角形類型:等邊三角條邊構(gòu)成的三角形類型:等邊三角形、等腰三角形、一般三角形或非三角形。形、等腰三角形、一般三角形或非三角形。Con1 1a100Con2 1b100Con3 1c100Con4 ab+cCon5 ba+cCon6 ca+b軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試10任務(wù)任務(wù)1陳述陳述v如果輸入值不滿足這些條件中的任何一個(gè),程序給出相應(yīng)如果輸入值不滿足這些條件中的任何一個(gè),程序給出相應(yīng)的信息。例如,的信息。例如,“邊邊c的取值不在允許取值的范圍內(nèi)的取值不在允許取值的范圍內(nèi)”等。等。v如果如果a、b和和c滿足滿足Con1、Con2和和Con3,則輸出下列,則輸出下列4種情況之一:種情況之一:如果不滿足條件如果不滿足條件Con4、Con5和和Con6中的一個(gè),則中的一個(gè),則程序輸出為程序輸出為“非三角形非三角形”。如果三條邊相等,則程序輸出為如果三條邊相等,則程序輸出為“等邊三角形等邊三角形”。如果恰好有兩條邊相等,則程序輸出為如果恰好有兩條邊相等,則程序輸出為“等腰三角形等腰三角形”。如果三條邊都不相等,則程序輸出為如果三條邊都不相等,則程序輸出為“一般三角形一般三角形”。軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試11知識(shí)點(diǎn)列表知識(shí)點(diǎn)列表v黑盒測試黑盒測試v等價(jià)類劃分等價(jià)類劃分v等價(jià)類設(shè)計(jì)測試用等價(jià)類設(shè)計(jì)測試用例的方法例的方法軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試12流程流程需求說明測試用例測試結(jié)果產(chǎn)生輸出驗(yàn)證輸入軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試13v設(shè)計(jì)測試用例實(shí)現(xiàn)一個(gè)對(duì)設(shè)計(jì)測試用例實(shí)現(xiàn)一個(gè)對(duì)(0 x100)的實(shí)數(shù)進(jìn)行開平方運(yùn)算的實(shí)數(shù)進(jìn)行開平方運(yùn)算 y=sqrt(x)的程序的測試。的程序的測試。v將所有的實(shí)數(shù)(輸入域?qū)⑺械膶?shí)數(shù)(輸入域x)進(jìn)行劃分,)進(jìn)行劃分,可以分成:正實(shí)數(shù)、可以分成:正實(shí)數(shù)、0 和和 負(fù)實(shí)數(shù)。我們負(fù)實(shí)數(shù)。我們選定選定+1.4444代表正實(shí)數(shù),代表正實(shí)數(shù),-2.345代表負(fù)實(shí)數(shù)代表負(fù)實(shí)數(shù)。思考思考等價(jià)類方法可令測試事半功倍等價(jià)類方法可令測試事半功倍。完備,無冗余完備,無冗余軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試14等價(jià)類是輸入等價(jià)類是輸入/出域的某個(gè)出域的某個(gè)子集合子集合,而所,而所有的等價(jià)類的并集是整個(gè)輸入域。在子有的等價(jià)類的并集是整個(gè)輸入域。在子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤是的錯(cuò)誤是等效等效的。的。等價(jià)類定義等價(jià)類定義軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試15等價(jià)類測試的假設(shè):等價(jià)類測試的假設(shè):v測試某等價(jià)類的代表值,就等效于對(duì)這個(gè)等價(jià)類中測試某等價(jià)類的代表值,就等效于對(duì)這個(gè)等價(jià)類中其他值的測試。其他值的測試。等價(jià)類測試的思想:等價(jià)類測試的思想:v把全部的輸入數(shù)據(jù)劃分成若干個(gè)等價(jià)類,在每一個(gè)把全部的輸入數(shù)據(jù)劃分成若干個(gè)等價(jià)類,在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)來進(jìn)行測試。等價(jià)類中取一個(gè)數(shù)據(jù)來進(jìn)行測試。等價(jià)類測試等價(jià)類測試軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試16v有效等價(jià)類有效等價(jià)類 是指對(duì)軟件規(guī)格說明而言,是有意義的、合是指對(duì)軟件規(guī)格說明而言,是有意義的、合理的輸入數(shù)據(jù)所組成的集合。理的輸入數(shù)據(jù)所組成的集合。v無效等價(jià)類無效等價(jià)類 是指對(duì)軟件規(guī)格說明而言,是無意義的、不是指對(duì)軟件規(guī)格說明而言,是無意義的、不合理的輸入數(shù)據(jù)所構(gòu)成的集合。合理的輸入數(shù)據(jù)所構(gòu)成的集合。等價(jià)類測試等價(jià)類測試檢驗(yàn)正常功能檢驗(yàn)正常功能檢驗(yàn)異常處理檢驗(yàn)異常處理軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試17(1)按照區(qū)間劃分按照區(qū)間劃分 在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下,可在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下,可以確定一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類。以確定一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類。例例1:程序輸入條件為小于:程序輸入條件為小于100大于大于10的整數(shù)的整數(shù)x 有效等價(jià)類為有效等價(jià)類為 10 x100 兩個(gè)無效等價(jià)類為兩個(gè)無效等價(jià)類為 x10和和x100。例例2:輸入學(xué)生成績,范圍是:輸入學(xué)生成績,范圍是0到到100 劃分原則劃分原則軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試18(2)按照數(shù)值劃分)按照數(shù)值劃分 在規(guī)定了一組輸入數(shù)據(jù)(假設(shè)包括在規(guī)定了一組輸入數(shù)據(jù)(假設(shè)包括 n個(gè)輸入值),并且程個(gè)輸入值),并且程序要對(duì)每一個(gè)輸入值分別進(jìn)行處理的情況下,可確定序要對(duì)每一個(gè)輸入值分別進(jìn)行處理的情況下,可確定 n 個(gè)個(gè)有效等價(jià)類(每個(gè)值確定一個(gè)有效等價(jià)類)和一個(gè)無效等有效等價(jià)類(每個(gè)值確定一個(gè)有效等價(jià)類)和一個(gè)無效等價(jià)類(所有不允許的輸入值的集合)。價(jià)類(所有不允許的輸入值的集合)。例例1:程序輸入:程序輸入x取值于一個(gè)固定的枚舉類型取值于一個(gè)固定的枚舉類型1,3,7,15,且程序中對(duì)這,且程序中對(duì)這4個(gè)數(shù)值分別進(jìn)行了處理,個(gè)數(shù)值分別進(jìn)行了處理,則有效等價(jià)類為則有效等價(jià)類為 x=1、x=3、x=7、x=15,無效等價(jià)類為無效等價(jià)類為 x1,3,7,15的值的集合。的值的集合。例例2:輸入條件說明學(xué)歷可為:輸入條件說明學(xué)歷可為:專科、本科、碩士、博士四??啤⒈究?、碩士、博士四種之一。種之一。劃分原則劃分原則軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試19(3)按照數(shù)值集合劃分)按照數(shù)值集合劃分 在輸入條件規(guī)定了輸入值的集合或規(guī)定了在輸入條件規(guī)定了輸入值的集合或規(guī)定了“必須如何必須如何”的條件下,可以確定一個(gè)有效等價(jià)類和一個(gè)無效等的條件下,可以確定一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類(該集合有效值之外)。價(jià)類(該集合有效值之外)。例例1:程序輸入條件為取值為奇數(shù)的整數(shù):程序輸入條件為取值為奇數(shù)的整數(shù)x 則則 有效等價(jià)類為有效等價(jià)類為 x的值為奇數(shù)的整數(shù)的值為奇數(shù)的整數(shù) 無效等價(jià)類為無效等價(jià)類為 x的值不為奇數(shù)的整數(shù)。的值不為奇數(shù)的整數(shù)。例例2:輸入為標(biāo)識(shí)符:輸入為標(biāo)識(shí)符劃分原則劃分原則軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試20(4)按照限制條件或規(guī)則劃分)按照限制條件或規(guī)則劃分 在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則或限制條件的情況在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則或限制條件的情況下,可確定一個(gè)有效等價(jià)類(符合規(guī)則)和若干個(gè)無下,可確定一個(gè)有效等價(jià)類(符合規(guī)則)和若干個(gè)無效等價(jià)類(從不同角度違反規(guī)則)。效等價(jià)類(從不同角度違反規(guī)則)。例:程序輸入條件為以字符例:程序輸入條件為以字符a開頭、長度為開頭、長度為8的字的字符串,并且字符串不包含符串,并且字符串不包含a z之外的其它字符。之外的其它字符。劃分原則劃分原則軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試21(5)細(xì)分等價(jià)類)細(xì)分等價(jià)類 在確知已劃分的等價(jià)類中各元素在程序中的處理方式在確知已劃分的等價(jià)類中各元素在程序中的處理方式不同的情況下,則應(yīng)再將該等價(jià)類進(jìn)一步劃分為更不同的情況下,則應(yīng)再將該等價(jià)類進(jìn)一步劃分為更小的等價(jià)類,并建立等價(jià)類表。小的等價(jià)類,并建立等價(jià)類表。劃分原則劃分原則軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試22從對(duì)等價(jià)類的從對(duì)等價(jià)類的覆蓋程度覆蓋程度從是否對(duì)無效從是否對(duì)無效數(shù)據(jù)進(jìn)行檢測數(shù)據(jù)進(jìn)行檢測等價(jià)類測試的分類等價(jià)類測試的分類在有多個(gè)輸入的情形在有多個(gè)輸入的情形軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試23以一個(gè)有兩個(gè)輸入變量以一個(gè)有兩個(gè)輸入變量x1和和x2的程序的程序F為例,說明上述的四種等價(jià)類測試。為例,說明上述的四種等價(jià)類測試。假設(shè),假設(shè),F(xiàn)的輸入變量的輸入變量x1和和x2的邊界以及的邊界以及邊界內(nèi)的區(qū)間為邊界內(nèi)的區(qū)間為 a x1 d,區(qū)間為,區(qū)間為a,b),b,c),c,d e x2 g,區(qū)間為,區(qū)間為e,f),f,g等價(jià)類測試的分類等價(jià)類測試的分類軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試24變量變量x1和和x2的等價(jià)類分別為:的等價(jià)類分別為:vx1的有效等價(jià)類:的有效等價(jià)類:a,b),b,c),c,d vx1的無效等價(jià)類:的無效等價(jià)類:(-,a),(d,+)vx2的有效等價(jià)類:的有效等價(jià)類:e,f),f,gvx2的無效等價(jià)類的無效等價(jià)類:(-,e),(g,+)等價(jià)類測試的分類等價(jià)類測試的分類軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試25“一般一般”表示只考慮有效等價(jià)類,表示只考慮有效等價(jià)類,“弱弱”表示測試用表示測試用例只需覆蓋兩個(gè)輸入的所有的有效等價(jià)類即可,無需例只需覆蓋兩個(gè)輸入的所有的有效等價(jià)類即可,無需考慮它們之間的組合情況考慮它們之間的組合情況。弱一般等價(jià)類測試弱一般等價(jià)類測試軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試26“一般一般”表示只考慮有效等價(jià)類,表示只考慮有效等價(jià)類,“強(qiáng)強(qiáng)”表示測試用表示測試用例需覆蓋兩個(gè)輸入的所有有效等價(jià)類的可能組合。例需覆蓋兩個(gè)輸入的所有有效等價(jià)類的可能組合。強(qiáng)一般等價(jià)類測試強(qiáng)一般等價(jià)類測試軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試27“健壯健壯”表示不僅考慮有效等價(jià)類還要考慮無效等價(jià)表示不僅考慮有效等價(jià)類還要考慮無效等價(jià)類,類,“弱弱”表示測試用例只需覆蓋兩個(gè)輸入的所有等表示測試用例只需覆蓋兩個(gè)輸入的所有等價(jià)類即可,無需考慮它們之間的組合情況。價(jià)類即可,無需考慮它們之間的組合情況。弱健壯等價(jià)類測試弱健壯等價(jià)類測試軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試28“健壯健壯”表示不僅考慮有效等價(jià)類還要考慮無效等價(jià)表示不僅考慮有效等價(jià)類還要考慮無效等價(jià)類,類,“強(qiáng)強(qiáng)”表示測試用例需覆蓋兩個(gè)輸入的所有等價(jià)表示測試用例需覆蓋兩個(gè)輸入的所有等價(jià)類的可能組合。類的可能組合。強(qiáng)健壯等價(jià)類測試強(qiáng)健壯等價(jià)類測試軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試291.劃分等價(jià)類,形成等價(jià)類表,為每一個(gè)等價(jià)類規(guī)劃分等價(jià)類,形成等價(jià)類表,為每一個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào)。定一個(gè)唯一的編號(hào)。2.設(shè)計(jì)一個(gè)新的測試用例,使它能夠盡量覆蓋尚未設(shè)計(jì)一個(gè)新的測試用例,使它能夠盡量覆蓋尚未覆蓋的有效等價(jià)類。重復(fù)這個(gè)步驟,直到所有的覆蓋的有效等價(jià)類。重復(fù)這個(gè)步驟,直到所有的有效等價(jià)類均被測試用例所覆蓋。有效等價(jià)類均被測試用例所覆蓋。3.設(shè)計(jì)一個(gè)新的測試用例,使它僅覆蓋一個(gè)尚未覆設(shè)計(jì)一個(gè)新的測試用例,使它僅覆蓋一個(gè)尚未覆蓋的無效等價(jià)類。重復(fù)這一步驟,直到所有的無蓋的無效等價(jià)類。重復(fù)這一步驟,直到所有的無效等價(jià)類均被測試用例所覆蓋。效等價(jià)類均被測試用例所覆蓋。等價(jià)類設(shè)計(jì)測試用例的步驟等價(jià)類設(shè)計(jì)測試用例的步驟軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試30v某保險(xiǎn)公司的人壽保險(xiǎn)的保費(fèi)計(jì)算方式為:投保額某保險(xiǎn)公司的人壽保險(xiǎn)的保費(fèi)計(jì)算方式為:投保額保險(xiǎn)費(fèi)率保險(xiǎn)費(fèi)率v其中,保險(xiǎn)費(fèi)率依點(diǎn)數(shù)不同而有別,其中,保險(xiǎn)費(fèi)率依點(diǎn)數(shù)不同而有別,10點(diǎn)及點(diǎn)及10點(diǎn)點(diǎn)以上保險(xiǎn)費(fèi)率為以上保險(xiǎn)費(fèi)率為0.6%,10點(diǎn)以下保險(xiǎn)費(fèi)率為點(diǎn)以下保險(xiǎn)費(fèi)率為0.1%;而點(diǎn)數(shù)又是由;而點(diǎn)數(shù)又是由 投保人的年齡、性別、婚姻投保人的年齡、性別、婚姻狀況和撫養(yǎng)人數(shù)來決定,具體規(guī)則如表狀況和撫養(yǎng)人數(shù)來決定,具體規(guī)則如表 所示:所示:保費(fèi)計(jì)算問題的等價(jià)類測試保費(fèi)計(jì)算問題的等價(jià)類測試年齡年齡 性別性別婚姻婚姻撫養(yǎng)人數(shù)撫養(yǎng)人數(shù) 2039 2039 4059 4059 其它其它 M M F F 已婚已婚 未婚未婚 1 1人扣人扣0.5點(diǎn)點(diǎn) 最多扣最多扣3點(diǎn)點(diǎn)(四舍五入取整)(四舍五入取整)6 6點(diǎn)點(diǎn) 4 4點(diǎn)點(diǎn) 2 2點(diǎn)點(diǎn) 5 5點(diǎn)點(diǎn) 3 3點(diǎn)點(diǎn) 3 3點(diǎn)點(diǎn) 5 5點(diǎn)點(diǎn)軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試31v分析程序規(guī)格說明中給出和隱含的對(duì)分析程序規(guī)格說明中給出和隱含的對(duì)輸入條件的要求。輸入條件的要求。年齡:一位或兩位非零整數(shù),值的有效范圍為年齡:一位或兩位非零整數(shù),值的有效范圍為199性別:一位英文字符,只能取值性別:一位英文字符,只能取值M或或F婚姻:字符,只能取值婚姻:字符,只能取值已婚已婚或或未婚未婚撫養(yǎng)人數(shù):空白或一位非零整數(shù)(撫養(yǎng)人數(shù):空白或一位非零整數(shù)(19)點(diǎn)數(shù)點(diǎn)數(shù):一位或兩位非零整數(shù),值的范圍為:一位或兩位非零整數(shù),值的范圍為199保費(fèi)計(jì)算問題的等價(jià)類測試保費(fèi)計(jì)算問題的等價(jià)類測試軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試32等價(jià)類表等價(jià)類表輸入條件輸入條件 有效等價(jià)類有效等價(jià)類 編號(hào)編號(hào) 無效等價(jià)類無效等價(jià)類 編號(hào)編號(hào) 年年齡齡 20392039歲歲 1 1 40594059歲歲 2 2 119119歲歲 60996099歲歲 3 3 小于小于1 12 12 大于大于99 13 13 性性別別 非英文字符非英文字符 14 14 非非單單個(gè)英文字符個(gè)英文字符 15 15 M M 5 5除除M和和F之外的之外的 其它其它單單個(gè)字符個(gè)字符 16 16 F F 6 6 婚姻婚姻 已婚已婚 7 7除除已婚已婚和和未婚未婚之外之外的其它字符的其它字符 17 17 未婚未婚 8 8 撫撫養(yǎng)養(yǎng)人數(shù)人數(shù) 空白空白 9 9 除空白和數(shù)字之外的其它字符除空白和數(shù)字之外的其它字符 18 18 1616人人 1010小于小于1 19 19 6969人人 11 11 大于大于9 20 20 軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試33測試用例測試用例測試用例編號(hào)測試用例編號(hào) 輸入數(shù)據(jù)輸入數(shù)據(jù) 預(yù)期輸出預(yù)期輸出 對(duì)應(yīng)等價(jià)類對(duì)應(yīng)等價(jià)類年齡年齡 性別性別 婚姻婚姻 撫養(yǎng)人數(shù)撫養(yǎng)人數(shù) 保險(xiǎn)費(fèi)率保險(xiǎn)費(fèi)率 Test1 Test1 27 27 F F 未婚未婚 空白空白 0.6%0.6%1,6,8,91,6,8,9Test 2 Test 2 50 50 M M 已婚已婚 2 2 0.6%0.6%2,5,7,102,5,7,10Test 3 Test 3 70 70 F F 已婚已婚 7 7 0.1%0.1%3,6,7,113,6,7,11Test 4 Test 4 0 0 M M 未婚未婚 空白空白 無法推算無法推算 12,5,8,912,5,8,9Test 5 Test 5 100 100 F F 已婚已婚 3 3 無法推算無法推算 13,6,7,1013,6,7,10Test 6 Test 6 99 99 男男 已婚已婚 4 4 無法推算無法推算 14.14.Test 7 Test 7 1 1 Child Child 未婚未婚 空白空白 無法推算無法推算 15.15.Test 8 Test 8 45 45 N N 已婚已婚 5 5 無法推算無法推算 16.16.Test 9 Test 9 38 38 F F 離婚離婚 1 1 無法推算無法推算 17.17.Test 10 Test 10 62 62 M M 已婚已婚 沒有沒有 無法推算無法推算 18.18.Test 11 Test 11 18 18 F F 未婚未婚 0 0 無法推算無法推算 19.19.Test 12 Test 12 40 40 M M 未婚未婚 10 10 無法推算無法推算 20.20.軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試34輸出域等價(jià)類測試輸出域等價(jià)類測試v使用等價(jià)類劃分方法必須仔細(xì)分析程序規(guī)范說使用等價(jià)類劃分方法必須仔細(xì)分析程序規(guī)范說明。在三角形問題中,輸入條件須滿足明。在三角形問題中,輸入條件須滿足3個(gè)要個(gè)要求:求:整數(shù)。整數(shù)。3個(gè)數(shù)。個(gè)數(shù)。取值在取值在1100之間。之間。v仔細(xì)分析三角形問題,其無效輸入就是分別不仔細(xì)分析三角形問題,其無效輸入就是分別不滿足以上滿足以上3個(gè)方面。因此,可以將這個(gè)方面。因此,可以將這3個(gè)要求作個(gè)要求作為為3個(gè)有效等價(jià)類,從而得出其等價(jià)類表個(gè)有效等價(jià)類,從而得出其等價(jià)類表軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試35等價(jià)類表等價(jià)類表Test1=(3,4,5)便可覆便可覆蓋有效蓋有效等價(jià)類等價(jià)類13。有效等價(jià)類有效等價(jià)類編號(hào)編號(hào)無效等價(jià)類無效等價(jià)類編號(hào)編號(hào)輸輸入入三三個(gè)個(gè)整整數(shù)數(shù)整數(shù)整數(shù)1一邊為非整數(shù)一邊為非整數(shù)4二邊為非整數(shù)二邊為非整數(shù)5三邊為非整數(shù)三邊為非整數(shù)63個(gè)數(shù)個(gè)數(shù)2只有一條邊只有一條邊7只有二條邊只有二條邊8超過三條邊超過三條邊91a1001b1001c1003一邊為一邊為010二邊為二邊為011三邊為三邊為012一邊一邊013二邊二邊014三邊三邊10016二邊二邊10017三邊三邊10018軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試36健壯性測試用例健壯性測試用例a ab bc c覆蓋的等價(jià)類覆蓋的等價(jià)類a ab bc c覆蓋的等價(jià)類覆蓋的等價(jià)類3.5454000123.5 4.555-345133.5 4.5 3.56-3-451437-3-4-51534810155651634569101 101651704510101 101 1011800511軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試37v三角形問題有三角形問題有4種可能輸出:等邊三角種可能輸出:等邊三角形、等腰三角形,一般三角形和非三形、等腰三角形,一般三角形和非三角形。利用這些信息可確定下列輸出角形。利用這些信息可確定下列輸出(值域)等價(jià)類。(值域)等價(jià)類。R1=邊為邊為a,b,c的等邊三角形的等邊三角形 R2=邊為邊為a,b,c的等腰三角形的等腰三角形 R3=邊為邊為a,b,c的一般三角形的一般三角形 R4=邊為邊為a,b,c不能組成三角形不能組成三角形 輸出域等價(jià)類劃分測試輸出域等價(jià)類劃分測試軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試38輸出域等價(jià)類劃分測試用例輸出域等價(jià)類劃分測試用例測試用例測試用例abc預(yù)期輸出預(yù)期輸出Test1101010等邊三角形等邊三角形Test210105等腰三角形等腰三角形Test3345一般三角形一般三角形Test4412非三角形非三角形軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試39健壯性測試用例健壯性測試用例測試用例測試用例a ab bc c預(yù)期輸出預(yù)期輸出Test1567一般三角形一般三角形Test2-155 a值值超出超出輸輸入入值值定定義義域域Test35-15b值值超出超出輸輸入入值值定定義義域域Test455-1c值值超出超出輸輸入入值值定定義義域域Test510155a值值超出超出輸輸入入值值定定義義域域Test651015b值值超出超出輸輸入入值值定定義義域域Test755101c值值超出超出輸輸入入值值定定義義域域軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試40v使用等價(jià)類劃分測試時(shí),應(yīng)注意以下幾點(diǎn):使用等價(jià)類劃分測試時(shí),應(yīng)注意以下幾點(diǎn):v如果實(shí)現(xiàn)的語言是強(qiáng)類型語言(無效值會(huì)引起運(yùn)行如果實(shí)現(xiàn)的語言是強(qiáng)類型語言(無效值會(huì)引起運(yùn)行時(shí)出錯(cuò)),則沒有必要使用健壯等價(jià)類測試。時(shí)出錯(cuò)),則沒有必要使用健壯等價(jià)類測試。v如果錯(cuò)誤輸入檢查非常重要,則應(yīng)進(jìn)行健壯等價(jià)類如果錯(cuò)誤輸入檢查非常重要,則應(yīng)進(jìn)行健壯等價(jià)類測試。測試。v如果輸入數(shù)據(jù)以離散值區(qū)間或集合的形式定義,則如果輸入數(shù)據(jù)以離散值區(qū)間或集合的形式定義,則等價(jià)類測試是合適的,當(dāng)然也適用于變量值越界會(huì)等價(jià)類測試是合適的,當(dāng)然也適用于變量值越界會(huì)造成故障的系統(tǒng)造成故障的系統(tǒng)。等價(jià)類測試指導(dǎo)方針等價(jià)類測試指導(dǎo)方針軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試411.對(duì)對(duì)NextDate函數(shù)進(jìn)行等價(jià)類測試與分析函數(shù)進(jìn)行等價(jià)類測試與分析vNextDate函數(shù)是一個(gè)有函數(shù)是一個(gè)有3個(gè)變量個(gè)變量month(月份)、(月份)、year(日(日期)和期)和year(年)的函數(shù)。輸出為輸入日期后一天的日期。例如,(年)的函數(shù)。輸出為輸入日期后一天的日期。例如,如果輸入為如果輸入為1998年年6月月18日,則日,則NextDate函數(shù)的輸出為函數(shù)的輸出為1998年年6月月19日。要求輸入變量日。要求輸入變量month,day和和year都是整數(shù)都是整數(shù)值,并且滿足以下條件:值,并且滿足以下條件:Con1 1month12Con2 1day31Con3 1800year2050v如果如果month,day和和year中任何一個(gè)條件失效,則中任何一個(gè)條件失效,則NextDate都會(huì)產(chǎn)生一個(gè)輸出,指明相應(yīng)的變量超出了取值范圍。例如,都會(huì)產(chǎn)生一個(gè)輸出,指明相應(yīng)的變量超出了取值范圍。例如,“無效輸入日期。無效輸入日期。”軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試42任務(wù)任務(wù)2:邊界值方法邊界值方法123知知知知識(shí)識(shí)識(shí)識(shí)準(zhǔn)準(zhǔn)準(zhǔn)準(zhǔn)備備備備任任任任務(wù)務(wù)務(wù)務(wù)實(shí)實(shí)實(shí)實(shí)施施施施任任任任務(wù)務(wù)務(wù)務(wù)陳陳陳陳述述述述45任任任任務(wù)務(wù)務(wù)務(wù)拓拓拓拓展展展展項(xiàng)項(xiàng)項(xiàng)項(xiàng)目目目目實(shí)實(shí)實(shí)實(shí)訓(xùn)訓(xùn)訓(xùn)訓(xùn)軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試43任務(wù)任務(wù)2陳述陳述本任務(wù)介紹了邊界值測試的相關(guān)概念,本任務(wù)介紹了邊界值測試的相關(guān)概念,通過通過“NextDate”函數(shù)問題,介紹了如何函數(shù)問題,介紹了如何使用邊界值方法設(shè)計(jì)測試用例,包括邊界使用邊界值方法設(shè)計(jì)測試用例,包括邊界條件,次邊界條件,邊界值健壯性測試,條件,次邊界條件,邊界值健壯性測試,邊界值分析的局限性。邊界值分析的局限性。軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試44知識(shí)點(diǎn)列表知識(shí)點(diǎn)列表v邊界值測試的相關(guān)邊界值測試的相關(guān)概念概念v邊界值設(shè)計(jì)測試用邊界值設(shè)計(jì)測試用例的方法例的方法軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v當(dāng)循環(huán)條件本應(yīng)當(dāng)判斷當(dāng)循環(huán)條件本應(yīng)當(dāng)判斷“c、a+cb及及b+ca時(shí)才時(shí)才能構(gòu)成三角形。但如果把能構(gòu)成三角形。但如果把3個(gè)不等式中的個(gè)不等式中的任何一個(gè)大于號(hào)任何一個(gè)大于號(hào)“”錯(cuò)寫成大于等于號(hào)錯(cuò)寫成大于等于號(hào)“”,那就無法構(gòu)成三角形了。,那就無法構(gòu)成三角形了。45問題引入問題引入軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v錯(cuò)誤更可能出現(xiàn)在輸入變量的極值附近。錯(cuò)誤更可能出現(xiàn)在輸入變量的極值附近。v無數(shù)的測試實(shí)踐表明,大量的故障往往發(fā)無數(shù)的測試實(shí)踐表明,大量的故障往往發(fā)生在輸入定義域或輸出值域的邊界上,而生在輸入定義域或輸出值域的邊界上,而不是在其內(nèi)部。因此,針對(duì)各種邊界情況不是在其內(nèi)部。因此,針對(duì)各種邊界情況設(shè)計(jì)測試用例,通常會(huì)取得很好的測試效設(shè)計(jì)測試用例,通常會(huì)取得很好的測試效果。果。46基本原理基本原理軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v如果文本輸入域允許輸入如果文本輸入域允許輸入1255個(gè)字符。個(gè)字符。v嘗試:嘗試:輸入輸入1個(gè)字符和個(gè)字符和255個(gè)字符(合法區(qū)間),也可以加個(gè)字符(合法區(qū)間),也可以加入入254個(gè)字符作為合法測試。個(gè)字符作為合法測試。輸入輸入0個(gè)字符和個(gè)字符和256個(gè)字符作為非法區(qū)間。個(gè)字符作為非法區(qū)間。47可能的邊界可能的邊界軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v如果程序讀寫軟盤如果程序讀寫軟盤v嘗試:嘗試:保存一個(gè)尺寸極小,甚至只有一項(xiàng)的文件。保存一個(gè)尺寸極小,甚至只有一項(xiàng)的文件。然后保存一個(gè)很大的然后保存一個(gè)很大的剛好在軟盤容量限制之內(nèi)剛好在軟盤容量限制之內(nèi)的文件。的文件。保存空文件。保存空文件。保存尺寸大于軟盤容量的文件。保存尺寸大于軟盤容量的文件。48可能的邊界可能的邊界軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v如果程序允許在一張紙上打印多個(gè)頁面如果程序允許在一張紙上打印多個(gè)頁面v嘗試:嘗試:只打印一頁只打印一頁打印允許的最多頁面打印允許的最多頁面打印打印0頁頁多于所允許的頁面(如果可能的話)多于所允許的頁面(如果可能的話)49可能的邊界可能的邊界軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v一些可可能與邊界有關(guān)的數(shù)據(jù)類型有:一些可可能與邊界有關(guān)的數(shù)據(jù)類型有:數(shù)值、速度、字符、地址、位置、尺寸、數(shù)量等數(shù)值、速度、字符、地址、位置、尺寸、數(shù)量等v考慮這些數(shù)據(jù)類型的下述特征:考慮這些數(shù)據(jù)類型的下述特征:第一個(gè)第一個(gè)/最后一個(gè)、最小值最后一個(gè)、最小值/最大值、開始最大值、開始/完成、超完成、超過過/在內(nèi)、空在內(nèi)、空/滿、最短滿、最短/最長、最慢最長、最慢/最快、最早最快、最早/最最遲、最高遲、最高/最低、相鄰最低、相鄰/最遠(yuǎn)等。最遠(yuǎn)等。50可能的邊界可能的邊界軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v在多數(shù)情況下,邊界值條件是基于應(yīng)用程序的功能設(shè)計(jì)在多數(shù)情況下,邊界值條件是基于應(yīng)用程序的功能設(shè)計(jì)而需要考慮的因素,可以從軟件的規(guī)格說明或常識(shí)中得而需要考慮的因素,可以從軟件的規(guī)格說明或常識(shí)中得到,也是最終用戶可以很容易發(fā)現(xiàn)問題的。到,也是最終用戶可以很容易發(fā)現(xiàn)問題的。v然而,在測試用例設(shè)計(jì)過程中,某些邊界值條件是不需然而,在測試用例設(shè)計(jì)過程中,某些邊界值條件是不需要呈現(xiàn)給用戶的,或者說用戶是很難注意到的,但同時(shí)要呈現(xiàn)給用戶的,或者說用戶是很難注意到的,但同時(shí)確實(shí)屬于檢驗(yàn)范疇內(nèi)的邊界條件,稱為內(nèi)部邊界值條件確實(shí)屬于檢驗(yàn)范疇內(nèi)的邊界條件,稱為內(nèi)部邊界值條件或子邊界值條件?;蜃舆吔缰禇l件。51次邊界條件次邊界條件軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試計(jì)算機(jī)是基于二進(jìn)制進(jìn)行工作的,因此,軟計(jì)算機(jī)是基于二進(jìn)制進(jìn)行工作的,因此,軟件的任何數(shù)值運(yùn)算都有一定的范圍限制。件的任何數(shù)值運(yùn)算都有一定的范圍限制。522的冪次方的冪次方項(xiàng)項(xiàng)范圍或值范圍或值位(位(bit)0 或或 1字節(jié)字節(jié)(byte)0 255字(字(word)065535(單字)或(單字)或 04294967295(雙字)(雙字)千(千(K)1024兆(兆(M)1048576吉(吉(G)1073741824軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v假設(shè)某種通信協(xié)議支持假設(shè)某種通信協(xié)議支持256條命令,為了提高數(shù)據(jù)傳輸條命令,為了提高數(shù)據(jù)傳輸效率,通信軟件總是將常用的信息壓縮到一個(gè)很小的單效率,通信軟件總是將常用的信息壓縮到一個(gè)很小的單元中,必要時(shí)再擴(kuò)展為大一些的單元。比如將常用的元中,必要時(shí)再擴(kuò)展為大一些的單元。比如將常用的15條命令壓縮為一個(gè)半字節(jié)數(shù)據(jù),在遇到第條命令壓縮為一個(gè)半字節(jié)數(shù)據(jù),在遇到第16256之間之間的命令時(shí),軟件轉(zhuǎn)而發(fā)送一個(gè)一字節(jié)的命令。的命令時(shí),軟件轉(zhuǎn)而發(fā)送一個(gè)一字節(jié)的命令。v為了覆蓋所有可能的為了覆蓋所有可能的2的冪次方次邊界,要考慮臨近半的冪次方次邊界,要考慮臨近半字節(jié)邊界的字節(jié)邊界的14、15和和16,以及臨近字節(jié)邊界的,以及臨近字節(jié)邊界的254、255和和256532的冪次方的冪次方軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試在計(jì)算機(jī)軟件中,字符也是很重要的表示元素,其中在計(jì)算機(jī)軟件中,字符也是很重要的表示元素,其中ASCII和和Unicode是常見的編碼方式。下表中列出了一是常見的編碼方式。下表中列出了一些常用字符對(duì)應(yīng)的些常用字符對(duì)應(yīng)的ASCII碼值。碼值。54ASCII表表字符字符 ASCII值值字符字符 ASCII值值 字符字符 ASCII值值 字符字符 ASCII值值 Null0250B66a97Space32957Y89b98/47:58Z90y1210486491z122149A6596123軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界值以及剛剛超過這個(gè)范圍邊界的值作為測試輸入的邊界值以及剛剛超過這個(gè)范圍邊界的值作為測試輸入數(shù)據(jù)。數(shù)據(jù)。v如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)和比最大個(gè)數(shù)多數(shù)和比最大個(gè)數(shù)多1個(gè)、比最小個(gè)數(shù)少個(gè)、比最小個(gè)數(shù)少1個(gè)的數(shù)作為測個(gè)的數(shù)作為測試數(shù)據(jù)。試數(shù)據(jù)。v根據(jù)程序規(guī)格說明的每個(gè)輸出條件,使用原則根據(jù)程序規(guī)格說明的每個(gè)輸出條件,使用原則(1)(2)。55邊界值設(shè)計(jì)測試用例原則邊界值設(shè)計(jì)測試用例原則軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合(如有序表、順序文件等),則應(yīng)選取集合中的第一個(gè)(如有序表、順序文件等),則應(yīng)選取集合中的第一個(gè)和和 最后一個(gè)元素作為測試用例。最后一個(gè)元素作為測試用例。v如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試用例。內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試用例。v分析程序規(guī)格說明,找出其它可能的邊界條件。分析程序規(guī)格說明,找出其它可能的邊界條件。56邊界值設(shè)計(jì)測試用例原則邊界值設(shè)計(jì)測試用例原則軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v在最小值、略高于最小值、正常值、略低在最小值、略高于最小值、正常值、略低于最大值和最大值處取輸入變量值于最大值和最大值處取輸入變量值 v 表示方法表示方法min、min+、nom、max-、和、和max 57取值取值軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v一個(gè)有兩個(gè)變量一個(gè)有兩個(gè)變量x1和和x2的程序的程序F,其中,其中x1a,b和和x2c,d。程序。程序F的輸入空間(定義域)如的輸入空間(定義域)如圖圖所所示。帶陰影矩形中的任何點(diǎn)都是程序示。帶陰影矩形中的任何點(diǎn)都是程序F的有效輸入。的有效輸入。58組合組合v基于基于“單故障單故障”的假設(shè)的假設(shè)v使所有變量取正常值,只使一使所有變量取正常值,只使一個(gè)變量分別取最小值、略高于個(gè)變量分別取最小值、略高于最小值、略低于最大值和最大最小值、略低于最大值和最大值。值。軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試59組合組合軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v除了使用五個(gè)邊界值分析取值,還采用:除了使用五個(gè)邊界值分析取值,還采用:一個(gè)略超過最大值一個(gè)略超過最大值(max+)的取值的取值一個(gè)略小于最小值一個(gè)略小于最小值(min-)的取值的取值60邊界值健壯性測試邊界值健壯性測試軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試某酒水銷售公司指派銷售員銷售各種酒水某酒水銷售公司指派銷售員銷售各種酒水,其中白酒賣其中白酒賣168元元/瓶,紅酒賣瓶,紅酒賣120元元/瓶,啤酒賣瓶,啤酒賣5元每瓶。對(duì)于每元每瓶。對(duì)于每個(gè)銷售員,白酒每月的最高供應(yīng)量為個(gè)銷售員,白酒每月的最高供應(yīng)量為5000瓶,紅酒為瓶,紅酒為3000瓶,啤酒為瓶,啤酒為30000瓶,各銷售員每月至少需售出白瓶,各銷售員每月至少需售出白酒酒50瓶,紅酒瓶,紅酒30瓶,啤酒瓶,啤酒300瓶。獎(jiǎng)金計(jì)算方法如下瓶。獎(jiǎng)金計(jì)算方法如下v2萬元以下(含):萬元以下(含):4%v2萬元(不含)到萬元(不含)到4.5萬(含):萬(含):1%v4.5萬元以上(不含):萬元以上(不含):0.5%61傭金問題的邊界值測試傭金問題的邊界值測試軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試從輸入角度分析該問題。該問題的輸入有從輸入角度分析該問題。該問題的輸入有3個(gè),其對(duì)應(yīng)的個(gè),其對(duì)應(yīng)的等價(jià)類劃分為:等價(jià)類劃分為:白酒數(shù),有效等價(jià)類白酒數(shù),有效等價(jià)類50,5000紅酒數(shù),有效等價(jià)類紅酒數(shù),有效等價(jià)類30,3000啤酒數(shù),有效等價(jià)類啤酒數(shù),有效等價(jià)類300,30000按照邊界值取值方法,對(duì)每個(gè)輸入分別取按照邊界值取值方法,對(duì)每個(gè)輸入分別取7個(gè)值。個(gè)值。白酒數(shù),白酒數(shù),49,50,51,2500,4999,5000,5001紅酒數(shù),紅酒數(shù),29,30,31,1500,2999,3000,3001啤酒數(shù),啤酒數(shù),299,300,301,15000,29999,30000,3000162傭金問題的邊界值測試傭金問題的邊界值測試軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試根據(jù)邊界值組合測試用例規(guī)則,保留其中一個(gè)變量,讓其根據(jù)邊界值組合測試用例規(guī)則,保留其中一個(gè)變量,讓其余變量取正常值,共可以得到余變量取正常值,共可以得到6*3+1=19個(gè)測試用例個(gè)測試用例63傭金問題的邊界值測試傭金問題的邊界值測試測試用例測試用例白酒白酒紅酒紅酒啤酒啤酒銷售額雇銷售額雇預(yù)期輸出預(yù)期輸出Test149150015000263232輸輸入非法入非法Test250150015000263400傭金傭金:2142Test351150015000263568傭金傭金:2142.84Test42500150015000675000傭金傭金:4200Test549991500150001094832傭金傭金:6299.16Test650001500150001095000傭金傭金:6300Test750011500150001095168輸輸入非法入非法.軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試從輸出角度對(duì)該程序進(jìn)行測試。因?yàn)殇N售員每月至少需售從輸出角度對(duì)該程序進(jìn)行測試。因?yàn)殇N售員每月至少需售出白酒出白酒50瓶,紅酒瓶,紅酒30瓶,啤酒瓶,啤酒300瓶,此時(shí)銷售額為瓶,此時(shí)銷售額為1.35萬。至少需售出白酒萬。至少需售出白酒5000瓶,紅酒瓶,紅酒3000瓶,啤酒瓶,啤酒30000瓶,此時(shí)銷售額為瓶,此時(shí)銷售額為135萬。銷售額等價(jià)類劃分為:萬。銷售額等價(jià)類劃分為:1.35,2、(、(2,4.5、(、(4.5,135對(duì)此等價(jià)類分別取邊界值為:對(duì)此等價(jià)類分別取邊界值為:略小于略小于1.35,1.35,略大于,略大于1.35,1.7,略小于略小于2,2,略大于,略大于2,3.5 略小于略小于4.5,4.5,略大于,略大于4.5,70 略小于略小于135,135,略大于,略大于135,64傭金問題的邊界值測試傭金問題的邊界值測試軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試測試用例測試用例白酒白酒紅酒紅酒啤酒啤酒銷售額雇銷售額雇預(yù)期輸出預(yù)期輸出Test1503029913495輸輸入非法入非法Test2503030013500傭金傭金:540Test3503030113505傭金傭金:540.2Test4505052017000傭金傭金:680Test5606054319995傭金傭金:799.8Test6606054420000傭金傭金:800Test7606054520005傭金傭金:800.05.65傭金問題的邊界值測試傭金問題的邊界值測試思考:如何選擇測試用例思考:如何選擇測試用例軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v從輸入角度分析該問題。該問題的輸入有從輸入角度分析該問題。該問題的輸入有3個(gè),其對(duì)應(yīng)個(gè),其對(duì)應(yīng)的等價(jià)類劃分為:的等價(jià)類劃分為:month,有效等價(jià)類,有效等價(jià)類1,12day,有效等價(jià)類,有效等價(jià)類1,31year,有效等價(jià)類,有效等價(jià)類1800,2050v按照邊界值取值方法,對(duì)每個(gè)輸入分別取按照邊界值取值方法,對(duì)每個(gè)輸入分別取7個(gè)值。個(gè)值。month,取值,取值0,1,2,6,11,12,13day,取值,取值0,1,2,15,30,31,32year,取值,取值1799,1800,1801,1975,2049,2050,205166分析分析軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試測試用例測試用例MonthDayYear預(yù)期輸出預(yù)期輸出Test16151799無效輸入日期無效輸入日期Test261518001800年年6月月16日日Test361519131801年年6月月16日日Test461519751975年年6月月16日日Test561520492049年年6月月16日日Test661520502050年年6月月16日日Test76152051無效輸入日期無效輸入日期Test8601975無效輸入日期無效輸入日期。67組合用例組合用例軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v優(yōu)點(diǎn):簡便易行;生成測試數(shù)據(jù)的成本很低;優(yōu)點(diǎn):簡便易行;生成測試數(shù)據(jù)的成本很低;v局限性:不能發(fā)現(xiàn)測試變量之間的依賴關(guān)系;不考慮含局限性:不能發(fā)現(xiàn)測試變量之間的依賴關(guān)系;不考慮含義和性質(zhì)義和性質(zhì);測試用例不充分測試用例不充分,往往具有較大的冗余與漏洞。往往具有較大的冗余與漏洞。v是一種最基本的黑盒測試方法,它是等價(jià)類測試良好的是一種最基本的黑盒測試方法,它是等價(jià)類測試良好的補(bǔ)充。補(bǔ)充。68邊界值分析的局限性邊界值分析的局限性軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v1.針對(duì)三角形問題,利用邊界值方法進(jìn)針對(duì)三角形問題,利用邊界值方法進(jìn)行測試用例設(shè)計(jì)與分析行測試用例設(shè)計(jì)與分析v在三角形問題描述中,除了要求邊長是整在三角形問題描述中,除了要求邊長是整數(shù)外,沒有給出其他的限制條件。顯然,數(shù)外,沒有給出其他的限制條件。顯然,邊長下界為邊長下界為1,邊長上界可取為,邊長上界可取為100。69三角形問題三角形問題軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試70任務(wù)任務(wù)3:決策表方法決策表方法 123知知知知識(shí)識(shí)識(shí)識(shí)準(zhǔn)準(zhǔn)準(zhǔn)準(zhǔn)備備備備任任任任務(wù)務(wù)務(wù)務(wù)實(shí)實(shí)實(shí)實(shí)施施施施任任任任務(wù)務(wù)務(wù)務(wù)陳陳陳陳述述述述45任任任任務(wù)務(wù)務(wù)務(wù)拓拓拓拓展展展展項(xiàng)項(xiàng)項(xiàng)項(xiàng)目目目目實(shí)實(shí)實(shí)實(shí)訓(xùn)訓(xùn)訓(xùn)訓(xùn)軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試71任務(wù)任務(wù)3陳述陳述本任務(wù)介紹了決策表測試的相關(guān)概念,本任務(wù)介紹了決策表測試的相關(guān)概念,通過通過“三角形三角形”問題,介紹了如何使用決問題,介紹了如何使用決策表方法設(shè)計(jì)測試用例,包括決策表的構(gòu)策表方法設(shè)計(jì)測試用例,包括決策表的構(gòu)成,化簡,決策表測試的指導(dǎo)方針。成,化簡,決策表測試的指導(dǎo)方針。軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試72任務(wù)任務(wù)3陳述陳述v三角形問題描述三角形問題描述輸入輸入3個(gè)整數(shù)個(gè)整數(shù)a、b和和c分別作為三角形的分別作為三角形的3條邊,要條邊,要求求a、b 和和c必須滿足以下條件:必須滿足以下條件:程序輸出是由這程序輸出是由這3條邊構(gòu)成的三角形類型:等邊三角條邊構(gòu)成的三角形類型:等邊三角形、等腰三角形、一般三角形或非三角形。形、等腰三角形、一般三角形或非三角形。Con1 1a100Con2 1b100Con3 1c100Con4 ab+cCon5 ba+cCon6 ca+b軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試73任務(wù)任務(wù)3陳述陳述v如果輸入值不滿足這些條件中的任何一個(gè),程序給出相應(yīng)如果輸入值不滿足這些條件中的任何一個(gè),程序給出相應(yīng)的信息。例如,的信息。例如,“邊邊c的取值不在允許取值的范圍內(nèi)的取值不在允許取值的范圍內(nèi)”等。等。v如果如果a、b和和c滿足滿足Con1、Con2和和Con3,則輸出下列,則輸出下列4種情況之一:種情況之一:如果不滿足條件如果不滿足條件Con4、Con5和和Con6中的一個(gè),則中的一個(gè),則程序輸出為程序輸出為“非三角形非三角形”。如果三條邊相等,則程序輸出為如果三條邊相等,則程序輸出為“等邊三角形等邊三角形”。如果恰好有兩條邊相等,則程序輸出為如果恰好有兩條邊相等,則程序輸出為“等腰三角形等腰三角形”。如果三條邊都不相等,則程序輸出為如果三條邊都不相等,則程序輸出為“一般三角形一般三角形”。軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試74知識(shí)點(diǎn)列表知識(shí)點(diǎn)列表v決策表的相關(guān)概念決策表的相關(guān)概念v決策表設(shè)計(jì)測試用例的方法決策表設(shè)計(jì)測試用例的方法軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v決策表(決策表(Decision Table),又叫判定),又叫判定表表v是分析和表達(dá)多邏輯條件下執(zhí)行不同操作是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的工具。的工具。v在程序設(shè)計(jì)發(fā)展的初期,判定表被當(dāng)作編在程序設(shè)計(jì)發(fā)展的初期,判定表被當(dāng)作編寫程序的輔助工具。寫程序的輔助工具。75引入引入軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試12345678問題問題C1:你你覺覺得疲倦得疲倦嗎嗎?YYYYNNNNC2:感感興興趣趣嗎嗎?YYNNYYNNC3:糊涂糊涂嗎嗎?YNYNYNYN建建議議A1:重重讀讀A2:繼續(xù)繼續(xù)A3:跳到下一章跳到下一章A4:休息休息76決策表的構(gòu)成決策表的構(gòu)成閱讀指南閱讀指南軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v條件樁:列出了問題的所有條件樁:列出了問題的所有條件。條件。v條件項(xiàng):針對(duì)條件樁給出的條件項(xiàng):針對(duì)條件樁給出的條件列出所有可能的取值。條件列出所有可能的取值。77決策表的構(gòu)成決策表的構(gòu)成v動(dòng)作樁:給出了問題規(guī)定的可能采取的操作。動(dòng)作樁:給出了問題規(guī)定的可能采取的操作。v動(dòng)作項(xiàng):和條件項(xiàng)緊密相關(guān),指出在條件項(xiàng)的各組取值動(dòng)作項(xiàng):和條件項(xiàng)緊密相關(guān),指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作。情況下應(yīng)采取的動(dòng)作。軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v規(guī)則規(guī)則任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作稱為規(guī)則;作稱為規(guī)則;在決策表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)在決策表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則;則;決策表中列出多少組條件取值,也就有多少條規(guī)則,決策表中列出多少組條件取值,也就有多少條規(guī)則,即條件項(xiàng)和動(dòng)作項(xiàng)有多少列。即條件項(xiàng)和動(dòng)作項(xiàng)有多少列。78決策表的構(gòu)成決策表的構(gòu)成軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v規(guī)則示例規(guī)則示例:閱讀指南閱讀指南79決策表的構(gòu)成決策表的構(gòu)成12345678問題問題C1:你你覺覺得疲倦得疲倦嗎嗎?YYYYNNNNC2:感感興興趣趣嗎嗎?YYNNYYNNC3:糊涂糊涂嗎嗎?YNYNYNYN建建議議A1:重重讀讀A2:繼續(xù)繼續(xù)A3:跳到下一章跳到下一章A4:休息休息軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v規(guī)則合并就是決策表的簡化。規(guī)則合并就是決策表的簡化。v有兩條或多條規(guī)則具有相同的動(dòng)作,并且其條件項(xiàng)之間有兩條或多條規(guī)則具有相同的動(dòng)作,并且其條件項(xiàng)之間存在著極為相似的關(guān)系,就可以將規(guī)則合并。存在著極為相似的關(guān)系,就可以將規(guī)則合并。80決策表的化簡決策表的化簡條件項(xiàng)條件項(xiàng)“”表示表示與取值無關(guān)與取值無關(guān)軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件技術(shù)專業(yè)國家教學(xué)資源庫軟件測試軟件測試課程課程軟件測試軟件測試v閱讀指南問題的簡化后決策表閱讀指南問題的簡化后決策表81決策表的化簡決策表的化簡1-4567-8問問題題C1:你你覺覺得得疲倦疲倦嗎嗎?YNNNC2:感感興興趣趣嗎嗎?YYNC3:糊涂糊涂嗎嗎?YNY建建議議A
收藏