




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件測(cè)試技術(shù)軟件測(cè)試技術(shù)東北大學(xué)軟件學(xué)院吳辰鈮第二章第二章 黑盒測(cè)試黑盒測(cè)試 主要內(nèi)容主要內(nèi)容 2.1 基本概念基本概念 2.2 等價(jià)類劃分方法等價(jià)類劃分方法 2.3 邊界值分析方法邊界值分析方法 2.4 因果圖法因果圖法 2.5 決策分析法決策分析法 2.6 錯(cuò)誤推測(cè)法錯(cuò)誤推測(cè)法 2.7 場(chǎng)景法場(chǎng)景法 2.8 正交試驗(yàn)法正交試驗(yàn)法 2.9 歸納總結(jié)歸納總結(jié)2.1 2.1 基本概念基本概念 什么是測(cè)試用例?什么是測(cè)試用例? 測(cè)試用例就是為了特定目的而設(shè)計(jì)測(cè)試用例就是為了特定目的而設(shè)計(jì)的測(cè)試數(shù)據(jù)及與之相關(guān)的測(cè)試規(guī)程的測(cè)試數(shù)據(jù)及與之相關(guān)的測(cè)試規(guī)程的一個(gè)特定集合。的一個(gè)特定集合。 有效地發(fā)現(xiàn)軟件缺陷
2、的最小單元。有效地發(fā)現(xiàn)軟件缺陷的最小單元。2.1 2.1 基本概念基本概念 測(cè)試用例的重要性測(cè)試用例的重要性 有效性有效性 可復(fù)用性可復(fù)用性 易組織性易組織性 可評(píng)估性可評(píng)估性 可管理性可管理性2.1 2.1 基本概念基本概念 測(cè)試用例設(shè)計(jì)考慮因素測(cè)試用例設(shè)計(jì)考慮因素 測(cè)試用例必須具有代表性、典型性。測(cè)試用例必須具有代表性、典型性。 測(cè)試用例設(shè)計(jì)時(shí),要濃縮系統(tǒng)設(shè)計(jì)。測(cè)試用例設(shè)計(jì)時(shí),要濃縮系統(tǒng)設(shè)計(jì)。 測(cè)試用例需要考慮到正確的輸入,也需要考慮測(cè)試用例需要考慮到正確的輸入,也需要考慮錯(cuò)誤或異常的輸入,以及需要分析怎樣使得這錯(cuò)誤或異常的輸入,以及需要分析怎樣使得這樣的錯(cuò)誤或者異常能夠發(fā)生。樣的錯(cuò)誤或者
3、異常能夠發(fā)生。 用戶測(cè)試用例設(shè)計(jì),要多考慮用戶實(shí)際使用場(chǎng)用戶測(cè)試用例設(shè)計(jì),要多考慮用戶實(shí)際使用場(chǎng)景。景。2.1 2.1 基本概念基本概念 測(cè)試用例設(shè)計(jì)的基本原則測(cè)試用例設(shè)計(jì)的基本原則 盡量避免含糊的測(cè)試用例。盡量避免含糊的測(cè)試用例。 盡量將具有類似功能的測(cè)試用例抽象并歸盡量將具有類似功能的測(cè)試用例抽象并歸類。類。 盡量避免冗長(zhǎng)和復(fù)雜的測(cè)試用例。盡量避免冗長(zhǎng)和復(fù)雜的測(cè)試用例。2.1 2.1 基本概念基本概念 黑盒測(cè)試又稱功能測(cè)試,數(shù)據(jù)驅(qū)動(dòng)測(cè)試或黑盒測(cè)試又稱功能測(cè)試,數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于規(guī)格說(shuō)明書的測(cè)試,是一種從用戶觀基于規(guī)格說(shuō)明書的測(cè)試,是一種從用戶觀點(diǎn)出發(fā)的測(cè)試,也可稱為用戶測(cè)試,主要點(diǎn)出發(fā)的測(cè)
4、試,也可稱為用戶測(cè)試,主要應(yīng)用于快速應(yīng)用開發(fā)環(huán)境。應(yīng)用于快速應(yīng)用開發(fā)環(huán)境。軟件輸輸入入輸輸出出2.1 2.1 基本概念基本概念 黑盒測(cè)試法注重于測(cè)試軟件的功能需求,黑盒測(cè)試法注重于測(cè)試軟件的功能需求,主要試圖發(fā)現(xiàn)下列幾類錯(cuò)誤:主要試圖發(fā)現(xiàn)下列幾類錯(cuò)誤: 功能不正確或遺漏功能不正確或遺漏 界面錯(cuò)誤界面錯(cuò)誤 數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤 性能錯(cuò)誤性能錯(cuò)誤 初始化和終止錯(cuò)誤等初始化和終止錯(cuò)誤等 2.1 2.1 基本概念基本概念 黑盒測(cè)試用于回答以下問(wèn)題:黑盒測(cè)試用于回答以下問(wèn)題: 1 1)如何測(cè)試功能的有效性?)如何測(cè)試功能的有效性? 2 2)何種類型的輸入會(huì)產(chǎn)生好的測(cè)試用例?)何種類型的輸入會(huì)產(chǎn)生
5、好的測(cè)試用例? 3 3)系統(tǒng)是否對(duì)特定的輸入值尤其敏感?)系統(tǒng)是否對(duì)特定的輸入值尤其敏感? 4 4)如何分隔數(shù)據(jù)類的邊界?)如何分隔數(shù)據(jù)類的邊界? 5 5)系統(tǒng)能夠承受何種數(shù)據(jù)率和數(shù)據(jù)量?)系統(tǒng)能夠承受何種數(shù)據(jù)率和數(shù)據(jù)量? 6 6)特定類型的數(shù)據(jù)組合會(huì)對(duì)系統(tǒng)產(chǎn)生何)特定類型的數(shù)據(jù)組合會(huì)對(duì)系統(tǒng)產(chǎn)生何種影響?種影響?2.1 2.1 基本概念基本概念 從理論上講,用黑盒測(cè)試發(fā)現(xiàn)程序中的錯(cuò)從理論上講,用黑盒測(cè)試發(fā)現(xiàn)程序中的錯(cuò)誤,必須在所有可能的輸入條件和輸出條誤,必須在所有可能的輸入條件和輸出條件中確定測(cè)試數(shù)據(jù),來(lái)檢查程序是否都能件中確定測(cè)試數(shù)據(jù),來(lái)檢查程序是否都能產(chǎn)生正確的輸出。但這是不可能的,因?yàn)?/p>
6、產(chǎn)生正確的輸出。但這是不可能的,因?yàn)楦F舉測(cè)試數(shù)量太大,無(wú)法完成。窮舉測(cè)試數(shù)量太大,無(wú)法完成。2.1 2.1 基本概念基本概念 假設(shè)一個(gè)程序假設(shè)一個(gè)程序 P P 有輸入量有輸入量 X X 和和 Y Y 及輸出量及輸出量 Z Z 。在字長(zhǎng)為在字長(zhǎng)為3232位的計(jì)算機(jī)上運(yùn)行。若位的計(jì)算機(jī)上運(yùn)行。若 X X 、Y Y 取整數(shù),取整數(shù),按黑盒方法進(jìn)行窮舉測(cè)試,請(qǐng)問(wèn)需要多少時(shí)間?按黑盒方法進(jìn)行窮舉測(cè)試,請(qǐng)問(wèn)需要多少時(shí)間?(假設(shè)(假設(shè)1 1毫秒鐘執(zhí)行一組數(shù)據(jù))毫秒鐘執(zhí)行一組數(shù)據(jù)) 232 232232 / 365 232 / 365 24 24 60 60 60 60 1000 = 5 1000 = 5億年
7、億年P(guān)XYZ2.1 2.1 基本概念基本概念 測(cè)試方法測(cè)試方法 等價(jià)類劃分等價(jià)類劃分 邊界值分析邊界值分析 錯(cuò)誤推測(cè)法錯(cuò)誤推測(cè)法 因果圖法因果圖法 決策分析法決策分析法 場(chǎng)景法場(chǎng)景法 正交試驗(yàn)法正交試驗(yàn)法2.2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法 等價(jià)類劃分法等價(jià)類劃分法 是一種典型的黑盒測(cè)試方法。這一方法完是一種典型的黑盒測(cè)試方法。這一方法完全不考慮程序的內(nèi)部結(jié)構(gòu),只依據(jù)程序的全不考慮程序的內(nèi)部結(jié)構(gòu),只依據(jù)程序的規(guī)格說(shuō)明來(lái)設(shè)計(jì)測(cè)試用例。規(guī)格說(shuō)明來(lái)設(shè)計(jì)測(cè)試用例。 把所有可能的輸入數(shù)據(jù),即程序的輸入域把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分,然后從每一部分中選取劃分成若干部分,然后從
8、每一部分中選取少數(shù)有代表性的數(shù)據(jù)做為測(cè)試用例,這樣少數(shù)有代表性的數(shù)據(jù)做為測(cè)試用例,這樣就能以較少的具有代表性的數(shù)據(jù)進(jìn)行測(cè)試,就能以較少的具有代表性的數(shù)據(jù)進(jìn)行測(cè)試,而取得較好的測(cè)試效果。而取得較好的測(cè)試效果。2.2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法 等價(jià)類定義等價(jià)類定義 等價(jià)類是指某個(gè)輸入域的子集合。等價(jià)類是指某個(gè)輸入域的子集合。 等價(jià)類合理地假設(shè):某個(gè)等價(jià)類的代等價(jià)類合理地假設(shè):某個(gè)等價(jià)類的代表值,與該等價(jià)類的其他值,對(duì)于測(cè)表值,與該等價(jià)類的其他值,對(duì)于測(cè)試來(lái)說(shuō)是等價(jià)的。試來(lái)說(shuō)是等價(jià)的。2.2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法 等價(jià)類劃分為兩種情況等價(jià)類劃分為兩種情況 有效等價(jià)類有效等
9、價(jià)類 指對(duì)于程序的規(guī)格說(shuō)明來(lái)說(shuō),是合理的,指對(duì)于程序的規(guī)格說(shuō)明來(lái)說(shuō),是合理的,有意義的輸入數(shù)據(jù)所構(gòu)成的集合。有意義的輸入數(shù)據(jù)所構(gòu)成的集合。 利用它可以檢驗(yàn)程序是否實(shí)現(xiàn)了預(yù)期的功利用它可以檢驗(yàn)程序是否實(shí)現(xiàn)了預(yù)期的功能和性能。能和性能。 無(wú)效等價(jià)類無(wú)效等價(jià)類 是指對(duì)于程序的規(guī)格說(shuō)明來(lái)說(shuō),是不合理是指對(duì)于程序的規(guī)格說(shuō)明來(lái)說(shuō),是不合理的,沒(méi)有意義的輸入數(shù)據(jù)所構(gòu)成的集合。的,沒(méi)有意義的輸入數(shù)據(jù)所構(gòu)成的集合。 利用它可以檢驗(yàn)程序?qū)τ跓o(wú)效數(shù)據(jù)的處理。利用它可以檢驗(yàn)程序?qū)τ跓o(wú)效數(shù)據(jù)的處理。2.2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法 等價(jià)類劃分的原則等價(jià)類劃分的原則 如果輸入條件規(guī)定了取值范圍,或值的個(gè)數(shù),如
10、果輸入條件規(guī)定了取值范圍,或值的個(gè)數(shù),則可以確立一個(gè)有效等價(jià)類和兩個(gè)無(wú)效等價(jià)類。則可以確立一個(gè)有效等價(jià)類和兩個(gè)無(wú)效等價(jià)類。 例如,在程序的規(guī)格說(shuō)明中,對(duì)輸入條件有一例如,在程序的規(guī)格說(shuō)明中,對(duì)輸入條件有一句話:句話: “ 變量可以從變量可以從1到到999 ” ,則,則 有效等價(jià)類是有效等價(jià)類是“1變量變量999” 兩個(gè)無(wú)效等價(jià)類是兩個(gè)無(wú)效等價(jià)類是“變量變量1”或或“變量變量999”。 在數(shù)軸上表示成在數(shù)軸上表示成:2.2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法 等價(jià)類劃分的原則等價(jià)類劃分的原則 如果輸入條件規(guī)定了輸入值的集合,或如果輸入條件規(guī)定了輸入值的集合,或者是規(guī)定了者是規(guī)定了“必須如何必須
11、如何”的條件,這時(shí)的條件,這時(shí)可確立一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)可確立一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。類。 例如,在對(duì)變量標(biāo)識(shí)符規(guī)定為例如,在對(duì)變量標(biāo)識(shí)符規(guī)定為“以字母以字母打頭的打頭的串串”。那么所有以字母打頭。那么所有以字母打頭的構(gòu)成有效等價(jià)類,而不在此集合內(nèi)的構(gòu)成有效等價(jià)類,而不在此集合內(nèi)(不以字母打頭)的歸于無(wú)效等價(jià)類。(不以字母打頭)的歸于無(wú)效等價(jià)類。2.2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法 等價(jià)類劃分的原則等價(jià)類劃分的原則 如果輸入條件是一個(gè)布爾量,則可以確定一如果輸入條件是一個(gè)布爾量,則可以確定一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。 等價(jià)類劃分的原則等
12、價(jià)類劃分的原則 如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序要如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序要對(duì)每個(gè)輸入值分別進(jìn)行處理。這時(shí)可為每一對(duì)每個(gè)輸入值分別進(jìn)行處理。這時(shí)可為每一個(gè)輸入值確立一個(gè)有效等價(jià)類,此外針對(duì)這個(gè)輸入值確立一個(gè)有效等價(jià)類,此外針對(duì)這組值確立一個(gè)無(wú)效等價(jià)類,它是所有不允許組值確立一個(gè)無(wú)效等價(jià)類,它是所有不允許的輸入值的集合。的輸入值的集合。 例如,在教師上崗方案中規(guī)定對(duì)教授、副教例如,在教師上崗方案中規(guī)定對(duì)教授、副教授、講師和助教分別計(jì)算分?jǐn)?shù),做相應(yīng)的處授、講師和助教分別計(jì)算分?jǐn)?shù),做相應(yīng)的處理。因此可以確定理。因此可以確定4個(gè)有效等價(jià)類為教授、個(gè)有效等價(jià)類為教授、副教授、講師和助教,
13、一個(gè)無(wú)效等價(jià)類,它副教授、講師和助教,一個(gè)無(wú)效等價(jià)類,它是所有不符合以上身分的人員的輸入值的集是所有不符合以上身分的人員的輸入值的集合。合。2.2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法 等價(jià)類劃分的原則等價(jià)類劃分的原則 如果規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則,則如果規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則,則可以確立一個(gè)有效等價(jià)類(符合規(guī)則)和可以確立一個(gè)有效等價(jià)類(符合規(guī)則)和若干個(gè)無(wú)效等價(jià)類(從不同角度違反規(guī)若干個(gè)無(wú)效等價(jià)類(從不同角度違反規(guī)則)。則)。 例如,編程語(yǔ)言規(guī)定例如,編程語(yǔ)言規(guī)定 “一個(gè)語(yǔ)句必須以一個(gè)語(yǔ)句必須以分號(hào)分號(hào);結(jié)束結(jié)束”。這時(shí),可以確定一個(gè)。這時(shí),可以確定一個(gè)有效等價(jià)類有效等價(jià)類 “以
14、以;結(jié)束結(jié)束”,若干個(gè)無(wú),若干個(gè)無(wú)效等價(jià)類效等價(jià)類 “以以:結(jié)束結(jié)束”、“以以,結(jié)束結(jié)束”、“以以 結(jié)束結(jié)束”、“以以LF結(jié)束結(jié)束”等。等。2.2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法 規(guī)定范圍和個(gè)數(shù),有效一個(gè)無(wú)效倆。規(guī)定范圍和個(gè)數(shù),有效一個(gè)無(wú)效倆。 必須條件布爾量,有效無(wú)效一沒(méi)錯(cuò)。必須條件布爾量,有效無(wú)效一沒(méi)錯(cuò)。 不同輸入不同待,有效多來(lái)無(wú)效單。不同輸入不同待,有效多來(lái)無(wú)效單。 輸入數(shù)據(jù)有限制,有效單一無(wú)效多。輸入數(shù)據(jù)有限制,有效單一無(wú)效多。 等價(jià)劃分綜合斷,類中有類細(xì)定度。等價(jià)劃分綜合斷,類中有類細(xì)定度。 2.2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法弱弱強(qiáng)強(qiáng)一般一般健壯健壯強(qiáng)健壯強(qiáng)健壯弱健
15、壯弱健壯弱一般弱一般強(qiáng)一般強(qiáng)一般2.2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法 設(shè)計(jì)測(cè)試用例步驟設(shè)計(jì)測(cè)試用例步驟 確定等價(jià)類;確定等價(jià)類; 建立等價(jià)類表,列出所有劃分出的等價(jià)類;建立等價(jià)類表,列出所有劃分出的等價(jià)類; 為每一個(gè)等價(jià)類規(guī)定一個(gè)唯一編號(hào);為每一個(gè)等價(jià)類規(guī)定一個(gè)唯一編號(hào); 設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋尚未被覆蓋的有效等價(jià)類,重復(fù)這一步,蓋尚未被覆蓋的有效等價(jià)類,重復(fù)這一步,直到所有的有效等價(jià)類都被覆蓋為止;直到所有的有效等價(jià)類都被覆蓋為止; 設(shè)計(jì)一個(gè)新的測(cè)試用例,使其僅覆蓋一個(gè)尚設(shè)計(jì)一個(gè)新的測(cè)試用例,使其僅覆蓋一個(gè)尚未被覆蓋的無(wú)效等價(jià)類
16、,重復(fù)這一步,直到未被覆蓋的無(wú)效等價(jià)類,重復(fù)這一步,直到所有的無(wú)效等價(jià)類都被覆蓋為止。所有的無(wú)效等價(jià)類都被覆蓋為止。2.2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法例一:三角形問(wèn)題例一:三角形問(wèn)題三角形問(wèn)題接收三個(gè)整數(shù)三角形問(wèn)題接收三個(gè)整數(shù)a、b、c作為輸入,用做三角形的邊。整數(shù)作為輸入,用做三角形的邊。整數(shù)a、b、c必須滿足以下條件:必須滿足以下條件: C1. 1a 200 C4. a b + c C2. 1b 200 C5. b a + c C3. 1c 200 C6. c a + b程序的輸出是由這三條邊確定的三角形類型,即等邊三角形,等腰三程序的輸出是由這三條邊確定的三角形類型,即等邊三角
17、形,等腰三角形,不等邊三角形或非三角形。角形,不等邊三角形或非三角形。如果輸入值沒(méi)有滿足這些條件中的任何一個(gè),則程序會(huì)通過(guò)輸出消息如果輸入值沒(méi)有滿足這些條件中的任何一個(gè),則程序會(huì)通過(guò)輸出消息來(lái)進(jìn)行通知,例如來(lái)進(jìn)行通知,例如“c的取值不在允許取值的范圍內(nèi)。的取值不在允許取值的范圍內(nèi)。”如果如果a、b、c的取值滿足的取值滿足C1、C2、C3,則給出以下四種相互排斥輸出,則給出以下四種相互排斥輸出中的一個(gè):中的一個(gè): 1.如果三條邊相等,則程序的輸出是等邊三角形。如果三條邊相等,則程序的輸出是等邊三角形。 2.如果恰好有兩條邊相等,則程序的輸出是等腰三角形。如果恰好有兩條邊相等,則程序的輸出是等腰三
18、角形。 3.如果沒(méi)有兩條邊相等,則程序的輸出是不等邊三角形。如果沒(méi)有兩條邊相等,則程序的輸出是不等邊三角形。 4.如果如果C4、C5、C6中有一個(gè)條件不滿足,則程序輸出的是非三角形。中有一個(gè)條件不滿足,則程序輸出的是非三角形。2.2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法 例一:三角形問(wèn)題例一:三角形問(wèn)題 第一步第一步 確定等價(jià)類確定等價(jià)類 R1=:有三條邊:有三條邊a、b和和c的等的等邊三角形邊三角形 R2=:有三條邊:有三條邊a、b和和c的等的等腰三角形腰三角形 R3=:有三條邊:有三條邊a、b和和c的不的不等邊三角形等邊三角形 R4=:三條邊:三條邊a、b和和c不構(gòu)成不構(gòu)成三角形三角形2.
19、2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法 例一:三角形問(wèn)題例一:三角形問(wèn)題 第二步第二步 選取測(cè)試用選取測(cè)試用例例測(cè)試用例測(cè)試用例abc預(yù)期輸出預(yù)期輸出WN1555等邊三角形等邊三角形WN2223等腰三角形等腰三角形WN3345三角形三角形WN4412非三角形非三角形SR1-1-15a、b取值不在允許的范圍內(nèi)取值不在允許的范圍內(nèi)SR25-1-1b、c取值不在允許的范圍內(nèi)取值不在允許的范圍內(nèi)SR3-15-1a、c取值不在允許的范圍內(nèi)取值不在允許的范圍內(nèi)SR4-1-1-1a、b、c取值不在允許的范圍內(nèi)取值不在允許的范圍內(nèi)2.2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法 例二:例二: NextDate函
20、數(shù)的等價(jià)類測(cè)試用例函數(shù)的等價(jià)類測(cè)試用例 第一步第一步 確定等價(jià)類確定等價(jià)類 有效等價(jià)類:有效等價(jià)類: M1 = 月份:月份:1月份月份12 D1 = 日期:日期:1日期日期31 Y1 = 年:年:1812年年2012 無(wú)效等價(jià)類:無(wú)效等價(jià)類: M2 = 月份:月份月份:月份12 D2 = 日期:日期日期:日期31 Y2 = 年:年年:年20122.2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法 NextDate函數(shù)的強(qiáng)健壯等價(jià)類測(cè)試用例函數(shù)的強(qiáng)健壯等價(jià)類測(cè)試用例用例用例ID月份月份日期日期年年預(yù)期輸出預(yù)期輸出SR1-1151912無(wú)效輸入無(wú)效輸入SR26-11912無(wú)效輸入無(wú)效輸入SR3615181
21、1無(wú)效輸入無(wú)效輸入SR4-1-11912無(wú)效輸入無(wú)效輸入SR56-11811無(wú)效輸入無(wú)效輸入SR6-1151811無(wú)效輸入無(wú)效輸入SR7-1-11811無(wú)效輸入無(wú)效輸入2.2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法 練習(xí):前亞利桑那州境內(nèi)的一位步槍銷售商銷售密蘇里州制練習(xí):前亞利桑那州境內(nèi)的一位步槍銷售商銷售密蘇里州制造的步槍機(jī)、槍托和槍管。槍機(jī)(造的步槍機(jī)、槍托和槍管。槍機(jī)(Lock)賣)賣45美元,槍托美元,槍托(Stock)賣)賣30美元,槍管(美元,槍管(Barrel)賣)賣25美元。銷售商每月美元。銷售商每月至少要銷售一支完整的步槍,且生產(chǎn)限額是大多數(shù)銷售商在至少要銷售一支完整的步槍,
22、且生產(chǎn)限額是大多數(shù)銷售商在一個(gè)月內(nèi)可銷售一個(gè)月內(nèi)可銷售70個(gè)槍機(jī)、個(gè)槍機(jī)、80個(gè)槍托和個(gè)槍托和90個(gè)槍管。每訪問(wèn)一個(gè)槍管。每訪問(wèn)一個(gè)鎮(zhèn)子之后,銷售商都給密蘇里州步槍制造商發(fā)出電報(bào),說(shuō)個(gè)鎮(zhèn)子之后,銷售商都給密蘇里州步槍制造商發(fā)出電報(bào),說(shuō)明在那個(gè)鎮(zhèn)子中售出的槍機(jī)、槍托和槍管數(shù)量。到了月末,明在那個(gè)鎮(zhèn)子中售出的槍機(jī)、槍托和槍管數(shù)量。到了月末,銷售商要發(fā)出一封很短的電報(bào),通知銷售商要發(fā)出一封很短的電報(bào),通知1個(gè)槍機(jī)被售出。這個(gè)槍機(jī)被售出。這樣步槍制造商就知道當(dāng)月的銷售情況,并計(jì)算銷售商的傭金樣步槍制造商就知道當(dāng)月的銷售情況,并計(jì)算銷售商的傭金如下:銷售額不到(含)如下:銷售額不到(含)1000美元的部
23、分為美元的部分為10,1000(不(不含)含)1800(含)美元的部分為(含)美元的部分為15,超過(guò),超過(guò)1800美元的部分美元的部分為為20。傭金程序生成月份銷售報(bào)告,匯總售出的槍機(jī)、槍。傭金程序生成月份銷售報(bào)告,匯總售出的槍機(jī)、槍托和槍管總數(shù),銷售商的總銷售額以及傭金。托和槍管總數(shù),銷售商的總銷售額以及傭金。2.2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法 練習(xí)練習(xí):傭金問(wèn)題測(cè)試用例傭金問(wèn)題測(cè)試用例 輸入域的等價(jià)類測(cè)試輸入域的等價(jià)類測(cè)試 輸出域的等價(jià)類測(cè)試輸出域的等價(jià)類測(cè)試2.2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法 輸入等價(jià)類:輸入等價(jià)類: 有效等價(jià)類:有效等價(jià)類: L1槍機(jī):槍機(jī):1槍機(jī)槍
24、機(jī)70 L2槍機(jī)槍機(jī)1 S1槍托:槍托:1 槍托槍托80 B1槍管:槍管:1 槍管槍管90 無(wú)效等價(jià)類:無(wú)效等價(jià)類: L3槍機(jī):槍機(jī)槍機(jī):槍機(jī)0或槍機(jī)或槍機(jī)1 L4槍機(jī):槍機(jī)槍機(jī):槍機(jī)70 S2槍托:槍托槍托:槍托1 S3槍托:槍托槍托:槍托80 B2槍管:槍管槍管:槍管1 B3槍管:槍管槍管:槍管902.2 2.2 等價(jià)類劃分方法等價(jià)類劃分方法 輸出等價(jià)類:輸出等價(jià)類: 銷售額銷售額45槍機(jī)槍機(jī) 30槍托槍托25槍管槍管 S1:銷售額:銷售額1000 S2:1000銷售額銷售額1800 S3= :銷售額:銷售額18002.3 2.3 邊界值分析方法邊界值分析方法 邊界值分析方法的意義邊界值分
25、析方法的意義 人們從長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)得知,大量人們從長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)得知,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上,而不是在輸入范圍的內(nèi)部。因此針上,而不是在輸入范圍的內(nèi)部。因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤。出更多的錯(cuò)誤。 邊界值分析方法的基本思想邊界值分析方法的基本思想 關(guān)注的是輸入空間的邊界;關(guān)注的是輸入空間的邊界; 邊界值分析的基本思想是使用在最小值、邊界值分析的基本思想是使用在最小值、略高于最小值、正常值、略低于最大值略高于最小值、正常值、略低于最大值和最大值處取輸入變量值。和最大值處取輸入變量
26、值。2.3 2.3 邊界值分析方法邊界值分析方法 三角形問(wèn)題三角形問(wèn)題 三個(gè)輸入,即三條邊三個(gè)輸入,即三條邊a、b、c,其取值范圍為:,其取值范圍為: 1 a 200 1 b 200 1 c 200 a = 1,2,100,199,200 b = 1,2,100,199,200 c = 1,2,100,199,2002.3 2.3 邊界值分析方法邊界值分析方法用例用例ABC預(yù)期輸出預(yù)期輸出11001001等腰三角形等腰三角形21001002等腰三角形等腰三角形3100100100等邊三角形等邊三角形4100100199等腰三角形等腰三角形5100100200非三角形非三角形61001100等腰
27、三角形等腰三角形71002100等腰三角形等腰三角形8100100100等邊三角形等邊三角形9100199100等腰三角形等腰三角形10100200100非三角形非三角形111100100等腰三角形等腰三角形122100100等腰三角形等腰三角邊三角形等邊三角腰三角形等腰三角三角形非三角形三角形邊界值測(cè)試用例三角形邊界值測(cè)試用例最小值略高于最小值正常值最大值略低于最大值2.3 2.3 邊界值分析方法邊界值分析方法 NextDate函數(shù)問(wèn)題函數(shù)問(wèn)題 NextDate是一個(gè)有三個(gè)變量(月份、日期和是一個(gè)有三個(gè)變量(月份、
28、日期和年)的函數(shù),函數(shù)返回輸入日期后面的那個(gè)年)的函數(shù),函數(shù)返回輸入日期后面的那個(gè)日期。變量月份、日期和年都具有整數(shù)值,日期。變量月份、日期和年都具有整數(shù)值,且滿足以下條件:且滿足以下條件: 1 月份月份 12 1 日期日期 31 1812 年年 2012 月份月份 = 1,2,6,11,12 日期日期 = 1,2,15,30,31 年年 = 1812,1813,1912,2011,2012 2.3 2.3 邊界值分析方法邊界值分析方法用例用例月份月份日期日期年年預(yù)期輸出預(yù)期輸出161518126/16/1812261518136/16/1813361519126/16/19124615201
29、16/16/2011561520126/16/201266119126/2/191276219126/3/1912861519126/16/1912963019127/1/1912106311912非法輸入非法輸入1111519121/16/19121221519122/16/19121361519126/16/1912141115191211/16/1912151215191212/16/1912最小值略高于最小值正常值最大值略低于最大值Next Date函數(shù)的邊界值分析函數(shù)的邊界值分析2.3 2.3 邊界值分析方法邊界值分析方法邊界值分析與等價(jià)類的區(qū)別:邊界值分析與等價(jià)類的區(qū)別:(1)邊界
30、值分析不是從某等價(jià)類邊界值分析不是從某等價(jià)類中隨便挑一個(gè)作為代,而是中隨便挑一個(gè)作為代,而是使這個(gè)等價(jià)類的每個(gè)邊界都使這個(gè)等價(jià)類的每個(gè)邊界都要作為測(cè)試條件。要作為測(cè)試條件。(2)邊界值分析不僅考慮輸入條邊界值分析不僅考慮輸入條件,還要考慮輸出空間產(chǎn)生件,還要考慮輸出空間產(chǎn)生的測(cè)試情況。的測(cè)試情況。軟件邊界類似于懸崖軟件邊界類似于懸崖2.3 2.3 邊界值分析方法邊界值分析方法 軟件測(cè)試所包含的邊界檢驗(yàn)的類型及其軟件測(cè)試所包含的邊界檢驗(yàn)的類型及其邊界情況邊界情況數(shù)字?jǐn)?shù)字字符字符位置位置質(zhì)量質(zhì)量大小大小速度速度方位方位尺寸尺寸空間空間最大最大/最小最小首位首位/末尾末尾上上/下下最快最快/最慢最慢
31、最高最高/最低最低最短最短/最長(zhǎng)最長(zhǎng)空空/滿滿類型類型邊界邊界2.3 2.3 邊界值分析方法邊界值分析方法 邊界值作為測(cè)試數(shù)據(jù)舉例(健壯性測(cè)試)邊界值作為測(cè)試數(shù)據(jù)舉例(健壯性測(cè)試)類型類型邊界值邊界值測(cè)試用例的設(shè)計(jì)思路測(cè)試用例的設(shè)計(jì)思路數(shù)值數(shù)值開始位開始位1/結(jié)束結(jié)束位位1軟件要求數(shù)據(jù)的輸入域需要輸入軟件要求數(shù)據(jù)的輸入域需要輸入5位的數(shù)據(jù),位的數(shù)據(jù),可以使用可以使用00000做為最小和做為最小和99999為最大,為最大,然后剛好使用小于然后剛好使用小于5位和大于位和大于5位的數(shù)值來(lái)位的數(shù)值來(lái)做邊界條件做邊界條件字符字符起始起始1個(gè)字符個(gè)字符/結(jié)束結(jié)束1個(gè)字符個(gè)字符一個(gè)文本輸入?yún)^(qū)域要求允許輸入一
32、個(gè)文本輸入?yún)^(qū)域要求允許輸入1到到255個(gè)個(gè)字符,輸入字符,輸入1個(gè)和個(gè)和255個(gè)字符作為有效等價(jià)個(gè)字符作為有效等價(jià)類;輸入類;輸入0個(gè)和個(gè)和256個(gè)字符作為無(wú)效等價(jià)類,個(gè)字符作為無(wú)效等價(jià)類,這幾個(gè)數(shù)值都屬于邊界條件值這幾個(gè)數(shù)值都屬于邊界條件值空間空間小于空余空間一小于空余空間一點(diǎn)點(diǎn)/大于滿空間一大于滿空間一點(diǎn)點(diǎn)在做磁盤的數(shù)據(jù)存儲(chǔ)時(shí),使用比最小剩余在做磁盤的數(shù)據(jù)存儲(chǔ)時(shí),使用比最小剩余磁盤空間大一點(diǎn)(幾磁盤空間大一點(diǎn)(幾KB)的文件做為最大)的文件做為最大值檢驗(yàn)的邊界條件值檢驗(yàn)的邊界條件2.3 2.3 邊界值分析方法邊界值分析方法 次邊界條件(內(nèi)部邊界條件)次邊界條件(內(nèi)部邊界條件) 在軟件測(cè)試用
33、例設(shè)計(jì)過(guò)程中,某些邊界在軟件測(cè)試用例設(shè)計(jì)過(guò)程中,某些邊界條件是不需要呈現(xiàn)給用戶的,或者用戶條件是不需要呈現(xiàn)給用戶的,或者用戶是很難注意到的,但軟件測(cè)試仍有必要是很難注意到的,但軟件測(cè)試仍有必要檢查。檢查。 種類:種類: 數(shù)值的邊界值檢驗(yàn)數(shù)值的邊界值檢驗(yàn) 字符的邊界值檢驗(yàn)字符的邊界值檢驗(yàn) 其它邊界值檢驗(yàn)其它邊界值檢驗(yàn)2.3 2.3 邊界值分析方法邊界值分析方法 邊界值分析方法的原則邊界值分析方法的原則 (1 1)如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè))如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界的值,以及剛剛超過(guò)這個(gè)范圍邊界的值作為范圍的邊界的值,以及剛剛超過(guò)這個(gè)范圍邊界的值作為
34、測(cè)試輸入數(shù)據(jù)。測(cè)試輸入數(shù)據(jù)。 (2 2)如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最)如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)、比最小個(gè)數(shù)少小個(gè)數(shù)、比最小個(gè)數(shù)少1 1、比最大個(gè)數(shù)多、比最大個(gè)數(shù)多1 1的數(shù)作為測(cè)試的數(shù)作為測(cè)試數(shù)據(jù)。數(shù)據(jù)。 (3 3)根據(jù)規(guī)格說(shuō)明的每個(gè)輸出條件,使用前面的原則)根據(jù)規(guī)格說(shuō)明的每個(gè)輸出條件,使用前面的原則(1 1)。)。 (4 4)根據(jù)規(guī)格說(shuō)明的每個(gè)輸出條件,應(yīng)用前面的原則)根據(jù)規(guī)格說(shuō)明的每個(gè)輸出條件,應(yīng)用前面的原則(2 2)。)。 (5 5)如果程序的規(guī)格說(shuō)明給出的輸入域或輸出域是有序)如果程序的規(guī)格說(shuō)明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第一
35、個(gè)元素和最后一個(gè)元素作為集合,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測(cè)試用例。測(cè)試用例。 (6 6)如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇)如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)邊界上的值作為測(cè)試用例。這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)邊界上的值作為測(cè)試用例。 (7 7)分析規(guī)格說(shuō)明,找出其它可能的邊界條件。)分析規(guī)格說(shuō)明,找出其它可能的邊界條件。2.3 2.3 邊界值分析方法邊界值分析方法 邊界值分析方法總結(jié)邊界值分析方法總結(jié) 邊界值測(cè)試是所有測(cè)試方法中最基本的方法,邊界值測(cè)試是所有測(cè)試方法中最基本的方法,這些測(cè)試方法假設(shè)輸入變量都是獨(dú)立的。如果這些測(cè)試方法假設(shè)輸入變量都是獨(dú)立
36、的。如果不滿足這類假設(shè),測(cè)試用例就不令人滿意;不滿足這類假設(shè),測(cè)試用例就不令人滿意; 單缺陷和多缺陷;單缺陷和多缺陷; 還有基于輸出的異常形式的測(cè)試,主要測(cè)試生還有基于輸出的異常形式的測(cè)試,主要測(cè)試生成錯(cuò)誤消息的系統(tǒng)(或程序)。成錯(cuò)誤消息的系統(tǒng)(或程序)。 邊界值分析對(duì)布爾變量沒(méi)有什么意義,極值是邊界值分析對(duì)布爾變量沒(méi)有什么意義,極值是TRUE和和FALSE,但是其余三個(gè)值不明確。,但是其余三個(gè)值不明確。 如果有一個(gè)如果有一個(gè)n變量函數(shù),邊界值分析會(huì)產(chǎn)生變量函數(shù),邊界值分析會(huì)產(chǎn)生4n+1個(gè)測(cè)試用例。個(gè)測(cè)試用例。2.3 2.3 邊界值分析方法邊界值分析方法 特殊值測(cè)試特殊值測(cè)試 特殊值測(cè)試是運(yùn)用
37、得最廣泛的一種功能性測(cè)特殊值測(cè)試是運(yùn)用得最廣泛的一種功能性測(cè)試。試。 特殊值測(cè)試依賴于測(cè)試人員的經(jīng)驗(yàn)。特殊值測(cè)試依賴于測(cè)試人員的經(jīng)驗(yàn)。 盡管特殊值測(cè)試是高度主觀性的,但是所盡管特殊值測(cè)試是高度主觀性的,但是所產(chǎn)生的測(cè)試用例集合,常常比用我們已經(jīng)研產(chǎn)生的測(cè)試用例集合,常常比用我們已經(jīng)研究過(guò)的其他方法生成的測(cè)試集合,更能有效究過(guò)的其他方法生成的測(cè)試集合,更能有效地發(fā)現(xiàn)缺陷,這也說(shuō)明了軟件測(cè)試的工藝性地發(fā)現(xiàn)缺陷,這也說(shuō)明了軟件測(cè)試的工藝性質(zhì)。質(zhì)。2.4 2.4 因果圖法因果圖法 因果圖方法概述因果圖方法概述(Cause/Effect Graphing, CEG) CEG法是基于這樣一種思想法是基于這
38、樣一種思想:一些程序的功能可以一些程序的功能可以用判定表的形式來(lái)表示用判定表的形式來(lái)表示,并根據(jù)輸入條件的組合情并根據(jù)輸入條件的組合情況規(guī)定相應(yīng)的操作。況規(guī)定相應(yīng)的操作。 因此因此,可以考慮為判定表中的每一列設(shè)計(jì)一個(gè)測(cè)試可以考慮為判定表中的每一列設(shè)計(jì)一個(gè)測(cè)試用例用例,以便測(cè)試程序在輸入條件的某種組合下的輸以便測(cè)試程序在輸入條件的某種組合下的輸出是否正確。出是否正確。 概括地說(shuō)概括地說(shuō):因果圖法從程序規(guī)格說(shuō)明書中因果圖法從程序規(guī)格說(shuō)明書中,找出因找出因(輸入條件輸入條件)和果(輸出結(jié)果或程序狀態(tài)的改變)的和果(輸出結(jié)果或程序狀態(tài)的改變)的關(guān)系,通過(guò)因果圖轉(zhuǎn)換為判定表,最后為判定表關(guān)系,通過(guò)因果圖
39、轉(zhuǎn)換為判定表,最后為判定表的每一列設(shè)計(jì)一個(gè)測(cè)試用例。的每一列設(shè)計(jì)一個(gè)測(cè)試用例。 因果圖法考慮了輸入情況的各種組合及輸出情況因果圖法考慮了輸入情況的各種組合及輸出情況之間的相互制約關(guān)系。之間的相互制約關(guān)系。2.4 2.4 因果圖法因果圖法 因果關(guān)系因果關(guān)系 (1)恒等:若)恒等:若c1為為1,則,則e1也為也為1,否則,否則e1為為0。 (2)非:若)非:若c1為為1,則,則e1為為0,否則,否則e1為為1。c1e1e1c1 2.4 2.4 因果圖法因果圖法 因果關(guān)系因果關(guān)系 (3)或:若)或:若c1或或c2或或c3為為1,則,則e1為為1,否則,否則e1為為0;“或或”可有任意個(gè)輸入。可有任意
40、個(gè)輸入。 (4)與:若)與:若c1和和c2都為都為1,則,則e1為為1,否則,否則e1為為0;“與與”可有任意個(gè)輸入??捎腥我鈧€(gè)輸入。c1c2c3e1Vc1c2e1V2.4 2.4 因果圖法因果圖法約約 束束實(shí)際問(wèn)題當(dāng)中,輸入狀態(tài)相互之實(shí)際問(wèn)題當(dāng)中,輸入狀態(tài)相互之間也往往存在某些依賴關(guān)系間也往往存在某些依賴關(guān)系, ,稱稱為約束。為約束。輸出狀態(tài)之間也存在約束。輸出狀態(tài)之間也存在約束。在因果圖中,用特定的符號(hào)表明在因果圖中,用特定的符號(hào)表明這些約束。這些約束。2.4 2.4 因果圖法因果圖法E約束(異)約束(異)a和和b不能同時(shí)為不能同時(shí)為1I約束(或)約束(或)a、b和和c至少有一個(gè)為至少有一
41、個(gè)為1即不能同時(shí)為即不能同時(shí)為0O約束(惟一)約束(惟一)a、b必須且僅有一個(gè)為必須且僅有一個(gè)為1EabOabIabc2.4 2.4 因果圖法因果圖法R約束(要求)約束(要求)a是是1時(shí),時(shí),b必須為必須為1M約束(強(qiáng)制)約束(強(qiáng)制)若若a結(jié)果為結(jié)果為1則,則,b必須為必須為0RabMab2.4 2.4 因果圖法因果圖法 因果圖測(cè)試用例設(shè)計(jì)步驟因果圖測(cè)試用例設(shè)計(jì)步驟 1.根據(jù)程序規(guī)格說(shuō)明書描述的語(yǔ)義內(nèi)容,分析并確根據(jù)程序規(guī)格說(shuō)明書描述的語(yǔ)義內(nèi)容,分析并確定定“因因”和和“果果”。原因通常是輸入條件或輸入。原因通常是輸入條件或輸入條件的等價(jià)類,結(jié)果是輸出條件各個(gè)原因與各個(gè)條件的等價(jià)類,結(jié)果是輸出
42、條件各個(gè)原因與各個(gè)結(jié)果的結(jié)果的“因果圖因果圖”; 2.分析說(shuō)明書語(yǔ)義的內(nèi)容,找出原因與原因之間、分析說(shuō)明書語(yǔ)義的內(nèi)容,找出原因與原因之間、原因與結(jié)果之間的對(duì)應(yīng)關(guān)系,將其表示成連接各原因與結(jié)果之間的對(duì)應(yīng)關(guān)系,將其表示成連接各個(gè)原因與各個(gè)結(jié)果的個(gè)原因與各個(gè)結(jié)果的“因果圖因果圖”; 3.由于語(yǔ)法或環(huán)境的限制,某些原因與原因之間、由于語(yǔ)法或環(huán)境的限制,某些原因與原因之間、原因與結(jié)果之間的組合情況是不可能出現(xiàn)的,為原因與結(jié)果之間的組合情況是不可能出現(xiàn)的,為表明這些特定情況,使用一些記號(hào)標(biāo)明約束或限表明這些特定情況,使用一些記號(hào)標(biāo)明約束或限制條件;制條件; 4.將得到的因果圖轉(zhuǎn)化為判定表;將得到的因果圖轉(zhuǎn)
43、化為判定表; 5.為判定表中每一列所表示的情況設(shè)計(jì)一個(gè)測(cè)試用為判定表中每一列所表示的情況設(shè)計(jì)一個(gè)測(cè)試用例。例。2.4 2.4 因果圖法因果圖法舉例舉例2.4 2.4 因果圖法因果圖法舉例舉例(1)分析這一段說(shuō)明,列出原因和結(jié)果)分析這一段說(shuō)明,列出原因和結(jié)果 原因:原因: 1. 售貨機(jī)有零錢找售貨機(jī)有零錢找 2. 投入投入1元硬幣元硬幣 3. 投入投入5角硬幣角硬幣 4. 押下橙汁按鈕押下橙汁按鈕 5. 押下啤酒按鈕押下啤酒按鈕 建立中間結(jié)點(diǎn),表示處理中間狀態(tài)建立中間結(jié)點(diǎn),表示處理中間狀態(tài) 11. 該找該找5角(投入角(投入1元硬幣且押下飲料按鈕)元硬幣且押下飲料按鈕) 12. 押下橙汁或啤酒
44、的按鈕押下橙汁或啤酒的按鈕 13. 可找可找5角(應(yīng)當(dāng)找角(應(yīng)當(dāng)找5角零錢并且售貨機(jī)有零角零錢并且售貨機(jī)有零錢找)錢找) 14. 錢已付清錢已付清 結(jié)果:結(jié)果: 21. 售貨機(jī)零錢找完燈亮售貨機(jī)零錢找完燈亮 22. 退還退還1元硬幣元硬幣 23. 找回找回5角硬幣角硬幣 24. 送出橙汁飲料送出橙汁飲料 25. 送出啤酒飲料送出啤酒飲料2.4 2.4 因果圖法因果圖法舉例舉例(2)畫出因果。所有原因結(jié)點(diǎn)列在左邊,所有結(jié)果結(jié)點(diǎn)列在右邊。)畫出因果。所有原因結(jié)點(diǎn)列在左邊,所有結(jié)果結(jié)點(diǎn)列在右邊。(3)因果圖。)因果圖。(4)由于)由于 2 與與 3 ,4 與與 5 不能同時(shí)發(fā)生,分別加上約束條件不能
45、同時(shí)發(fā)生,分別加上約束條件E。12345212223242514131211售貨機(jī)有零錢找售貨機(jī)有零錢找投入投入1 1元硬幣元硬幣投入投入5 5角硬幣角硬幣押下橙汁按鈕押下橙汁按鈕押下啤酒按鈕押下啤酒按鈕“零錢找完零錢找完”燈亮燈亮退還退還1 1元硬幣元硬幣找回找回5 5角硬幣角硬幣送出橙汁飲料送出橙汁飲料送出啤酒飲料送出啤酒飲料該找該找5 5角角押下按鈕押下按鈕錢付清錢付清EEVVVVVV可找可找5 5角角V2.4 2.4 因果圖法因果圖法舉例舉例(5)轉(zhuǎn)化為判定表)轉(zhuǎn)化為判定表2.4 2.4 因果圖法因果圖法練習(xí)練習(xí) 程序規(guī)格說(shuō)明要求程序規(guī)格說(shuō)明要求:輸入的第一個(gè)字符必須是輸入的第一個(gè)字符
46、必須是#或或*,第二個(gè)字符必須要一個(gè)數(shù)字第二個(gè)字符必須要一個(gè)數(shù)字,在此情況下在此情況下進(jìn)行文件的修改進(jìn)行文件的修改;如果第一個(gè)字符不是如果第一個(gè)字符不是#或或*,則則給出提示信息給出提示信息N;如果第二個(gè)字符不是數(shù)字如果第二個(gè)字符不是數(shù)字,則則給出提示信息給出提示信息M。 要求要求: 分析程序的規(guī)格說(shuō)明分析程序的規(guī)格說(shuō)明,列出原因和結(jié)果列出原因和結(jié)果 找出原因與結(jié)果之間的因果關(guān)系、原因與原找出原因與結(jié)果之間的因果關(guān)系、原因與原因之間的約束關(guān)系,畫出因果圖因之間的約束關(guān)系,畫出因果圖 將因果圖轉(zhuǎn)為判定表將因果圖轉(zhuǎn)為判定表 根據(jù)判定表,設(shè)計(jì)測(cè)試用例和預(yù)期輸出根據(jù)判定表,設(shè)計(jì)測(cè)試用例和預(yù)期輸出2.4
47、 2.4 因果圖法因果圖法練習(xí)練習(xí) 答案答案 原因原因 c1第一個(gè)是字符第一個(gè)是字符# c2 第一個(gè)是字符第一個(gè)是字符* c3 第二個(gè)字符是數(shù)字第二個(gè)字符是數(shù)字 結(jié)果結(jié)果 e1給出提示給出提示N e2修改文件修改文件 e3給出提示給出提示M2.4 2.4 因果圖法因果圖法練習(xí)練習(xí) 答案答案 因果圖因果圖c1c2c3e1e2e310EVV2.4 2.4 因果圖法因果圖法練習(xí)練習(xí)答案答案將因果圖轉(zhuǎn)換為判定表將因果圖轉(zhuǎn)換為判定表 規(guī)則規(guī)則 選項(xiàng)選項(xiàng)12345678條件條件c111110000c211001100c31010101010111100動(dòng)作動(dòng)作e1 e2e3測(cè)試用例測(cè)試用例#3#A*6*B
48、A1GT2.4 2.4 因果圖法因果圖法練習(xí)練習(xí) 答案答案 設(shè)計(jì)測(cè)試用例設(shè)計(jì)測(cè)試用例ID輸入輸入預(yù)期結(jié)果預(yù)期結(jié)果1#3修改文件修改文件2#A給出提示給出提示M3*6修改文件修改文件4*B給出提示給出提示M5A1給出提示給出提示N6GT給出提示給出提示M和和N2.5 2.5 決策分析法決策分析法 在所有黑盒測(cè)試用例中,決策表(判定表)在所有黑盒測(cè)試用例中,決策表(判定表)的測(cè)試最為嚴(yán)格、最具有邏輯性。的測(cè)試最為嚴(yán)格、最具有邏輯性。 在一些數(shù)據(jù)處理問(wèn)題中,某些操作的實(shí)施在一些數(shù)據(jù)處理問(wèn)題中,某些操作的實(shí)施依賴于多個(gè)邏輯條件的組合值,分別執(zhí)行依賴于多個(gè)邏輯條件的組合值,分別執(zhí)行不同的操作,決策表很適
49、合處理這類問(wèn)題。不同的操作,決策表很適合處理這類問(wèn)題。 下面舉例說(shuō)明什么是決策表(下列為閱讀下面舉例說(shuō)明什么是決策表(下列為閱讀指南)。指南)。2.5 2.5 決策分析法決策分析法 選項(xiàng)選項(xiàng) 規(guī)則規(guī)則12345678問(wèn)題問(wèn)題覺(jué)得疲倦覺(jué)得疲倦?YYYYNNNN感興趣嗎感興趣嗎?YYNNYYNN糊糊 涂涂 嗎嗎?YNYNYNYN建議建議重重 讀讀繼繼 續(xù)續(xù)跳下一章跳下一章 休休 息息“閱讀指南閱讀指南”決策表決策表2.5 2.5 決策分析法決策分析法 決策表的四個(gè)組成部分:決策表的四個(gè)組成部分: 條件樁條件樁 列出問(wèn)題的所有條件,除特別說(shuō)明,列出的條件先后順列出問(wèn)題的所有條件,除特別說(shuō)明,列出的條
50、件先后順序無(wú)關(guān)緊要。序無(wú)關(guān)緊要。 條件條目(條件項(xiàng))條件條目(條件項(xiàng)) 給出問(wèn)題規(guī)定的可能采取的操作,操作順序一般沒(méi)有約給出問(wèn)題規(guī)定的可能采取的操作,操作順序一般沒(méi)有約束。束。 行動(dòng)樁(動(dòng)作樁)行動(dòng)樁(動(dòng)作樁) 針對(duì)條件樁給出的條件列出所有可能的取值。針對(duì)條件樁給出的條件列出所有可能的取值。 行動(dòng)條目(動(dòng)作項(xiàng))行動(dòng)條目(動(dòng)作項(xiàng)) 與條件緊密相關(guān),指出在條件項(xiàng)的各組取值情況下,應(yīng)與條件緊密相關(guān),指出在條件項(xiàng)的各組取值情況下,應(yīng)采取的行動(dòng)。采取的行動(dòng)。2.5 2.5 決策分析法決策分析法 決策表圖決策表圖樁樁規(guī)則規(guī)則1規(guī)則規(guī)則2 規(guī)則規(guī)則3、4規(guī)則規(guī)則5規(guī)則規(guī)則6 規(guī)則規(guī)則7、8c1TTTFFFc
51、2TTFTTFc3TFTFa1a2a3a42.5 2.5 決策分析法決策分析法 構(gòu)造決策表的構(gòu)造決策表的5個(gè)步驟:個(gè)步驟: (1) 確定規(guī)則的個(gè)數(shù)。確定規(guī)則的個(gè)數(shù)。 有有n個(gè)條件的決策表有個(gè)條件的決策表有2n個(gè)規(guī)則(每個(gè)條件取真、假個(gè)規(guī)則(每個(gè)條件取真、假值)。值)。 (2) 列出所有的條件樁和行動(dòng)樁(動(dòng)作樁)。列出所有的條件樁和行動(dòng)樁(動(dòng)作樁)。 (3) 填入條件條目(條件項(xiàng))。填入條件條目(條件項(xiàng))。 (4) 填入行動(dòng)條目(動(dòng)作項(xiàng)),得到初始決策表。填入行動(dòng)條目(動(dòng)作項(xiàng)),得到初始決策表。 (5) 簡(jiǎn)化決策表,合并相似規(guī)則。簡(jiǎn)化決策表,合并相似規(guī)則。 若表中有兩條以上規(guī)則具有相同的動(dòng)作,并
52、且在條件若表中有兩條以上規(guī)則具有相同的動(dòng)作,并且在條件項(xiàng)之間存在極為相似的關(guān)系,便可以合并。項(xiàng)之間存在極為相似的關(guān)系,便可以合并。 合并后的條件項(xiàng)用符號(hào)合并后的條件項(xiàng)用符號(hào)“”表示,說(shuō)明執(zhí)行的動(dòng)作表示,說(shuō)明執(zhí)行的動(dòng)作與該條件的取值無(wú)關(guān),稱為無(wú)關(guān)條件。與該條件的取值無(wú)關(guān),稱為無(wú)關(guān)條件。2.5 2.5 決策分析法決策分析法 三角形問(wèn)題決策表三角形問(wèn)題決策表c1:a、b、c構(gòu)成三角形?構(gòu)成三角形?NYYYYYYYYc2:a=b?YYYYNNNNc3:a=c?YYNNYYNNc4:c=b?YNYNYNYNa1:非三角形非三角形a2:不等邊三角形不等邊三角形a3:等腰三角形等腰三角形a4:等邊三角形等邊
53、三角形a5:不可能不可能2.5 2.5 決策分析法決策分析法 經(jīng)過(guò)修改的三角形問(wèn)題的另一個(gè)決策表經(jīng)過(guò)修改的三角形問(wèn)題的另一個(gè)決策表c1: a b + c?FTTTTTTTTTTc2: b a + c?FTTTTTTTTTc3: c b + a?FTTTTTTTTc4: a = b?TTTTFFFFc5: a = c?TTFFTTFFc6: b = c?TFTFTFTFa1:非三角形:非三角形a2:不等邊三角形:不等邊三角形a3:等腰三角形:等腰三角形a4:等邊三角形:等邊三角形a5:不可能:不可能2.5 2.5 決策分析法決策分析法 NextDate函數(shù)的決策表分析(第一次分析)函數(shù)的決策表分
54、析(第一次分析)條件條件C1:月份在:月份在M1中?中?TC2:月份在:月份在M2中?中?TC3:日期在:日期在M3中?中?TC4:日期在:日期在D1中?中?C5:日期在:日期在D2中?中?C6:日期在:日期在D3中?中?C7:日期在:日期在D4中?中?C8:年在:年在Y1中?中?a1:不可能:不可能a2:NextDate劃分等價(jià)類:劃分等價(jià)類:M1 = 月份:每月有月份:每月有30天天 M2 = 月份:每月有月份:每月有31天天 M3 = 月份:此月是月份:此月是2月月 D1 = 日期:日期:1日期日期28D2 = 日期:日期日期:日期=29D3 = 日期:日期日期:日期=30D4 = 日期
55、:日期日期:日期=31Y1 = 年:年是閏年年:年是閏年Y2 = 年:年是平年年:年是平年2.5 2.5 決策分析法決策分析法 NextDate函數(shù)的決策表分析(第二次分析)函數(shù)的決策表分析(第二次分析) 劃分等價(jià)類劃分等價(jià)類 M1 = 月份:每月有月份:每月有30天天 M2 = 月份:每月有月份:每月有31天天 M3 = 月份:此月是月份:此月是2月月 D1 = 日期:日期:1日期日期28 D2 = 日期:日期日期:日期=29 D3 = 日期:日期日期:日期=30 D4 = 日期:日期日期:日期=31 Y1 = 年:年年:年=2000 Y2 = 年:年是閏年年:年是閏年 Y3 = 年:年是平
56、年年:年是平年2.5 2.5 決策分析法決策分析法NextDate函數(shù)的決策表分析(第二次分析測(cè)試用例)函數(shù)的決策表分析(第二次分析測(cè)試用例)1234567891011121314151617C1:月份:月份在在M1M1M1M1M2M2M2M2M3M3M3M3M3M3M3M3M3C2:日期:日期在在D1D2D3D4D1D2D3D4D1D1D1D2D2D2D3D3D4C3:年在:年在Y1Y2Y3Y1Y2Y3規(guī)則條數(shù)規(guī)則條數(shù)統(tǒng)計(jì)統(tǒng)計(jì)33333333111111333a1:不可:不可能能a2:日期:日期增增1a3:日期:日期復(fù)位復(fù)位a4:月份:月份增增1?a5:月份:月份復(fù)位復(fù)位?a6:年增:年增1
57、?2.5 2.5 決策分析法決策分析法 NextDate函數(shù)的決策表分析(第三次分析)函數(shù)的決策表分析(第三次分析) M1 = 月份:每月有月份:每月有30天天 M2 = 月份:每月有月份:每月有31天,天,12月除外月除外 M3 = 月份:此月是月份:此月是2月月 M4 = 月份:此月是月份:此月是12月月 D1 = 日期:日期:1日期日期27 D2 = 日期:日期日期:日期=28 D3 = 日期:日期日期:日期=29 D4 = 日期:日期日期:日期=30 D5 = 日期:日期日期:日期=31 Y1 = 年:年是閏年年:年是閏年 Y2 = 年:年是平年年:年是平年C1:月份:月份在:在:C2
58、:日期:日期在:在:C3:年:年在:在:a1:不可:不可能能a2:日:日期增期增1a3:日:日期復(fù)位期復(fù)位a4:月:月份增份增1a5:月:月份復(fù)位份復(fù)位a6:年:年增增11M1D12M1D23M1D34M1D45M1D56M2D17M2D28M2D39M2D410M2D511M3D112M3D213M3D314M3D415M3D516M4D117M4D2Y118M4D2Y219M4D3Y120M4D3Y221M4D422M4D5第第三三次次嘗嘗試試決決策策表表2.5 2.5 決策分析法決策分析法 第三次嘗試決策表精簡(jiǎn)第三次嘗試決策表精簡(jiǎn)C1:月份:月份在:在:C2:日期在:日期在:C3:年在:
59、年在: a1:不可:不可能能a2:日期:日期增增1a3:日期:日期復(fù)位復(fù)位a4:月份:月份增增1a5:月份:月份復(fù)位復(fù)位a6:年增:年增11-3M1D1, D2, D34M1D45M1D56-9M2D1, D2 ,D3,D4,10M2D511-14M3D1 ,D2,D3,D415M3D516M4D117M4D2Y118M4D2Y219M4D3Y120M4D3Y221-22M4D4 ,D52.5 2.5 決策分析法決策分析法 NextDate函數(shù)的決策表測(cè)試用例函數(shù)的決策表測(cè)試用例用例用例ID月份月份日期日期年年預(yù)期輸出預(yù)期輸出1-341520014/16/2001443020015/1/200
60、154312001不可能不可能6-911520011/16/20011013120012/1/200111-141215200112/16/200115123120011/1/20021621520012/16/20011722820042/29/20041822820013/1/20011922920043/1/2004202292001不可能不可能21-222302001不可能不可能2.5 2.5 決策分析法決策分析法 指導(dǎo)方針和觀察指導(dǎo)方針和觀察 決策表技術(shù)適用于具有以下特征的應(yīng)用程決策表技術(shù)適用于具有以下特征的應(yīng)用程序序 if-then-else邏輯很突出邏輯很突出 輸入變量之間存在邏
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 三農(nóng)村土地承包經(jīng)營(yíng)權(quán)確權(quán)登記頒證方案
- 3 學(xué)會(huì)反思(教學(xué)設(shè)計(jì))-統(tǒng)編版道德與法治六年級(jí)下冊(cè)
- 住宅電梯更新改造方案
- 2024年五年級(jí)英語(yǔ)下冊(cè) Unit 6 Were watching the games Fun Facts教學(xué)實(shí)錄 人教精通版(三起)
- 2023-2024學(xué)年北京版(2013)小學(xué)信息技術(shù)第一冊(cè)熟悉窗口操作(教學(xué)設(shè)計(jì))
- Healthy Body and Mind(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教版英語(yǔ)八年級(jí)上冊(cè)
- 2023-2024學(xué)年高中英語(yǔ) Unit 2 Let's Talk Teens Reading教學(xué)實(shí)錄 牛津譯林版必修第一冊(cè)
- 2023七年級(jí)道德與法治上冊(cè) 第三單元 師長(zhǎng)情誼 第七課 親情之愛(ài) 第2框 愛(ài)在家人間教學(xué)實(shí)錄 新人教版
- 6 人大代表為人民(教學(xué)設(shè)計(jì))2024-2025學(xué)年統(tǒng)編版道德與法治六年級(jí)上冊(cè)
- 13 我能行 第一課時(shí) 教學(xué)設(shè)計(jì)-2023-2024學(xué)年道德與法治二年級(jí)下冊(cè)統(tǒng)編版
- 2024年中華人民共和國(guó)企業(yè)所得稅年度納稅申報(bào)表(帶公式)20240301更新
- 2024年江蘇省揚(yáng)州市中考數(shù)學(xué)真題(解析版)
- 中醫(yī)養(yǎng)生保健知識(shí)講座完整版
- JTS-167-4-2012港口工程樁基規(guī)范
- 帕金森治療指南解讀
- 托福聽力課件
- 人教部編本八年級(jí)語(yǔ)文上冊(cè)第六單元復(fù)習(xí)課件共26張
- 泰康集團(tuán)線上測(cè)評(píng)真題
- 騰訊社招測(cè)評(píng)題庫(kù)
- 運(yùn)動(dòng)損傷的預(yù)防與處理預(yù)防和處理舞蹈運(yùn)動(dòng)損傷
- 物流無(wú)人機(jī)項(xiàng)目企業(yè)運(yùn)營(yíng)實(shí)施方案
評(píng)論
0/150
提交評(píng)論