軟件測試之黑盒測試ppt課件_第1頁
軟件測試之黑盒測試ppt課件_第2頁
軟件測試之黑盒測試ppt課件_第3頁
軟件測試之黑盒測試ppt課件_第4頁
軟件測試之黑盒測試ppt課件_第5頁
已閱讀5頁,還剩61頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、軟件測試軟件測試 黑盒測試方法黑盒測試方法 黑盒測試把測試對象看作一個黑盒,測試黑盒測試把測試對象看作一個黑盒,測試人員不思索程序的內(nèi)部邏輯構(gòu)造和內(nèi)部特人員不思索程序的內(nèi)部邏輯構(gòu)造和內(nèi)部特性,只根據(jù)程序需求和功能規(guī)格闡明,檢性,只根據(jù)程序需求和功能規(guī)格闡明,檢查程序的功能能否符合它的功能闡明。查程序的功能能否符合它的功能闡明。 黑盒測試方法是在程序接口上進(jìn)展測試,黑盒測試方法是在程序接口上進(jìn)展測試,主要是為了發(fā)現(xiàn)以下錯誤:主要是為了發(fā)現(xiàn)以下錯誤: 能否有不正確或脫漏了的功能?能否有不正確或脫漏了的功能? 在接口上,輸入能否正確地接受?在接口上,輸入能否正確地接受? 能否輸出正確的結(jié)果?能否輸出

2、正確的結(jié)果? 能否有數(shù)據(jù)構(gòu)造錯誤或外部信息例如能否有數(shù)據(jù)構(gòu)造錯誤或外部信息例如數(shù)據(jù)文件訪問錯誤?數(shù)據(jù)文件訪問錯誤? 性能上能否可以滿足要求?能否有初始性能上能否可以滿足要求?能否有初始化或終止性錯誤?化或終止性錯誤?黑盒測試方法黑盒測試方法 黑盒測試方法主要包括:黑盒測試方法主要包括: 等價類劃分法等價類劃分法 邊境值分析法邊境值分析法 錯誤猜測法錯誤猜測法 因果圖法因果圖法 等等等等 等價類劃分等價類劃分 是一種典型的黑盒測試方法。是一種典型的黑盒測試方法。 能有效處理窮舉法的不可行性,提高測能有效處理窮舉法的不可行性,提高測試的效率試的效率等價類劃分法等價類劃分法主要思想:主要思想:根據(jù)被

3、測對象的功能闡明和輸入域,根據(jù)被測對象的功能闡明和輸入域,按合理的或不合理劃分為假設(shè)干等按合理的或不合理劃分為假設(shè)干等價類,價類,為每個等價類設(shè)計一個測試用例,為每個等價類設(shè)計一個測試用例,這樣大大減少測試次數(shù),提高測試這樣大大減少測試次數(shù),提高測試效率。效率。等價類等價類 等價類是等價類是 某個輸入域的子集合。某個輸入域的子集合。 在該子集合中,各個輸入數(shù)據(jù)對于揭露程在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的。序中的錯誤都是等效的。 測試某等價類的代表值就等價于對這一類測試某等價類的代表值就等價于對這一類其它值的測試。其它值的測試。 等價類可分為兩種:有效等價類和無效等等價類可

4、分為兩種:有效等價類和無效等價類。價類。 有效等價類是由那些對程序的規(guī)格闡明有有效等價類是由那些對程序的規(guī)格闡明有意義的、合理的輸入數(shù)據(jù)所構(gòu)成的集合;意義的、合理的輸入數(shù)據(jù)所構(gòu)成的集合; 無效等價類那么是那些對程序的規(guī)格闡明無效等價類那么是那些對程序的規(guī)格闡明不合理的或無意義的輸入數(shù)據(jù)所構(gòu)成的集不合理的或無意義的輸入數(shù)據(jù)所構(gòu)成的集合。合。 在設(shè)計測試用例時,要同時思索有效等價在設(shè)計測試用例時,要同時思索有效等價類和無效等價類的設(shè)計。類和無效等價類的設(shè)計。等價類劃分方法進(jìn)展測試的步驟等價類劃分方法進(jìn)展測試的步驟根據(jù)一定的原那么進(jìn)展等價類的劃分根據(jù)一定的原那么進(jìn)展等價類的劃分為上一步得到的每一個等

5、價類構(gòu)造測試用為上一步得到的每一個等價類構(gòu)造測試用例例根據(jù)所得的測試用例進(jìn)展測試根據(jù)所得的測試用例進(jìn)展測試1 1根據(jù)以下原那么劃分等價類根據(jù)以下原那么劃分等價類假設(shè)某個輸入條件闡明了一個必需成立假設(shè)某個輸入條件闡明了一個必需成立的情況,那么可劃分一個有效等價類和的情況,那么可劃分一個有效等價類和一個無效等價類。一個無效等價類。例如:輸入數(shù)據(jù)必需是數(shù)字例如:輸入數(shù)據(jù)必需是數(shù)字一個有效等價類:輸入數(shù)據(jù)是數(shù)字一個有效等價類:輸入數(shù)據(jù)是數(shù)字一個無效等價類:輸入數(shù)據(jù)不是數(shù)字一個無效等價類:輸入數(shù)據(jù)不是數(shù)字 假設(shè)某個輸入條件對取值的范圍或值的假設(shè)某個輸入條件對取值的范圍或值的個數(shù)進(jìn)展了規(guī)定,那么可確定一個

6、有效個數(shù)進(jìn)展了規(guī)定,那么可確定一個有效等價類和兩個無效等價類。等價類和兩個無效等價類。 例如,在程序的規(guī)格闡明中,對輸入條例如,在程序的規(guī)格闡明中,對輸入條件有一句話:件有一句話:“項數(shù)可以從項數(shù)可以從1 1到到999 999 有效等價類是有效等價類是“11項數(shù)項數(shù)999999兩個無效等價類是兩個無效等價類是“項數(shù)項數(shù)1 1或或“項數(shù)項數(shù)999999。 假設(shè)輸入條件是一個布爾量,那么可以假設(shè)輸入條件是一個布爾量,那么可以確定一個有效等價類和一個無效等價類。確定一個有效等價類和一個無效等價類。 假設(shè)在某個輸入條件中對輸入數(shù)據(jù)的一假設(shè)在某個輸入條件中對輸入數(shù)據(jù)的一組能夠值進(jìn)展了規(guī)定,并且程序是用不

7、組能夠值進(jìn)展了規(guī)定,并且程序是用不同的方式處置每一種值的,那么可為每同的方式處置每一種值的,那么可為每一種值劃分一個有效等價類,并劃分一一種值劃分一個有效等價類,并劃分一個無效等價類,它是一切不允許的輸入個無效等價類,它是一切不允許的輸入值的集合。值的集合。 例如,在教師上崗方案中規(guī)定對教授、例如,在教師上崗方案中規(guī)定對教授、副教授、講師和助教分別計算分?jǐn)?shù),做副教授、講師和助教分別計算分?jǐn)?shù),做相應(yīng)的處置。相應(yīng)的處置。 可以確定可以確定4 4個有效等價類為教授、副教授、個有效等價類為教授、副教授、講師和助教。講師和助教。 一個無效等價類,它是一切不符合以上一個無效等價類,它是一切不符合以上身分的

8、人員的輸入值的集合。身分的人員的輸入值的集合。 假設(shè)已劃分的某等價類中的各個元素假設(shè)已劃分的某等價類中的各個元素例子在程序中的處置方式是不同例子在程序中的處置方式是不同的,那么該當(dāng)將此等價類進(jìn)一步劃分的,那么該當(dāng)將此等價類進(jìn)一步劃分成更小的等價類。成更小的等價類。 假設(shè)規(guī)定了輸入數(shù)據(jù)必需遵守的規(guī)那假設(shè)規(guī)定了輸入數(shù)據(jù)必需遵守的規(guī)那么,那么可以確立一個有效等價類么,那么可以確立一個有效等價類符合規(guī)那么和假設(shè)干個無效等價符合規(guī)那么和假設(shè)干個無效等價類從不同角度違反規(guī)那么。類從不同角度違反規(guī)那么。 例如,例如,PascalPascal言語規(guī)定言語規(guī)定 “一個語句必需一個語句必需以分號以分號; ;終了。

9、終了。 可以確定一個有效等價類可以確定一個有效等價類 “以以; ;終了終了 假設(shè)干個無效等價類假設(shè)干個無效等價類 “以以: :終了終了 “以以, ,終了終了 “以以 終了終了 “以以LFLF終了等。終了等。2 2由等價類表選取測試用例由等價類表選取測試用例 在得到最終的等價類表之后,就可以確定在得到最終的等價類表之后,就可以確定測試用例,詳細(xì)的過程如下:測試用例,詳細(xì)的過程如下: 首先為等價表中的每一個等價類分配一個首先為等價表中的每一個等價類分配一個獨(dú)一的編號。獨(dú)一的編號。 設(shè)計一個新的測試用例,使它可以盡量覆設(shè)計一個新的測試用例,使它可以盡量覆蓋尚未覆蓋的有效等價類。反復(fù)這一步驟,蓋尚未覆

10、蓋的有效等價類。反復(fù)這一步驟,從而使一切有效等價類均被測試用例所覆從而使一切有效等價類均被測試用例所覆蓋。蓋。 與第二步類似,設(shè)計一個新的測試用例,與第二步類似,設(shè)計一個新的測試用例,使它只覆蓋一個無效等價類。反復(fù)這一步使它只覆蓋一個無效等價類。反復(fù)這一步驟,從而使一切無效等價類均被測試用例驟,從而使一切無效等價類均被測試用例所覆蓋。所覆蓋。 測試用例設(shè)計例如測試用例設(shè)計例如 某工廠公開招工,規(guī)定報名者年齡應(yīng)該在某工廠公開招工,規(guī)定報名者年齡應(yīng)該在1616周歲到周歲到3535周歲之間到周歲之間到20192019年年1212月月3131日日為止。即出生年月不在上述范圍內(nèi)的人為止。即出生年月不在上

11、述范圍內(nèi)的人員將不予接受,并顯示員將不予接受,并顯示“年齡不合格的年齡不合格的出錯信息。出錯信息。 現(xiàn)用等價類劃分的方法設(shè)計測試用例。現(xiàn)用等價類劃分的方法設(shè)計測試用例。 第一步:劃分等價類第一步:劃分等價類 假定知出生年月由假定知出生年月由6 6位數(shù)字字符表示,前位數(shù)字字符表示,前4 4位代表年,后位代表年,后2 2位代表月,那么可以劃分位代表月,那么可以劃分3 3個有效等價類,個有效等價類,7 7個無效等價類,如下表所個無效等價類,如下表所示:示: 輸入數(shù)據(jù)輸入數(shù)據(jù)有效等價類有效等價類無效等價類無效等價類出生年月出生年月 6 6位數(shù)位數(shù)含非數(shù)字字符含非數(shù)字字符數(shù)字字符少于數(shù)字字符少于6 6個

12、個數(shù)字字符多于數(shù)字字符多于6 6個個對應(yīng)數(shù)值對應(yīng)數(shù)值197001197001198912198912小于小于197001197001大于大于198912198912月份月份1 11212之間之間等于等于0 0大于大于1212 第二步:設(shè)計有效等價類第二步:設(shè)計有效等價類 例如,上表中、例如,上表中、 這三個有效等這三個有效等價類,可以公用一個測試用例:價類,可以公用一個測試用例: 測試數(shù)據(jù)測試數(shù)據(jù) 期望結(jié)果期望結(jié)果 測試范測試范圍圍 197703 197703 輸入有效輸入有效 、 第三步,為每一個無效等價類至少設(shè)計一第三步,為每一個無效等價類至少設(shè)計一個測試用例。個測試用例。 邊境值分析法邊

13、境值分析法 實(shí)際中,大量的錯誤是發(fā)生在輸入或輸出實(shí)際中,大量的錯誤是發(fā)生在輸入或輸出范圍的邊境上,而不是在輸入范圍的內(nèi)部,范圍的邊境上,而不是在輸入范圍的內(nèi)部,針對各種邊境情況設(shè)計測試用例,可以查針對各種邊境情況設(shè)計測試用例,可以查出更多的錯誤。出更多的錯誤。 與前面提到的等價類劃分法不同,其測試與前面提到的等價類劃分法不同,其測試用例來自于等價類的邊境,是對等價類劃用例來自于等價類的邊境,是對等價類劃分方法的補(bǔ)充。分方法的補(bǔ)充。 比如,在做三角形計算時,要輸入三比如,在做三角形計算時,要輸入三角形的三個邊長:角形的三個邊長:A A、B B和和C C。 應(yīng)留意到這三個數(shù)值該當(dāng)滿足應(yīng)留意到這三個

14、數(shù)值該當(dāng)滿足A A0 0、B B0 0、C C0 0、A AB BC C、A AC CB B、B BC CA A,才干構(gòu)成三角形。,才干構(gòu)成三角形。 但假設(shè)把六個不等式中的任何一個大但假設(shè)把六個不等式中的任何一個大于號于號“錯寫成大于等于號錯寫成大于等于號“,那就不能構(gòu)成三角形。那就不能構(gòu)成三角形。 問題恰出如今容易被忽略的邊境附近。問題恰出如今容易被忽略的邊境附近。 邊境值分析法進(jìn)展測試用例設(shè)計應(yīng)留邊境值分析法進(jìn)展測試用例設(shè)計應(yīng)留意遵照如下原那么:意遵照如下原那么:假設(shè)輸入條件對取值范圍進(jìn)展了界定,假設(shè)輸入條件對取值范圍進(jìn)展了界定,那么應(yīng)以邊境內(nèi)部以及恰巧超出邊境那么應(yīng)以邊境內(nèi)部以及恰巧超出

15、邊境范圍的值作為測試用例。范圍的值作為測試用例。 例如,假設(shè)輸入值的范圍是例如,假設(shè)輸入值的范圍是-0.100-0.100到到1.0001.000,那么可以選擇:,那么可以選擇:-0.101-0.101、0.9990.999、-0.099-0.099和和1.0011.001作為測試輸入作為測試輸入數(shù)據(jù)。數(shù)據(jù)。 假設(shè)對取值的個數(shù)進(jìn)展了界定,那么該假設(shè)對取值的個數(shù)進(jìn)展了界定,那么該當(dāng)分別選擇最大個數(shù)、最小個數(shù)及稍小當(dāng)分別選擇最大個數(shù)、最小個數(shù)及稍小于最小個數(shù)比最小個數(shù)少于最小個數(shù)比最小個數(shù)少1 1、稍大于、稍大于最大個數(shù)比最大個數(shù)多最大個數(shù)比最大個數(shù)多1 1等作為測試等作為測試用例。用例。例如,假

16、設(shè)一個輸入文件可以有例如,假設(shè)一個輸入文件可以有1 1到到255255個記錄,那么可以分別設(shè)計具有個記錄,那么可以分別設(shè)計具有1 1個記錄、個記錄、255255個記錄以及個記錄以及0 0個記錄和個記錄和256256個記錄的輸個記錄的輸入文件。入文件。 對于輸出條件,同樣可以運(yùn)用上面提到對于輸出條件,同樣可以運(yùn)用上面提到的兩條原那么來進(jìn)展測試用例設(shè)計。的兩條原那么來進(jìn)展測試用例設(shè)計。 假設(shè)在程序規(guī)格闡明書中提到的輸入或假設(shè)在程序規(guī)格闡明書中提到的輸入或輸出域是一個有序的集合如順序文件、輸出域是一個有序的集合如順序文件、表格等,就應(yīng)留意選取該有序集合中表格等,就應(yīng)留意選取該有序集合中的第一個和最后

17、一個元素作為測試用例。的第一個和最后一個元素作為測試用例。 假設(shè)程序內(nèi)部運(yùn)用了一個內(nèi)部數(shù)據(jù)構(gòu)造,假設(shè)程序內(nèi)部運(yùn)用了一個內(nèi)部數(shù)據(jù)構(gòu)造,那么應(yīng)中選擇這個內(nèi)部數(shù)據(jù)構(gòu)造的邊境那么應(yīng)中選擇這個內(nèi)部數(shù)據(jù)構(gòu)造的邊境值作為測試用例。值作為測試用例。例如,假設(shè)程序中定義了一個數(shù)組,其例如,假設(shè)程序中定義了一個數(shù)組,其元素下標(biāo)的下界是元素下標(biāo)的下界是0 0,上界是,上界是127127,那么,那么應(yīng)該選擇到達(dá)這個數(shù)組下標(biāo)邊境的值應(yīng)該選擇到達(dá)這個數(shù)組下標(biāo)邊境的值0 0和和127127作為測試用例。作為測試用例。 留意留意 運(yùn)用邊境值分析方法設(shè)計測試用例,首先運(yùn)用邊境值分析方法設(shè)計測試用例,首先應(yīng)確定邊境情況。應(yīng)中選取

18、正好等于、剛應(yīng)確定邊境情況。應(yīng)中選取正好等于、剛大于、或剛小于邊境的值做為測試數(shù)據(jù),大于、或剛小于邊境的值做為測試數(shù)據(jù),而不是選取等價類中的典型值或恣意值做而不是選取等價類中的典型值或恣意值做為測試數(shù)據(jù)。為測試數(shù)據(jù)。錯誤猜測法錯誤猜測法 所謂猜錯,就是猜測被測程序在哪些地方所謂猜錯,就是猜測被測程序在哪些地方容易出錯,然后針對能夠的薄弱環(huán)節(jié)來設(shè)容易出錯,然后針對能夠的薄弱環(huán)節(jié)來設(shè)計測試用例。計測試用例。 它更多地依賴于人們的先驗(yàn)知識,因此,它更多地依賴于人們的先驗(yàn)知識,因此,錯誤猜測法普通作為輔助性測試用例設(shè)計錯誤猜測法普通作為輔助性測試用例設(shè)計方法運(yùn)用。方法運(yùn)用。 錯誤猜測法的根本思想:錯誤

19、猜測法的根本思想: 列舉出程序中一切能夠有的錯列舉出程序中一切能夠有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)誤和容易發(fā)生錯誤的特殊情況,根據(jù)這些內(nèi)容選擇測試用例。這些內(nèi)容選擇測試用例。 如:輸入、輸出數(shù)據(jù)為零的情況;輸如:輸入、輸出數(shù)據(jù)為零的情況;輸入表格為空或輸入表格只需一行的情入表格為空或輸入表格只需一行的情況。況。因果圖法因果圖法 因果圖方法就是從程序規(guī)格闡明書的描畫因果圖方法就是從程序規(guī)格闡明書的描畫中找出因輸入條件和果輸出或程序中找出因輸入條件和果輸出或程序形狀的改動之間的關(guān)系,經(jīng)過將因果圖形狀的改動之間的關(guān)系,經(jīng)過將因果圖轉(zhuǎn)換為斷定表,最后為斷定表中的每一列轉(zhuǎn)換為斷定表,最后為斷定表中

20、的每一列設(shè)計一個測試用例。設(shè)計一個測試用例。 這一方法思索了輸入情況的各種組合以及這一方法思索了輸入情況的各種組合以及各個輸入情況之間的相互制約關(guān)系。各個輸入情況之間的相互制約關(guān)系。 適用范圍:適用范圍: 假設(shè)在測試時必需思索輸入條件的各種組假設(shè)在測試時必需思索輸入條件的各種組合,可運(yùn)用一種適宜于描畫對于多種條件合,可運(yùn)用一種適宜于描畫對于多種條件的組合,相應(yīng)產(chǎn)生多個動作的方式來設(shè)計的組合,相應(yīng)產(chǎn)生多個動作的方式來設(shè)計測試用例,此時可以利用因果圖。測試用例,此時可以利用因果圖。 詳細(xì)的測試用例設(shè)計步驟如下:詳細(xì)的測試用例設(shè)計步驟如下: 分析軟件規(guī)格闡明描畫中,哪分析軟件規(guī)格闡明描畫中,哪些是緣

21、由些是緣由 ( (即輸入條件或輸入即輸入條件或輸入條件的等價類條件的等價類) ),哪些是結(jié)果,哪些是結(jié)果 ( (即輸出條件即輸出條件) ),并給每個緣由,并給每個緣由和結(jié)果賦予一個標(biāo)識符。和結(jié)果賦予一個標(biāo)識符。 分析軟件規(guī)格闡明描畫中的語義,找出緣分析軟件規(guī)格闡明描畫中的語義,找出緣由與結(jié)果之間,緣由與緣由之間對應(yīng)的是由與結(jié)果之間,緣由與緣由之間對應(yīng)的是什么關(guān)系。根據(jù)這些關(guān)系,畫出因果圖。什么關(guān)系。根據(jù)這些關(guān)系,畫出因果圖。由于語法或環(huán)境限制,有些緣由與緣由之由于語法或環(huán)境限制,有些緣由與緣由之間,緣由與結(jié)果之間的組合情況不能夠出間,緣由與結(jié)果之間的組合情況不能夠出現(xiàn)。為闡明這些特殊情況,在因

22、果圖上用現(xiàn)。為闡明這些特殊情況,在因果圖上用一些記號標(biāo)明約束或限制條件。一些記號標(biāo)明約束或限制條件。 把因果圖轉(zhuǎn)換成斷定表。把因果圖轉(zhuǎn)換成斷定表。把斷定表的每一列拿出來作為根據(jù),把斷定表的每一列拿出來作為根據(jù),設(shè)計測試用例。設(shè)計測試用例。 在因果圖中出現(xiàn)的根本元素闡明在因果圖中出現(xiàn)的根本元素闡明: : 通常在因果圖中用通常在因果圖中用CiCi表示緣由,用表示緣由,用EiEi表表示結(jié)果。示結(jié)果。 各結(jié)點(diǎn)表示形狀,可取值各結(jié)點(diǎn)表示形狀,可取值“0 0或或“1 1?!? 0表示某形狀不出現(xiàn),表示某形狀不出現(xiàn),“1 1表示某形表示某形狀出現(xiàn)。狀出現(xiàn)。因果圖:緣由和結(jié)果之間的關(guān)系因果圖:緣由和結(jié)果之間的

23、關(guān)系a a衡等:表示緣由與結(jié)果之間一對一的對應(yīng)關(guān)系。衡等:表示緣由與結(jié)果之間一對一的對應(yīng)關(guān)系。假設(shè)緣由出現(xiàn),那么結(jié)果出現(xiàn)。假設(shè)緣由不出現(xiàn),假設(shè)緣由出現(xiàn),那么結(jié)果出現(xiàn)。假設(shè)緣由不出現(xiàn),那么結(jié)果也不出現(xiàn)。那么結(jié)果也不出現(xiàn)。b b非:表示緣由與結(jié)果之間的一種否認(rèn)關(guān)系。假非:表示緣由與結(jié)果之間的一種否認(rèn)關(guān)系。假設(shè)緣由出現(xiàn),那么結(jié)果不出現(xiàn)。假設(shè)緣由不出現(xiàn),設(shè)緣由出現(xiàn),那么結(jié)果不出現(xiàn)。假設(shè)緣由不出現(xiàn),反而結(jié)果出現(xiàn)。反而結(jié)果出現(xiàn)。 c c或:表示假設(shè)幾個緣由中有一個出現(xiàn),那么結(jié)或:表示假設(shè)幾個緣由中有一個出現(xiàn),那么結(jié)果出現(xiàn),只需當(dāng)這幾個緣由都不出現(xiàn)時,結(jié)果才果出現(xiàn),只需當(dāng)這幾個緣由都不出現(xiàn)時,結(jié)果才不出現(xiàn)。

24、不出現(xiàn)。d d與:表示假設(shè)幾個緣由都出現(xiàn),結(jié)果才出現(xiàn)。與:表示假設(shè)幾個緣由都出現(xiàn),結(jié)果才出現(xiàn)。假設(shè)幾個緣由中有一個不出現(xiàn),結(jié)果就不出現(xiàn)。假設(shè)幾個緣由中有一個不出現(xiàn),結(jié)果就不出現(xiàn)。 為了表示緣由與緣由之間,結(jié)果與結(jié)果之為了表示緣由與緣由之間,結(jié)果與結(jié)果之間能夠存在的約束條件,在因果圖中可以間能夠存在的約束條件,在因果圖中可以附加附加5 5種表示約束條件的符號。種表示約束條件的符號。 從輸入緣由角度思索,有從輸入緣由角度思索,有4 4種約束;種約束; 從輸出結(jié)果角度思索,那么有從輸出結(jié)果角度思索,那么有1 1種約束。種約束。 這些符號的詳細(xì)方式及其語義如下:這些符號的詳細(xì)方式及其語義如下: E E

25、互斥:它表示互斥:它表示a a,b b兩個緣由不會同時成兩個緣由不會同時成立,兩個中最多有一個能夠成立。立,兩個中最多有一個能夠成立。I I包含:它表示包含:它表示a a,b b,c c三個緣由中至少有三個緣由中至少有一個必需成立。一個必需成立。O O獨(dú)一:它表示獨(dú)一:它表示a a和和b b當(dāng)中必需有一個,且當(dāng)中必需有一個,且僅有一個成立。僅有一個成立。 R R要求:它表示當(dāng)要求:它表示當(dāng)a a出現(xiàn)時,出現(xiàn)時,b b必需也出現(xiàn)。必需也出現(xiàn)。不能夠不能夠a a出現(xiàn),出現(xiàn),b b不出現(xiàn)。不出現(xiàn)。M M屏蔽:假設(shè)從輸出結(jié)果思索,還有屏蔽:假設(shè)從輸出結(jié)果思索,還有一種約束。它表示當(dāng)一種約束。它表示當(dāng)a

26、 a是是1 1時,時,b b必需是必需是0 0;當(dāng);當(dāng)a a為為0 0時,時,b b的值不定。的值不定。 實(shí)例實(shí)例 思索一個處置單價為思索一個處置單價為5 5角錢飲料的自動售角錢飲料的自動售貨機(jī)軟件的測試用例設(shè)計問題。其規(guī)格闡貨機(jī)軟件的測試用例設(shè)計問題。其規(guī)格闡明如下:明如下: 假設(shè)投入假設(shè)投入5 5角錢或角錢或1 1元錢的硬幣,按下橙元錢的硬幣,按下橙汁或啤酒的按鈕,那么相應(yīng)的飲料汁或啤酒的按鈕,那么相應(yīng)的飲料就送出來。就送出來。 假設(shè)售貨機(jī)沒有零錢找,那么一個顯示假設(shè)售貨機(jī)沒有零錢找,那么一個顯示零錢找完的紅燈亮,這時在投入零錢找完的紅燈亮,這時在投入1 1元元硬幣并按下按鈕后,飲料不送出

27、來而且硬幣并按下按鈕后,飲料不送出來而且1 1元硬幣也退出來;元硬幣也退出來; 假設(shè)有零錢找,那么顯示零錢找完的假設(shè)有零錢找,那么顯示零錢找完的紅燈滅,在送出飲料的同時退還紅燈滅,在送出飲料的同時退還5 5角硬幣。角硬幣。 分析這一段闡明,列出緣由和結(jié)果分析這一段闡明,列出緣由和結(jié)果緣由:緣由: 1. 1. 售貨機(jī)有零錢找售貨機(jī)有零錢找 2. 2. 投入投入1 1元硬幣元硬幣 3. 3. 投入投入5 5角硬幣角硬幣 4. 4. 押下橙汁按鈕押下橙汁按鈕 5. 5. 押下啤酒按鈕押下啤酒按鈕 建立中間結(jié)點(diǎn),表示處置中間形狀建立中間結(jié)點(diǎn),表示處置中間形狀 11. 11. 投入投入1 1元硬幣且押下

28、飲料按鈕元硬幣且押下飲料按鈕12. 12. 押下橙汁或啤酒的按鈕押下橙汁或啤酒的按鈕13. 13. 該當(dāng)找該當(dāng)找5 5角零錢并且售貨機(jī)有零錢找角零錢并且售貨機(jī)有零錢找14. 14. 錢已付清錢已付清 結(jié)果: 21. 售貨機(jī)零錢找完燈亮 22. 退還1元硬幣 23. 退還5角硬幣 24. 送出橙汁飲料 25. 送出啤酒飲料 畫出因果圖。一切緣由結(jié)點(diǎn)列在左邊,畫出因果圖。一切緣由結(jié)點(diǎn)列在左邊,一切結(jié)果結(jié)點(diǎn)列在右邊。一切結(jié)果結(jié)點(diǎn)列在右邊。由于由于 2 2 與與 3 3 ,4 4 與與 5 5 不能同時發(fā)生,不能同時發(fā)生,分別加上約束條件分別加上約束條件E E。 因果圖轉(zhuǎn)換成斷定表。 且斷定表中沒有被

29、劃去的每一列就是一個測試用例。 黑盒測試方法的選擇黑盒測試方法的選擇 普通來說,在確定測試方法時,應(yīng)該遵普通來說,在確定測試方法時,應(yīng)該遵照以下原那么:照以下原那么: 第一,要根據(jù)程序的重要性和一旦發(fā)生第一,要根據(jù)程序的重要性和一旦發(fā)生缺點(diǎn)將呵斥的損失來確定它的測試等級缺點(diǎn)將呵斥的損失來確定它的測試等級和測試重點(diǎn);和測試重點(diǎn); 第二,要仔細(xì)研討測試戰(zhàn)略,以便能運(yùn)第二,要仔細(xì)研討測試戰(zhàn)略,以便能運(yùn)用盡能夠少的測試用例,發(fā)現(xiàn)盡能夠多用盡能夠少的測試用例,發(fā)現(xiàn)盡能夠多的程序錯誤。的程序錯誤。 以下是各種測試方法選擇的綜合戰(zhàn)略,以下是各種測試方法選擇的綜合戰(zhàn)略,可供讀者在實(shí)踐運(yùn)用過程中參考??晒┳x者在

30、實(shí)踐運(yùn)用過程中參考。 首先進(jìn)展等價類劃分,包括輸入條件首先進(jìn)展等價類劃分,包括輸入條件和輸出條件的等價劃分,將無限測試變和輸出條件的等價劃分,將無限測試變成有限測試,這是減少任務(wù)量和提高測成有限測試,這是減少任務(wù)量和提高測試效率最有效的方法。試效率最有效的方法。 在任何情況下都必需運(yùn)用邊境值分析在任何情況下都必需運(yùn)用邊境值分析方法。閱歷闡明,用這種方法設(shè)計出的方法。閱歷闡明,用這種方法設(shè)計出的測試用例發(fā)現(xiàn)程序錯誤的才干最強(qiáng)。測試用例發(fā)現(xiàn)程序錯誤的才干最強(qiáng)。 可以用錯誤推測法追加一些測試用例,這需可以用錯誤推測法追加一些測試用例,這需求依托測試工程師的智慧和閱歷。求依托測試工程師的智慧和閱歷。

31、對照程序邏輯,檢查已設(shè)計出的測試用例的對照程序邏輯,檢查已設(shè)計出的測試用例的邏輯覆蓋程度。假設(shè)沒有到達(dá)要求的覆蓋規(guī)邏輯覆蓋程度。假設(shè)沒有到達(dá)要求的覆蓋規(guī)范,該當(dāng)再補(bǔ)充足夠的測試用例。范,該當(dāng)再補(bǔ)充足夠的測試用例。 假設(shè)程序的功能闡明中含有輸入條件的組合假設(shè)程序的功能闡明中含有輸入條件的組合情況,那么一開場就可選用因果圖法和斷定情況,那么一開場就可選用因果圖法和斷定表驅(qū)動法。表驅(qū)動法。形狀測試形狀測試q經(jīng)過不同的形狀驗(yàn)證的程序的邏輯流程。經(jīng)過不同的形狀驗(yàn)證的程序的邏輯流程。q軟件形狀軟件形狀software state是指軟件是指軟件當(dāng)前所處的條件或者方式例:畫筆程序當(dāng)前所處的條件或者方式例:畫

32、筆程序q軟件測試員必需測試程序的形狀及其轉(zhuǎn)換。軟件測試員必需測試程序的形狀及其轉(zhuǎn)換。 一、測試軟件的邏輯流程一、測試軟件的邏輯流程 軟件能夠進(jìn)入的每一種獨(dú)立形狀軟件能夠進(jìn)入的每一種獨(dú)立形狀 從一種形狀轉(zhuǎn)入另一種形狀所需的輸入和從一種形狀轉(zhuǎn)入另一種形狀所需的輸入和條件條件 進(jìn)入或者退出某種形狀時的設(shè)置條件及輸進(jìn)入或者退出某種形狀時的設(shè)置條件及輸出結(jié)果出結(jié)果 不用了解代碼中設(shè)置的底層變量。從軟件不用了解代碼中設(shè)置的底層變量。從軟件用戶的角度建立形狀圖即可用戶的角度建立形狀圖即可 例子:自動柜員機(jī)例子:自動柜員機(jī)SATMSATM歡迎運(yùn)用歡迎運(yùn)用簡單自動柜員機(jī)簡單自動柜員機(jī)請插入請插入ATM卡卡現(xiàn)金給

33、付口現(xiàn)金給付口存款信封口存款信封口收據(jù)口收據(jù)口插卡口插卡口1234567890取消取消B1B2B3 形狀:形狀:歡迎歡迎請插入請插入ATM卡卡請輸入個人身份編號請輸入個人身份編號假設(shè)輸錯請按假設(shè)輸錯請按“取消取消個人身份編號有誤,個人身份編號有誤,請重新輸入請重新輸入無效標(biāo)志,他的卡將無效標(biāo)志,他的卡將被留下,請給銀行打被留下,請給銀行打請選擇買賣類型:請選擇買賣類型:余額余額 /存款存款 /取款取款請選擇帳戶類型:請選擇帳戶類型:支票支票 /儲蓄儲蓄假設(shè)輸錯請按假設(shè)輸錯請按“取消取消請輸入帳號請輸入帳號假設(shè)輸錯請按假設(shè)輸錯請按“取消取消余額缺乏余額缺乏請輸入一個新帳號請輸入一個新帳號假設(shè)輸錯

34、請按假設(shè)輸錯請按“取消取消無法支付該金額無法支付該金額暫時無法取款,進(jìn)展暫時無法取款,進(jìn)展另一個買賣嗎?另一個買賣嗎?是是 / 否否正在更新余額,請正在更新余額,請取走現(xiàn)金取走現(xiàn)金暫時無法存款,進(jìn)展暫時無法存款,進(jìn)展另一個買賣嗎?另一個買賣嗎?是是 / 否否請將信封放入存款請將信封放入存款槽中,余額將被更新槽中,余額將被更新新余額正打印在收據(jù)新余額正打印在收據(jù)上,進(jìn)展另一個買賣嗎?上,進(jìn)展另一個買賣嗎?是是 / 否否請取走收據(jù)和請取走收據(jù)和ATM卡謝謝卡謝謝空閑空閑等待等待PIN等待買賣等待買賣選擇選擇存款存款終了會話終了會話余額余額取款取款壞卡壞卡取消或取消或PIN失敗失敗取消取消卡正??ㄕ?/p>

35、常PIN無問題,顯示屏幕無問題,顯示屏幕是是否否B1B2B3上層形狀機(jī)上層形狀機(jī) 測試要點(diǎn):測試要點(diǎn): 每種形狀至少訪問一次每種形狀至少訪問一次 測試看起來是最常見和最普遍的形狀轉(zhuǎn)換測試看起來是最常見和最普遍的形狀轉(zhuǎn)換 測試形狀之間最不常用的分支測試形狀之間最不常用的分支 測試一切錯誤形狀及其前往值測試一切錯誤形狀及其前往值 測試隨機(jī)形狀轉(zhuǎn)換測試隨機(jī)形狀轉(zhuǎn)換 例子例子 :Windows畫圖程序啟動形狀畫圖程序啟動形狀其中失敗形狀其中失敗形狀 主要是主要是 競爭條件競爭條件 反復(fù)反復(fù) 壓迫壓迫 重負(fù)重負(fù) 競爭條件和時序錯亂競爭條件和時序錯亂 在真正的多義務(wù)環(huán)境中軟件設(shè)計必需處置在真正的多義務(wù)環(huán)境

36、中軟件設(shè)計必需處置隨時被中斷的情況,可以與其他任何軟件隨時被中斷的情況,可以與其他任何軟件在系統(tǒng)中同時運(yùn)轉(zhuǎn),并且共享內(nèi)存、磁盤、在系統(tǒng)中同時運(yùn)轉(zhuǎn),并且共享內(nèi)存、磁盤、通訊設(shè)備以及其他硬件資源。通訊設(shè)備以及其他硬件資源。 這樣的結(jié)果,就是導(dǎo)致競爭條件問題;軟這樣的結(jié)果,就是導(dǎo)致競爭條件問題;軟件未預(yù)料到的中斷發(fā)生,時序就會發(fā)生錯件未預(yù)料到的中斷發(fā)生,時序就會發(fā)生錯亂。亂。 競爭條件和時序錯亂競爭條件和時序錯亂 競爭條件測試難以設(shè)計,最好是首先仔細(xì)競爭條件測試難以設(shè)計,最好是首先仔細(xì)查看形狀轉(zhuǎn)換圖中的每一個形狀,以找出查看形狀轉(zhuǎn)換圖中的每一個形狀,以找出哪些外部影響會中斷該形狀。哪些外部影響會中斷該形狀。 思索要運(yùn)用數(shù)據(jù)假設(shè)沒有預(yù)備好,或者在思索要運(yùn)用數(shù)據(jù)假設(shè)沒有預(yù)備

溫馨提示

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

評論

0/150

提交評論