全面的黑盒測(cè)試基本方法_第1頁(yè)
全面的黑盒測(cè)試基本方法_第2頁(yè)
全面的黑盒測(cè)試基本方法_第3頁(yè)
全面的黑盒測(cè)試基本方法_第4頁(yè)
全面的黑盒測(cè)試基本方法_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、黑盒測(cè)試黑盒測(cè)試n黑盒測(cè)試是一種常用的軟件測(cè)試方法,它將被測(cè)軟件看作一個(gè)打不開(kāi)的黑盒,主要根據(jù)功能需求設(shè)計(jì)測(cè)試用例,進(jìn)行測(cè)試。本章主要介紹幾種常用的黑盒測(cè)試方法和黑盒測(cè)試工具,并通過(guò)實(shí)例介紹各種方法的運(yùn)用。黑盒測(cè)試黑盒測(cè)試n黑盒測(cè)試的基本概念n等價(jià)類(lèi)劃分n邊界值分析法n因果圖法n決策表法n黑盒測(cè)試方法的比較與選擇n黑盒測(cè)試工具介紹黑盒測(cè)試的基本概念黑盒測(cè)試的基本概念 黑盒測(cè)試是從一種從軟件外部對(duì)軟件實(shí)施的測(cè)試,也稱功能測(cè)試或基于規(guī)格說(shuō)明的測(cè)試。其基本觀點(diǎn)是:任何程序都可以看作是從輸入定義域到輸出值域的映射,這種觀點(diǎn)將被測(cè)程序看作一個(gè)打不開(kāi)的黑盒,黑盒里面的內(nèi)容(實(shí)現(xiàn))是完全不知道的,只知道軟件

2、要做什么。因無(wú)法看到盒子中的內(nèi)容,所以不知道軟件是如何實(shí)現(xiàn)的,也不關(guān)心黑盒里面的結(jié)構(gòu),只關(guān)心軟件的輸入數(shù)據(jù)和輸出結(jié)果。黑盒測(cè)試的基本概念黑盒測(cè)試的基本概念 黑盒測(cè)試是從用戶觀點(diǎn)出發(fā)的測(cè)試,其目的是盡可能發(fā)現(xiàn)軟件的外部行為錯(cuò)誤。在已知軟件產(chǎn)品功能的基礎(chǔ)上,n檢測(cè)軟件功能能否按照需求規(guī)格說(shuō)明書(shū)的規(guī)定正常工作,是否有功能遺漏;n檢測(cè)是否有人機(jī)交互錯(cuò)誤,是否有數(shù)據(jù)結(jié)構(gòu)和外部數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤,是否能恰當(dāng)?shù)亟邮諗?shù)據(jù)并保持外部信息(如數(shù)據(jù)庫(kù)或文件)等的完整性;n檢測(cè)行為、性能等特性是否滿足要求等;n檢測(cè)程序初始化和終止方面的錯(cuò)誤等。黑盒測(cè)試的基本概念黑盒測(cè)試的基本概念 黑盒測(cè)試著眼于軟件的外部特征,通過(guò)上述方

3、面的檢測(cè),確定軟件所實(shí)現(xiàn)的功能是否按照軟件規(guī)格說(shuō)明書(shū)的預(yù)期要求正常工作. 兩個(gè)顯著的優(yōu)點(diǎn):n 黑盒測(cè)試與軟件具體實(shí)現(xiàn)無(wú)關(guān),所以如果軟件實(shí)現(xiàn)發(fā)生了變化,測(cè)試用例仍然可以使用;n 設(shè)計(jì)黑盒測(cè)試用例可以和軟件實(shí)現(xiàn)同時(shí)進(jìn)行,因此可以壓縮項(xiàng)目總的開(kāi)發(fā)時(shí)間。黑盒測(cè)試的基本概念黑盒測(cè)試的基本概念 窮舉輸入測(cè)試是不現(xiàn)實(shí)的。這就需要我們認(rèn)真研究測(cè)試方法,以便能開(kāi)發(fā)出盡可能少的測(cè)試用例,發(fā)現(xiàn)盡可能多的軟件故障。 常用的黑盒測(cè)試方法有等價(jià)類(lèi)劃分、邊界值分析、決策表測(cè)試等,每種方法各有所長(zhǎng),我們應(yīng)針對(duì)軟件開(kāi)發(fā)項(xiàng)目的具體特點(diǎn),選擇合適的測(cè)試方法,有效地解決軟件開(kāi)發(fā)中的測(cè)試問(wèn)題。等價(jià)類(lèi)劃分等價(jià)類(lèi)劃分n等價(jià)類(lèi)劃分法是一種典

4、型的黑盒測(cè)試方法,它完全不考慮程序的內(nèi)部結(jié)構(gòu),只根據(jù)程序規(guī)格說(shuō)明書(shū)對(duì)輸入范圍進(jìn)行劃分,把所有可能的輸入數(shù)據(jù),即程序輸入域劃分為若干個(gè)互不相交的子集,稱為等價(jià)類(lèi),然后從每個(gè)等價(jià)類(lèi)中選取少數(shù)具有代表性的數(shù)據(jù)作為測(cè)試用例,進(jìn)行測(cè)試。等價(jià)類(lèi)劃分等價(jià)類(lèi)劃分n等價(jià)類(lèi)劃分方法 所謂等價(jià)類(lèi)是指輸入域的某個(gè)互不相交的子集合,所有等價(jià)類(lèi)的并便是整個(gè)輸入域。 1劃分等價(jià)類(lèi)n(1)有效等價(jià)類(lèi)n檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說(shuō)明預(yù)先規(guī)定的功能和性能。n(2)無(wú)效等價(jià)類(lèi)n檢查軟件功能和性能的實(shí)現(xiàn)是否有不符合規(guī)格說(shuō)明要求的地方。等價(jià)類(lèi)劃分方法等價(jià)類(lèi)劃分方法2常用的等價(jià)類(lèi)劃分原則n(1)按區(qū)間劃分n(2)按數(shù)值劃分n(3)按數(shù)值集合

5、劃分n(4)按限制條件或規(guī)則劃分n(5)細(xì)分等價(jià)類(lèi)等價(jià)類(lèi)劃分方法等價(jià)類(lèi)劃分方法 在確立了等價(jià)類(lèi)之后,可按表1的形式列出所有劃分出的等價(jià)類(lèi)表: 表1 等價(jià)類(lèi)表 同樣,也可按照輸出條件,將輸出域劃分為若干個(gè)等價(jià)類(lèi)。輸入條件有效等價(jià)類(lèi)無(wú)效等價(jià)類(lèi)等價(jià)類(lèi)劃分方法等價(jià)類(lèi)劃分方法3等價(jià)類(lèi)劃分測(cè)試用例設(shè)計(jì) 在設(shè)計(jì)測(cè)試用例時(shí)應(yīng)同時(shí)考慮有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi)測(cè)試用例的設(shè)計(jì)。根據(jù)等價(jià)類(lèi)表設(shè)計(jì)測(cè)試用例,具體步驟如下: (1)為每個(gè)等價(jià)類(lèi)規(guī)定一個(gè)唯一的編號(hào)。 (2) 設(shè)計(jì)一個(gè)新的測(cè)試用例,盡可能多地覆蓋尚未被覆蓋的有效等價(jià)類(lèi),重復(fù)這一步,直到測(cè)試用例覆蓋了所有的有效等價(jià)類(lèi)。 (3) 設(shè)計(jì)一個(gè)新的測(cè)試用例,使其覆蓋并且只

6、覆蓋一個(gè)還沒(méi)有被覆蓋的無(wú)效等價(jià)類(lèi)。重復(fù)這一步,直至測(cè)試用例覆蓋了所有的無(wú)效等價(jià)類(lèi)。等價(jià)類(lèi)劃分等價(jià)類(lèi)劃分n等價(jià)類(lèi)劃分法的測(cè)試運(yùn)用 三角形問(wèn)題的等價(jià)類(lèi)測(cè)試 【例例1】 三角形問(wèn)題是軟件測(cè)試文獻(xiàn)中使用最廣泛的一個(gè)例子。輸入三個(gè)整數(shù)a、b和c分別作為三角形的3條邊,通過(guò)程序判斷由這3條邊構(gòu)成的三角形類(lèi)型是:等邊三角形、等腰三角形、一般三角形或非三角形(不能構(gòu)成一個(gè)三角形)。等價(jià)類(lèi)劃分法的測(cè)試運(yùn)用等價(jià)類(lèi)劃分法的測(cè)試運(yùn)用三角形問(wèn)題可以更詳細(xì)地描述為: 輸入3個(gè)整數(shù)a、b和c分別作為三角形的三條邊,要求a、b和c必須滿足以下條件: Con11a10 Con 21b100 Con 31c100 Con 4ab

7、+c Con 5ba+c Con 6ca+b如果a、b和c滿足Con1、Con2和Con3,則輸出為4種情況之一:如果不滿足條件Con 4、Con 5和Con 6中有一個(gè),則程序輸出為“非三角形”。如果三條邊相等,則程序輸出為“等邊三角形”。如果恰好有兩條邊相等,則程序輸出為“等腰三角形”。如果三條邊都不相等,則程序輸出為“一般三角形”。等價(jià)類(lèi)劃分法的測(cè)試運(yùn)用等價(jià)類(lèi)劃分法的測(cè)試運(yùn)用2保險(xiǎn)公司人壽保險(xiǎn)保費(fèi)計(jì)算程序的等價(jià)類(lèi)測(cè)試【例例2】 某保險(xiǎn)公司人壽保險(xiǎn)的保費(fèi)計(jì)算方式為: 保費(fèi)投保額保險(xiǎn)費(fèi)率 其中,保險(xiǎn)費(fèi)率根據(jù)年齡、性別、婚姻狀況和撫養(yǎng)人數(shù)的不同而有所不同,體現(xiàn)在不同年齡、性別、婚姻狀況和撫養(yǎng)人

8、數(shù),點(diǎn)數(shù)設(shè)定不同,10點(diǎn)及10點(diǎn)以上保險(xiǎn)費(fèi)率為0.6%,10點(diǎn)以下保險(xiǎn)費(fèi)率為0.1%;而點(diǎn)數(shù)又是由投保人的年齡、性別、婚姻狀況和撫養(yǎng)人數(shù)來(lái)決定,具體規(guī)則見(jiàn)表2.5。年齡性別婚姻狀況撫養(yǎng)人數(shù)20394059其它MF已婚未婚1人扣0.5點(diǎn),最多扣3點(diǎn)6點(diǎn)4點(diǎn)2點(diǎn)4點(diǎn)3點(diǎn)3點(diǎn)5點(diǎn)等價(jià)類(lèi)劃分法的測(cè)試運(yùn)用等價(jià)類(lèi)劃分法的測(cè)試運(yùn)用 分析程序規(guī)格說(shuō)明中給出和隱含的對(duì)輸入數(shù)據(jù)的要求,可以得出: 年齡:一位或兩位非零整數(shù),取值的有效范圍為199。 性別:一位英文字符,只能取 M或F 值。 婚姻:字符,只能取已婚或未婚。 撫養(yǎng)人數(shù):空白或字符無(wú)或一位非零整數(shù)(19) 點(diǎn)數(shù) :一位或兩位非零整數(shù),取值范圍為819 通

9、過(guò)對(duì)規(guī)格說(shuō)明輸入數(shù)據(jù)的取值分析,可以得出保險(xiǎn)公司人壽保險(xiǎn)保費(fèi)計(jì)算程序的等價(jià)類(lèi)。等價(jià)類(lèi)劃分法的測(cè)試運(yùn)用等價(jià)類(lèi)劃分法的測(cè)試運(yùn)用等價(jià)類(lèi)測(cè)試存在兩個(gè)問(wèn)題: 一是規(guī)格說(shuō)明往往沒(méi)有定義無(wú)效測(cè)試用例的期望輸出應(yīng)該是什么樣的。因此,測(cè)試人員需要花費(fèi)大量時(shí)間來(lái)定義這些測(cè)試用例的期望輸出。 二是強(qiáng)類(lèi)型語(yǔ)言沒(méi)有必要考慮無(wú)效輸入。傳統(tǒng)等價(jià)類(lèi)測(cè)試是諸如FORTRAN和COBOL這樣的語(yǔ)言占統(tǒng)治地位年代的產(chǎn)物,那時(shí)這種無(wú)效輸入的故障很常見(jiàn)。事實(shí)上,正是由于經(jīng)常出現(xiàn)這種錯(cuò)誤,才促使人們使用強(qiáng)類(lèi)型語(yǔ)言。邊界值分析法邊界值分析法n大量的軟件測(cè)試實(shí)踐表明,故障往往出現(xiàn)在定義域或值域的邊界上,而不是在其內(nèi)部。為檢測(cè)邊界附近的處理專(zhuān)

10、門(mén)設(shè)計(jì)測(cè)試用例,通常都會(huì)取得很好的測(cè)試效果。因此邊界值分析法是一種很實(shí)用的黑盒測(cè)試用例方法,它具有很強(qiáng)的發(fā)現(xiàn)故障的能力。邊界值分析法邊界值分析法1邊界條件n邊界是一些特殊情況。程序在處理大量中間數(shù)值時(shí)都是正確,但是在邊界處可能出現(xiàn)錯(cuò)誤。邊界條件就是軟件計(jì)劃的操作界限所在的邊緣條件。n一些可能與邊界有關(guān)的數(shù)據(jù)類(lèi)型有:數(shù)值,速度,字符,地址,位置,尺寸,數(shù)量等。同時(shí),考慮這些數(shù)據(jù)類(lèi)型的下述特征: 第一個(gè)/最后一個(gè),最小值最大值,開(kāi)始完成,超過(guò)/在內(nèi),空滿,最短最長(zhǎng),最慢/最快,最早/最遲,最高最低,相鄰最遠(yuǎn)等。2.3.1 2.3.1 邊界值分析法邊界值分析法 其實(shí)邊界值和等價(jià)類(lèi)密切相關(guān),輸入等價(jià)類(lèi)

11、和輸出等價(jià)類(lèi)的邊界是要著重測(cè)試的邊界情況。在等價(jià)類(lèi)的劃分過(guò)程中產(chǎn)生了許多等價(jià)類(lèi)邊界。邊界是最容易出錯(cuò)的地方,所以,從等價(jià)類(lèi)中選取測(cè)試數(shù)據(jù)時(shí)應(yīng)該關(guān)注邊界值。 在等價(jià)類(lèi)劃分基礎(chǔ)上進(jìn)行邊界值分析測(cè)試的基本思想是,選取正好等于、剛剛大于或剛剛小于等價(jià)類(lèi)邊界的值作為測(cè)試數(shù)據(jù),而不是選取等價(jià)類(lèi)中的典型值或任意值做為測(cè)試數(shù)據(jù)。邊界值分析法邊界值分析法2邊界值分析測(cè)試 這里討論一個(gè)有兩個(gè)變量x1和x2的程序P。假設(shè)輸入變量x1和x2在下列范圍內(nèi)取值: ax1b, cx2d 邊界值分析利用輸入變量的最小值(min),稍大于最小值(min+),域內(nèi)任意值(nom),稍小于最大值(max-),最大值(max)來(lái)設(shè)計(jì)

12、測(cè)試用例。即通過(guò)使所有變量取正常值,只使一個(gè)變量分別去最小值,略高于最小值、略低于最大值和最大值。邊界值分析法邊界值分析法 對(duì)于一個(gè)n變量的程序,邊界值分析測(cè)試會(huì)產(chǎn)生4n+1個(gè)測(cè)試用例。邊界值分析法邊界值分析法3. 健壯性邊界值測(cè)試 健壯性測(cè)試是邊界值分析的一種擴(kuò)展。 變量除了取min,min,nom,max,max五個(gè)邊界值外,還要考慮采用一個(gè)略超過(guò)最大值(max+)以及一個(gè)略小于最小值(min-)的取值,看看超過(guò)極限值時(shí)系統(tǒng)會(huì)出現(xiàn)什么情況。邊界值分析法邊界值分析法 健壯性邊界值測(cè)試將產(chǎn)生6n+1個(gè)測(cè)試用例. 健壯性測(cè)試最有意義的部分不是輸人,而是預(yù)期的輸出,觀察例外情況如何處理。邊界值分析

13、法邊界值分析法n邊界值分析法的測(cè)試運(yùn)用 1. 三角形問(wèn)題的邊界值分析測(cè)試用例設(shè)計(jì) 邊界值分析測(cè)試用例測(cè)試用例abc預(yù)期輸出Test 1Test2Test3Test4Test560606050506060605050126099100等腰三角形等腰三角形等邊三角形等腰三角形非三角形Test6Test7Test8Test960605050129910060605050等腰三角形等腰三角形等腰三角形非三角形Test10Test11Test12Test1312991006060505060605050等腰三角形等腰三角形等腰三角形非三角形邊界值分析法的測(cè)試運(yùn)用邊界值分析法的測(cè)試運(yùn)用2加法器邊界值測(cè)試用

14、例設(shè)計(jì)【例例24】 加法器程序計(jì)算兩個(gè)1100之間整數(shù)的和。 對(duì)于加法器程序,根據(jù)輸入要求可將輸入空間劃分為三個(gè)等價(jià)類(lèi),即1個(gè)有效等價(jià)類(lèi)(1100之間),兩個(gè)無(wú)效等價(jià)類(lèi)(100)。但這種等價(jià)類(lèi)劃分不是很完善,我們只考慮了輸入數(shù)據(jù)的取值范圍,而沒(méi)有考慮輸入數(shù)據(jù)的類(lèi)型,我們認(rèn)為輸入應(yīng)為整數(shù),但用戶輸入什么都有可能。邊界值分析法的測(cè)試運(yùn)用邊界值分析法的測(cè)試運(yùn)用為此,我們可綜合考慮輸入數(shù)據(jù)的取值范圍和類(lèi)型劃分等價(jià)類(lèi),其結(jié)果如下表所示。 加法器等價(jià)類(lèi)編號(hào)輸入條件所屬類(lèi)別編號(hào)輸入條件所屬類(lèi)別11100之間整數(shù)有效等價(jià)類(lèi)5非數(shù)值(字母)無(wú)效等價(jià)類(lèi)2100整數(shù)無(wú)效等價(jià)類(lèi)7非數(shù)值(空格)無(wú)效等價(jià)類(lèi)4小數(shù)無(wú)效等價(jià)

15、類(lèi)8非數(shù)值(空白)無(wú)效等價(jià)類(lèi)邊界值分析法的測(cè)試運(yùn)用邊界值分析法的測(cè)試運(yùn)用 加法器邊界測(cè)試用例測(cè)試用例輸入數(shù)據(jù)預(yù)期輸出加數(shù)1加數(shù)2和Test115051Test 225052Test 39950149Test 410050150Test 550151Test 650252Test 75099149Test 850100150Test 9050提示“請(qǐng)輸入1100間的整數(shù)”Test 10500提示“請(qǐng)輸入1100間的整數(shù)”Test1110150提示“請(qǐng)輸入1100間的整數(shù)”Test1250101提示“請(qǐng)輸入1100間的整數(shù)”Test130.250提示“請(qǐng)輸入1100間的整數(shù)”邊界值分析法的測(cè)試運(yùn)用

16、邊界值分析法的測(cè)試運(yùn)用 加法器邊界測(cè)試用例測(cè)試用例輸入數(shù)據(jù)預(yù)期輸出加數(shù)1加數(shù)2和Test14500.2提示“請(qǐng)輸入1100間的整數(shù)”Test15A50提示“請(qǐng)輸入1100間的整數(shù)”Test1650A提示“請(qǐng)輸入1100間的整數(shù)”Test1750提示“請(qǐng)輸入1100間的整數(shù)”Test1850提示“請(qǐng)輸入1100間的整數(shù)”Test19空格50提示“請(qǐng)輸入1100間的整數(shù)”Test2050空格提示“請(qǐng)輸入1100間的整數(shù)”Test2150提示“請(qǐng)輸入1100間的整數(shù)”Test2250提示“請(qǐng)輸入1100間的整數(shù)”邊界值分析法的測(cè)試運(yùn)用邊界值分析法的測(cè)試運(yùn)用n應(yīng)用邊界值分析法進(jìn)行測(cè)試用例設(shè)計(jì)時(shí),應(yīng)遵循

17、以下一些原則:n(1)如果輸入條件對(duì)取值范圍進(jìn)行了限定,則應(yīng)以邊界內(nèi)部以及剛超出范圍邊界外的值作為測(cè)試用例。n(2)如果對(duì)取值的個(gè)數(shù)進(jìn)行了界定,則應(yīng)分別以最大、稍小于最大、稍大于最大、最小、稍小于最小、稍大于最小個(gè)數(shù)作為測(cè)試用例。n(3)對(duì)于輸出條件,同樣可以應(yīng)用上面提到的兩條原則來(lái)進(jìn)行測(cè)試用例設(shè)計(jì)。n(4)如果程序規(guī)格說(shuō)明書(shū)中指明輸入或者輸出域是一個(gè)有序的集合,如順序文件、表格等,則應(yīng)注意選取有序集合中的第一個(gè)和最后一個(gè)元素作為測(cè)試用例。因果圖法因果圖法n 等價(jià)類(lèi)劃分法和邊界值分析方法都是著重考慮輸入條件,如果程序輸入之間沒(méi)有什么聯(lián)系,采用等價(jià)類(lèi)劃分和邊界值分析是一種比較有效的方法。但如果輸

18、入之間有關(guān)系,例如,約束關(guān)系、組合關(guān)系,這種關(guān)系用等價(jià)類(lèi)劃分和邊界值分析是很難描述的,測(cè)試效果難以保障,因此必須考慮使用一種適合于描述對(duì)于多種條件的組合,產(chǎn)生多個(gè)相應(yīng)動(dòng)作的測(cè)試方法,因果圖正是在此背景下提出的。因果圖法因果圖法n2.4.1 因果圖法的原理 1因果圖因果圖法的原理因果圖法的原理因果圖法的原理因果圖法的原理2因果圖法測(cè)試用例的設(shè)計(jì)步驟:(1)確定軟件規(guī)格中的原因和結(jié)果。分析規(guī)格說(shuō)明中哪些是原因(即輸入條件或輸入條件的等價(jià)類(lèi)),哪些是結(jié)果(即輸出條件),并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符。(2)確定原因和結(jié)果之間的邏輯關(guān)系。分析軟件規(guī)格說(shuō)明中的語(yǔ)義,找出原因與結(jié)果之間、原因與原因之間對(duì)

19、應(yīng)的關(guān)系,根據(jù)這些關(guān)系畫(huà)出因果圖。(3)確定因果圖中的各個(gè)約束。由于語(yǔ)法或環(huán)境的限制,有些原因與原因之間、原因與結(jié)果之間的組合情況不可能出現(xiàn)。為表明這些特殊情況,在因果圖上用一些記號(hào)表明約束或限制條件。(4)把因果圖轉(zhuǎn)換為決策表。(5)根據(jù)決策表設(shè)計(jì)測(cè)試用例。因果圖法因果圖法n2.4.2 因果圖法的測(cè)試運(yùn)用 某軟件規(guī)格說(shuō)明書(shū)規(guī)定:輸入的第一個(gè)字符必須是#或*,第二個(gè)字符必須是一個(gè)數(shù)字,此情況下進(jìn)行文件的修改;如果第一個(gè)字符不是#或*,則給出信息N,如果第二個(gè)字符不是數(shù)字,則給出信息M。決策表法決策表法n在所有的黑盒測(cè)試方法中,基于決策表的測(cè)試是最嚴(yán)格,最具有邏輯性的測(cè)試方法。決策表法決策表法n

20、2.5.1 決策表法 1決策表 決策表是把作為條件的所有輸入的各種組合值以及對(duì)應(yīng)輸出值都羅列出來(lái)而形成的表格。 它能夠?qū)?fù)雜的問(wèn)題按照各種可能的情況全部列舉出來(lái),簡(jiǎn)明并避免遺漏。因此,利用決策表能夠設(shè)計(jì)出完整的測(cè)試用例集合。決策表法決策表法決策表通常由條件樁、條件項(xiàng)、動(dòng)作樁和動(dòng)作項(xiàng)4部分組成。 條件樁 條件項(xiàng) 動(dòng)作樁 動(dòng)作項(xiàng)規(guī)則 決策表的組成 動(dòng)作項(xiàng)和條件項(xiàng)緊密相關(guān),指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作。決策表法決策表法2決策表的構(gòu)造及化簡(jiǎn)構(gòu)造決策表可采用以下5個(gè)步驟:(1)列出所有的條件樁和動(dòng)作樁。(2)確定規(guī)則的個(gè)數(shù)。(3)填入條件項(xiàng)。(4)填入動(dòng)作項(xiàng),得到初始決策表。(5)簡(jiǎn)化決策表

21、,合并相似規(guī)則。決策表法決策表法n決策表的化簡(jiǎn) 對(duì)于n個(gè)條件的決策表,相應(yīng)有2n個(gè)規(guī)則(每個(gè)條件分別取真、假值),當(dāng)n較大時(shí),決策表很繁瑣。實(shí)際使用決策表時(shí),常常先將它簡(jiǎn)化。決策表的簡(jiǎn)化是以合并相似規(guī)則為目標(biāo)。即若表中有兩條以上規(guī)則具有相同的動(dòng)作,并且在條件項(xiàng)之間存在極為相似的關(guān)系,便可以合并。決策表法決策表法n決策表法的測(cè)試運(yùn)用 下面以NextDate函數(shù)為例,討論決策表測(cè)試用例的設(shè)計(jì)。 【例例5】 NextDate函數(shù)輸入為month(月份)、day(日期)和year(年),輸出為輸入后一天的日期。例如,如果輸入為:1964年8月16日,則輸出為1964年8月17日。要求輸入變量month

22、、day和year都是整數(shù)值,并且滿足以下條件: Con1 1month12 Con2 1day31 Con3 1900year2050決策表法的測(cè)試運(yùn)用決策表法的測(cè)試運(yùn)用 采用決策表法則可以通過(guò)使用“不可能動(dòng)作”的概念表示條件的不可能組合,來(lái)強(qiáng)調(diào)這種依賴關(guān)系。 為了獲得下一個(gè)日期,NextDate函數(shù)需要執(zhí)行的操作只有如下5種: day變量值加1; day變量值復(fù)位為1; month變量值加1; month變量值復(fù)位為1; year變量值加1。決策表法的測(cè)試運(yùn)用決策表法的測(cè)試運(yùn)用 如果將注意力集中到NextDate函數(shù)的日和月問(wèn)題上,并仔細(xì)研究動(dòng)作樁。可以在以下的等價(jià)類(lèi)集合上建立決策表。M1

23、: mouth: mouth有30天;M2: mouth:mouth有31天,12月除外; M3: mouth:mouth有12月; M4: mouth:mouth是2月;D1:day:1day27;D2: day:day=28;D3: day:day=29; D4: day:day=30; D5: day:day=31;Y1:year:year是閏年;Y2: year:year不是閏年2.5.2 2.5.2 決策表法的測(cè)試運(yùn)用決策表法的測(cè)試運(yùn)用 規(guī)則選項(xiàng)1234567891011條件C1:month在C2:day在C3:year在M1M1M1M1M1M2M2M2M2M2M3D1D2D3D4D

24、5D1D2D3D4D5D1 動(dòng)作A1:不可能A2:day加1A3:day復(fù)位A4:month加1A5:month復(fù)位A6:year加1 NextDate函數(shù)的決策表 2.5.2 2.5.2 決策表法的測(cè)試運(yùn)用決策表法的測(cè)試運(yùn)用 NextDate函數(shù)的決策表 規(guī)則選項(xiàng)1213141516171819 202122條件 C1:month在M3M3M3M3M4M4M4M4M4M4M4C2:day在D2D3D4D5D1D2D2D3D3D4D5C3:year在Y1Y2Y1Y2動(dòng)作A1:不可能A2:day加1A3:day復(fù)位A4:month加1A5:month復(fù)位A6:year加1決策表法的測(cè)試運(yùn)用決策表

25、法的測(cè)試運(yùn)用可進(jìn)一步簡(jiǎn)化這22個(gè)測(cè)試用例。簡(jiǎn)化后的決策表如下所示。13456910 11141516171819 20 2122條件C1:month在M1M1M1M2M2M3M3M4M4M4M4M4M4C2:day在D1D3D4D5D1D4D5D1D4D5D1D2D2D3D3D4,D5C3:year在-Y1Y2Y1Y2-動(dòng)作A1:不可能A2:day加1A3:day復(fù)位month加1month復(fù)位A6:year加1決策表法的測(cè)試運(yùn)用決策表法的測(cè)試運(yùn)用根據(jù)簡(jiǎn)化后的決策表,可設(shè)計(jì)測(cè)試用例如下表所示。測(cè)試用例monthdayyear預(yù)期輸出Test1-3Test4Test5Test6-9Test10T

26、est11-14Test15Test16Test17Test18Test19Test20Test21-22666111212222222163031163116311628282929302001200120012001200120012001200120042001200420012001不可能不可能不可能黑盒測(cè)試方法的比較與選擇黑盒測(cè)試方法的比較與選擇n上面討論了幾種典型的黑盒測(cè)試方法,這些測(cè)試方法的共同特點(diǎn)是,它們都把程序看作是一個(gè)打不開(kāi)的黑盒,只知道輸入到輸出的映射關(guān)系,根據(jù)軟件規(guī)格說(shuō)明設(shè)計(jì)測(cè)試用例。n在等價(jià)類(lèi)分析測(cè)試中,通過(guò)等價(jià)類(lèi)劃分來(lái)減少測(cè)試用例的絕對(duì)數(shù)量。n邊界值分析方法則通過(guò)分

27、析輸入變量的邊界值域設(shè)計(jì)測(cè)試用例。n在因果圖測(cè)試方法和決策表測(cè)試中,通過(guò)分析被測(cè)程序的邏輯依賴關(guān)系,構(gòu)造決策表,進(jìn)而設(shè)計(jì)測(cè)試用例。黑盒測(cè)試方法的比較與選擇黑盒測(cè)試方法的比較與選擇1測(cè)試工作量 以邊界值分析、等價(jià)類(lèi)劃分和決策表測(cè)試方法來(lái)討論它們的測(cè)試工作量,即生成測(cè)試用例的數(shù)量與開(kāi)發(fā)這些測(cè)試用例所需的工作量。每種測(cè)試方法的測(cè)試用例數(shù)量黑盒測(cè)試方法的比較與選擇黑盒測(cè)試方法的比較與選擇由每種方法設(shè)計(jì)測(cè)試用例的工作量曲線:每種方法設(shè)計(jì)測(cè)試用例的工作量趨勢(shì) 測(cè)試方法研究的目的就是在開(kāi)發(fā)測(cè)試用例工作量和測(cè)試執(zhí)行工作量之間做一個(gè)令人滿意的折中。黑盒測(cè)試方法的比較與選擇黑盒測(cè)試方法的比較與選擇2測(cè)試有效性 解

28、釋測(cè)試有效性是很困難的。因?yàn)槲覀儾恢莱绦蛑械乃泄收?,因此我們也不可能知道給定方法所產(chǎn)生的測(cè)試用例是否能夠發(fā)現(xiàn)這些。 所能夠做的,只是根據(jù)不同類(lèi)型的故障,選擇最有可能發(fā)現(xiàn)這種缺陷的測(cè)試方法(包括白盒測(cè)試)。根據(jù)最可能出現(xiàn)的故障種類(lèi),分析得到可提高測(cè)試有效性的實(shí)用方法。通過(guò)跟蹤所開(kāi)發(fā)軟件中的故障的種類(lèi)和密度,也可以改進(jìn)這種方法。黑盒測(cè)試方法的比較與選擇黑盒測(cè)試方法的比較與選擇 利用程序的已知屬性,選擇處理這種屬性的方法,在選擇黑盒測(cè)試方法時(shí)一些經(jīng)常用到的屬性有:n 變量表示物理量還是邏輯量?n 在變量之間是否存在依賴關(guān)系?n 是否有大量的例外處理?黑盒測(cè)試方法的比較與選擇黑盒測(cè)試方法的比較與選

29、擇 下面給出一些黑盒測(cè)試方法選取的初步的“專(zhuān)家系統(tǒng)”:n 如果變量引用的是物理量,可采用邊界值分析測(cè)試和等價(jià)類(lèi)測(cè)試。n 如果變量是獨(dú)立的,可采用邊界值分析測(cè)試和等價(jià)類(lèi)測(cè)試。n 如果變量不是獨(dú)立的,可采用決策表測(cè)試。n 如果可保證是單缺陷假設(shè),可采用邊界值分析和健壯性測(cè)試。n 如果可保證是多缺陷假設(shè),可采用邊界值分析測(cè)試和決策表測(cè)試n 如果程序包含大量例外處理,可采用健壯性測(cè)試和決策表測(cè)試。n 如果變量引用的是邏輯量,可采用等價(jià)類(lèi)測(cè)試用例和決策表測(cè)試。黑盒測(cè)試工具介紹黑盒測(cè)試工具介紹n黑盒測(cè)試工具是指測(cè)試軟件功能和性能的工具,主要用于集成測(cè)試、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試。n本節(jié)主要介紹幾款常用的功能測(cè)試

30、工具,性能測(cè)試工具則在第6章中介紹。黑盒測(cè)試工具介紹黑盒測(cè)試工具介紹n黑盒測(cè)試工具概要 黑盒測(cè)試是在已知軟件產(chǎn)品應(yīng)具有的功能的條件下,在完全不考慮被測(cè)程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否都按照需求規(guī)格說(shuō)明的規(guī)定正常使用。 黑盒測(cè)試工具又分為:功能測(cè)試工具和性能測(cè)試工具。 功能測(cè)試工具:功能測(cè)試工具主要用于檢測(cè)被測(cè)程序能否達(dá)到預(yù)期的功能要求并能正常運(yùn)行。 性能測(cè)試工具:性能測(cè)試工具主要用于確定軟件和系統(tǒng)性能。黑盒測(cè)試工具概要黑盒測(cè)試工具概要 功能測(cè)試工具一般采用腳本錄制(Record)/回放(Playback)原理,模擬用戶的操作,然后將被測(cè)系統(tǒng)的輸出記錄下來(lái),并同預(yù)先給定

31、的標(biāo)準(zhǔn)結(jié)果進(jìn)行比較。在回歸測(cè)試中使用功能測(cè)試工具,可以大大減輕測(cè)試人員的工作量,提高測(cè)試效果。 功能測(cè)試工具不太適合于版本變動(dòng)較大的軟件。 下面主要介紹一些主流黑盒功能測(cè)試工具,如Mercury Interactive公司的WinRunner,IBM Rational公司的TeamTest和Robot,Compuware公司的QACenter等。黑盒測(cè)試工具介紹黑盒測(cè)試工具介紹n黑盒功能測(cè)試工具WinRunner 1. WinRunner的測(cè)試模式的測(cè)試模式 (1)上下文敏感模式(Context Sensitive model) (2)模擬模式(Analog mode) 2GUI對(duì)象識(shí)別和對(duì)象

32、識(shí)別和GUI map文件文件 3WinRunner測(cè)試過(guò)程測(cè)試過(guò)程 可分為創(chuàng)建GUI map,創(chuàng)建測(cè)試,調(diào)試測(cè)試,執(zhí)行測(cè)試,分析結(jié)果和測(cè)試維護(hù)六個(gè)階段。黑盒功能測(cè)試工具黑盒功能測(cè)試工具WinRunnerWinRunner 4WinRunner的使用的使用 WinRunner的主窗口如下所示,主要包括標(biāo)題欄、菜單欄、標(biāo)準(zhǔn)工具欄、用戶欄、狀態(tài)欄和測(cè)試窗口。 黑盒功能測(cè)試工具黑盒功能測(cè)試工具WinRunnerWinRunnerWinRunner的測(cè)試窗口界面如下5WinRunner對(duì)樣本軟件對(duì)樣本軟件Flight1A的測(cè)試的測(cè)試黑盒測(cè)試工具介紹黑盒測(cè)試工具介紹n黑盒功能測(cè)試工具QTPnQTP屬于新一代自動(dòng)化測(cè)試解決方案,能夠支持所有常用環(huán)境的功能測(cè)試。n QTP的主界面與WinRunner的主界面不同,界面中主要部分包括:文件工具欄、測(cè)試工具欄 、測(cè)試面、數(shù)據(jù)表格 、活動(dòng)屏幕。 QTP的主界面黑盒功能測(cè)試工具黑盒功能測(cè)試工具QTPQTP黑盒功能測(cè)試工具黑盒功能測(cè)試工具QTPQTP QTP的測(cè)試流程1設(shè)計(jì)測(cè)試用例2創(chuàng)建測(cè)試腳本3編輯測(cè)試腳本4運(yùn)行測(cè)試5分析測(cè)試 QTP適合測(cè)試版本比較穩(wěn)定的軟件產(chǎn)品,在一些界面

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論