版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
a1第二章黑盒測試黑盒測試是一種常用的軟件測試方法,它將被測軟件看作一個打不開的黑盒,主要根據(jù)功能需求設(shè)計測試用例,進行測試。本章主要介紹幾種常用的黑盒測試方法和黑盒測試工具,并通過實例介紹各種方法的運用。a1第二章黑盒測試黑盒測試是一種常用的軟件測試方法,它將被a2第二章黑盒測試2.1黑盒測試的基本概念2.2等價類劃分2.3邊界值分析法2.4因果圖法2.5決策表法2.6黑盒測試方法的比較與選擇2.7黑盒測試工具介紹a2第二章黑盒測試2.1黑盒測試的基本概念a32.1黑盒測試的基本概念黑盒測試是從一種從軟件外部對軟件實施的測試,也稱功能測試或基于規(guī)格說明的測試。其基本觀點是:任何程序都可以看作是從輸入定義域到輸出值域的映射,這種觀點將被測程序看作一個打不開的黑盒,黑盒里面的內(nèi)容(實現(xiàn))是完全不知道的,只知道軟件要做什么。因無法看到盒子中的內(nèi)容,所以不知道軟件是如何實現(xiàn)的,也不關(guān)心黑盒里面的結(jié)構(gòu),只關(guān)心軟件的輸入數(shù)據(jù)和輸出結(jié)果。a32.1黑盒測試的基本概念黑盒測試是a42.1黑盒測試的基本概念黑盒測試是從用戶觀點出發(fā)的測試,其目的是盡可能發(fā)現(xiàn)軟件的外部行為錯誤。在已知軟件產(chǎn)品功能的基礎(chǔ)上,檢測軟件功能能否按照需求規(guī)格說明書的規(guī)定正常工作,是否有功能遺漏;檢測是否有人機交互錯誤,是否有數(shù)據(jù)結(jié)構(gòu)和外部數(shù)據(jù)庫訪問錯誤,是否能恰當(dāng)?shù)亟邮諗?shù)據(jù)并保持外部信息(如數(shù)據(jù)庫或文件)等的完整性;檢測行為、性能等特性是否滿足要求等;檢測程序初始化和終止方面的錯誤等。a42.1黑盒測試的基本概念黑盒測試是從a52.1黑盒測試的基本概念黑盒測試著眼于軟件的外部特征,通過上述方面的檢測,確定軟件所實現(xiàn)的功能是否按照軟件規(guī)格說明書的預(yù)期要求正常工作.兩個顯著的優(yōu)點:①黑盒測試與軟件具體實現(xiàn)無關(guān),所以如果軟件實現(xiàn)發(fā)生了變化,測試用例仍然可以使用;②設(shè)計黑盒測試用例可以和軟件實現(xiàn)同時進行,因此可以壓縮項目總的開發(fā)時間。a52.1黑盒測試的基本概念黑盒測試著眼于軟件的外部a62.1黑盒測試的基本概念窮舉輸入測試是不現(xiàn)實的。這就需要我們認真研究測試方法,以便能開發(fā)出盡可能少的測試用例,發(fā)現(xiàn)盡可能多的軟件故障。常用的黑盒測試方法有等價類劃分、邊界值分析、決策表測試等,每種方法各有所長,我們應(yīng)針對軟件開發(fā)項目的具體特點,選擇合適的測試方法,有效地解決軟件開發(fā)中的測試問題。a62.1黑盒測試的基本概念窮舉輸入測試a7
2.2等價類劃分等價類劃分法是一種典型的黑盒測試方法,它完全不考慮程序的內(nèi)部結(jié)構(gòu),只根據(jù)程序規(guī)格說明書對輸入范圍進行劃分,把所有可能的輸入數(shù)據(jù),即程序輸入域劃分為若干個互不相交的子集,稱為等價類,然后從每個等價類中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例,進行測試。a7
2.2等價類劃分等價類劃分法是一種典型的黑盒測試方a82.2等價類劃分2.2.1等價類劃分方法所謂等價類是指輸入域的某個互不相交的子集合,所有等價類的并便是整個輸入域。1.劃分等價類(1)有效等價類檢驗程序是否實現(xiàn)了規(guī)格說明預(yù)先規(guī)定的功能和性能。(2)無效等價類檢查軟件功能和性能的實現(xiàn)是否有不符合規(guī)格說明要求的地方。a82.2等價類劃分2.2.1等價類劃分方法a92.2.1等價類劃分方法2.常用的等價類劃分原則(1)按區(qū)間劃分(2)按數(shù)值劃分(3)按數(shù)值集合劃分(4)按限制條件或規(guī)則劃分(5)細分等價類a92.2.1等價類劃分方法2.常用的等價類劃分原則a102.2.1等價類劃分方法在確立了等價類之后,可按表2.1的形式列出所有劃分出的等價類表:
表2.1等價類表同樣,也可按照輸出條件,將輸出域劃分為若干個等價類。輸入條件有效等價類無效等價類a102.2.1等價類劃分方法在確立了等價類之后,可a112.2.1等價類劃分方法3.等價類劃分測試用例設(shè)計在設(shè)計測試用例時應(yīng)同時考慮有效等價類和無效等價類測試用例的設(shè)計。根據(jù)等價類表設(shè)計測試用例,具體步驟如下:(1)為每個等價類規(guī)定一個唯一的編號。(2)設(shè)計一個新的測試用例,盡可能多地覆蓋尚未被覆蓋的有效等價類,重復(fù)這一步,直到測試用例覆蓋了所有的有效等價類。(3)設(shè)計一個新的測試用例,使其覆蓋并且只覆蓋一個還沒有被覆蓋的無效等價類。重復(fù)這一步,直至測試用例覆蓋了所有的無效等價類。a112.2.1等價類劃分方法3.等價類劃分測試用例設(shè)計a122.2等價類劃分2.2.2等價類劃分法的測試運用1.三角形問題的等價類測試【例2.1】三角形問題是軟件測試文獻中使用最廣泛的一個例子。輸入三個整數(shù)a、b和c分別作為三角形的3條邊,通過程序判斷由這3條邊構(gòu)成的三角形類型是:等邊三角形、等腰三角形、一般三角形或非三角形(不能構(gòu)成一個三角形)。a122.2等價類劃分2.2.2等價類劃分法的測試運用a13
2.2.2等價類劃分法的測試運用三角形問題可以更詳細地描述為:
輸入3個整數(shù)a、b和c分別作為三角形的三條邊,要求a、b和c必須滿足以下條件:Con1.1≤a≤10Con2.1≤b≤100Con3.1≤c≤100
Con4.a(chǎn)<b+cCon5.b<a+c
Con6.c<a+b如果a、b和c滿足Con1、Con2和Con3,則輸出為4種情況之一:①.如果不滿足條件Con4、Con5和Con6中有一個,則程序輸出為“非三角形”。②.如果三條邊相等,則程序輸出為“等邊三角形”。③.如果恰好有兩條邊相等,則程序輸出為“等腰三角形”。④.如果三條邊都不相等,則程序輸出為“一般三角形”。a13
2.2.2等價類劃分法的測試運用三角形問題可以更a142.2.2等價類劃分法的測試運用2.保險公司人壽保險保費計算程序的等價類測試【例2.2】某保險公司人壽保險的保費計算方式為:
保費=投保額×保險費率其中,保險費率根據(jù)年齡、性別、婚姻狀況和撫養(yǎng)人數(shù)的不同而有所不同,體現(xiàn)在不同年齡、性別、婚姻狀況和撫養(yǎng)人數(shù),點數(shù)設(shè)定不同,10點及10點以上保險費率為0.6%,10點以下保險費率為0.1%;而點數(shù)又是由投保人的年齡、性別、婚姻狀況和撫養(yǎng)人數(shù)來決定,具體規(guī)則見表2.5。年齡性別婚姻狀況撫養(yǎng)人數(shù)20~3940~59其它MF已婚未婚1人扣0.5點,最多扣3點6點4點2點4點3點3點5點a142.2.2等價類劃分法的測試運用2.保險公司人壽保險a152.2.2等價類劃分法的測試運用分析程序規(guī)格說明中給出和隱含的對輸入數(shù)據(jù)的要求,可以得出:①年齡:一位或兩位非零整數(shù),取值的有效范圍為1~99。②性別:一位英文字符,只能取‘M’或’F’值。③婚姻:字符,只能取‘已婚’或‘未婚’。④撫養(yǎng)人數(shù):空白或字符‘無’或一位非零整數(shù)(1~9)⑤點數(shù):一位或兩位非零整數(shù),取值范圍為8~19通過對規(guī)格說明輸入數(shù)據(jù)的取值分析,可以得出保險公司人壽保險保費計算程序的等價類。a152.2.2等價類劃分法的測試運用分析程序規(guī)格a162.2.2等價類劃分法的測試運用等價類測試存在兩個問題:
一是規(guī)格說明往往沒有定義無效測試用例的期望輸出應(yīng)該是什么樣的。因此,測試人員需要花費大量時間來定義這些測試用例的期望輸出。二是強類型語言沒有必要考慮無效輸入。傳統(tǒng)等價類測試是諸如FORTRAN和COBOL這樣的語言占統(tǒng)治地位年代的產(chǎn)物,那時這種無效輸入的故障很常見。事實上,正是由于經(jīng)常出現(xiàn)這種錯誤,才促使人們使用強類型語言。a162.2.2等價類劃分法的測試運用等價類測試存在兩個問a17
2.3邊界值分析法大量的軟件測試實踐表明,故障往往出現(xiàn)在定義域或值域的邊界上,而不是在其內(nèi)部。為檢測邊界附近的處理專門設(shè)計測試用例,通常都會取得很好的測試效果。因此邊界值分析法是一種很實用的黑盒測試用例方法,它具有很強的發(fā)現(xiàn)故障的能力。a17
2.3邊界值分析法大量的軟件測試實踐表明,故障往往a18
2.3.1邊界值分析法1.邊界條件邊界是一些特殊情況。程序在處理大量中間數(shù)值時都是正確,但是在邊界處可能出現(xiàn)錯誤。邊界條件就是軟件計劃的操作界限所在的邊緣條件。一些可能與邊界有關(guān)的數(shù)據(jù)類型有:數(shù)值,速度,字符,地址,位置,尺寸,數(shù)量等。同時,考慮這些數(shù)據(jù)類型的下述特征:第一個/最后一個,最小值/最大值,開始/完成,超過/在內(nèi),空/滿,最短/最長,最慢/最快,最早/最遲,最高/最低,相鄰/最遠等。a18
2.3.1邊界值分析法1.邊界條件a192.3.1邊界值分析法其實邊界值和等價類密切相關(guān),輸入等價類和輸出等價類的邊界是要著重測試的邊界情況。在等價類的劃分過程中產(chǎn)生了許多等價類邊界。邊界是最容易出錯的地方,所以,從等價類中選取測試數(shù)據(jù)時應(yīng)該關(guān)注邊界值。在等價類劃分基礎(chǔ)上進行邊界值分析測試的基本思想是,選取正好等于、剛剛大于或剛剛小于等價類邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值做為測試數(shù)據(jù)。a192.3.1邊界值分析法其實邊界值和a202.3.1邊界值分析法2.邊界值分析測試這里討論一個有兩個變量x1和x2的程序P。假設(shè)輸入變量x1和x2在下列范圍內(nèi)取值:a≤x1≤b,c≤x2≤d邊界值分析利用輸入變量的最小值(min),稍大于最小值(min+),域內(nèi)任意值(nom),稍小于最大值(max-),最大值(max)來設(shè)計測試用例。即通過使所有變量取正常值,只使一個變量分別去最小值,略高于最小值、略低于最大值和最大值。a202.3.1邊界值分析法2.邊界值分析測試a212.3.1邊界值分析法對于一個n變量的程序,邊界值分析測試會產(chǎn)生4n+1個測試用例。a212.3.1邊界值分析法對于一個na222.3.1邊界值分析法3.健壯性邊界值測試
健壯性測試是邊界值分析的一種擴展。
變量除了取min,min+,nom,max-,max五個邊界值外,還要考慮采用一個略超過最大值(max+)以及一個略小于最小值(min-)的取值,看看超過極限值時系統(tǒng)會出現(xiàn)什么情況。a222.3.1邊界值分析法3.健壯性邊界值測試a232.3.1邊界值分析法健壯性邊界值測試將產(chǎn)生6n+1個測試用例.健壯性測試最有意義的部分不是輸人,而是預(yù)期的輸出,觀察例外情況如何處理。a232.3.1邊界值分析法健壯性邊界值測試將產(chǎn)生6na242.3邊界值分析法2.3.2邊界值分析法的測試運用1.三角形問題的邊界值分析測試用例設(shè)計
邊界值分析測試用例測試用例abc預(yù)期輸出Test1Test2Test3Test4Test560606050506060605050126099100等腰三角形等腰三角形等邊三角形等腰三角形非三角形Test6Test7Test8Test960605050129910060605050等腰三角形等腰三角形等腰三角形非三角形Test10Test11Test12Test1312991006060505060605050等腰三角形等腰三角形等腰三角形非三角形a242.3邊界值分析法2.3.2邊界值分析法的測試運用測試a25
2.3.2邊界值分析法的測試運用2.加法器邊界值測試用例設(shè)計【例2.4】加法器程序計算兩個1~100之間整數(shù)的和。對于加法器程序,根據(jù)輸入要求可將輸入空間劃分為三個等價類,即1個有效等價類(1~100之間),兩個無效等價類(<1,>100)。但這種等價類劃分不是很完善,我們只考慮了輸入數(shù)據(jù)的取值范圍,而沒有考慮輸入數(shù)據(jù)的類型,我們認為輸入應(yīng)為整數(shù),但用戶輸入什么都有可能。a25
2.3.2邊界值分析法的測試運用2.加法器邊界值測a262.3.2邊界值分析法的測試運用為此,我們可綜合考慮輸入數(shù)據(jù)的取值范圍和類型劃分等價類,其結(jié)果如下表所示。
加法器等價類編號輸入條件所屬類別編號輸入條件所屬類別11~100之間整數(shù)有效等價類5非數(shù)值(字母)無效等價類2<1整數(shù)無效等價類6非數(shù)值(特殊字符)無效等價類3>100整數(shù)無效等價類7非數(shù)值(空格)無效等價類4小數(shù)無效等價類8非數(shù)值(空白)無效等價類a262.3.2邊界值分析法的測試運用為此,我們可綜合考慮a27
2.3.2邊界值分析法的測試運用加法器邊界測試用例測試用例輸入數(shù)據(jù)預(yù)期輸出加數(shù)1加數(shù)2和Test115051Test225052Test39950149Test410050150Test550151Test650252Test75099149Test850100150Test9050提示“請輸入1~100間的整數(shù)”Test10500提示“請輸入1~100間的整數(shù)”Test1110150提示“請輸入1~100間的整數(shù)”Test1250101提示“請輸入1~100間的整數(shù)”Test130.250提示“請輸入1~100間的整數(shù)”a272.3.2邊界值分析法的測試運用a28
2.3.2邊界值分析法的測試運用加法器邊界測試用例測試用例輸入數(shù)據(jù)預(yù)期輸出加數(shù)1加數(shù)2和Test14500.2提示“請輸入1~100間的整數(shù)”Test15A50提示“請輸入1~100間的整數(shù)”Test1650A提示“請輸入1~100間的整數(shù)”Test17@50提示“請輸入1~100間的整數(shù)”Test1850@提示“請輸入1~100間的整數(shù)”Test19空格50提示“請輸入1~100間的整數(shù)”Test2050空格提示“請輸入1~100間的整數(shù)”Test2150提示“請輸入1~100間的整數(shù)”Test2250提示“請輸入1~100間的整數(shù)”a282.3.2邊界值分析法的測試運用a292.3.2邊界值分析法的測試運用應(yīng)用邊界值分析法進行測試用例設(shè)計時,應(yīng)遵循以下一些原則:(1)如果輸入條件對取值范圍進行了限定,則應(yīng)以邊界內(nèi)部以及剛超出范圍邊界外的值作為測試用例。(2)如果對取值的個數(shù)進行了界定,則應(yīng)分別以最大、稍小于最大、稍大于最大、最小、稍小于最小、稍大于最小個數(shù)作為測試用例。(3)對于輸出條件,同樣可以應(yīng)用上面提到的兩條原則來進行測試用例設(shè)計。(4)如果程序規(guī)格說明書中指明輸入或者輸出域是一個有序的集合,如順序文件、表格等,則應(yīng)注意選取有序集合中的第一個和最后一個元素作為測試用例。a292.3.2邊界值分析法的測試運用應(yīng)用邊界值分析法進行測a30
2.4因果圖法等價類劃分法和邊界值分析方法都是著重考慮輸入條件,如果程序輸入之間沒有什么聯(lián)系,采用等價類劃分和邊界值分析是一種比較有效的方法。但如果輸入之間有關(guān)系,例如,約束關(guān)系、組合關(guān)系,這種關(guān)系用等價類劃分和邊界值分析是很難描述的,測試效果難以保障,因此必須考慮使用一種適合于描述對于多種條件的組合,產(chǎn)生多個相應(yīng)動作的測試方法,因果圖正是在此背景下提出的。a30
2.4因果圖法等價類劃分法和邊界值分a31
2.4因果圖法2.4.1因果圖法的原理1.因果圖a312.4因果圖法2.4.1因果圖法的原理a32
2.4.1因果圖法的原理a32
2.4.1因果圖法的原理a33
2.4.1因果圖法的原理2.因果圖法測試用例的設(shè)計步驟:(1)確定軟件規(guī)格中的原因和結(jié)果。分析規(guī)格說明中哪些是原因(即輸入條件或輸入條件的等價類),哪些是結(jié)果(即輸出條件),并給每個原因和結(jié)果賦予一個標(biāo)識符。(2)確定原因和結(jié)果之間的邏輯關(guān)系。分析軟件規(guī)格說明中的語義,找出原因與結(jié)果之間、原因與原因之間對應(yīng)的關(guān)系,根據(jù)這些關(guān)系畫出因果圖。(3)確定因果圖中的各個約束。由于語法或環(huán)境的限制,有些原因與原因之間、原因與結(jié)果之間的組合情況不可能出現(xiàn)。為表明這些特殊情況,在因果圖上用一些記號表明約束或限制條件。(4)把因果圖轉(zhuǎn)換為決策表。(5)根據(jù)決策表設(shè)計測試用例。a332.4.1因果圖法的原理2.因果圖法測試用例的設(shè)計a342.4因果圖法2.4.2因果圖法的測試運用某軟件規(guī)格說明書規(guī)定:輸入的第一個字符必須是#或*,第二個字符必須是一個數(shù)字,此情況下進行文件的修改;如果第一個字符不是#或*,則給出信息N,如果第二個字符不是數(shù)字,則給出信息M。a342.4因果圖法2.4.2因果圖法的測試運用a35
2.5決策表法在所有的黑盒測試方法中,基于決策表的測試是最嚴(yán)格,最具有邏輯性的測試方法。a35
2.5決策表法在所有的黑盒測試方法中,基于決策表a362.5決策表法2.5.1決策表法1.決策表決策表是把作為條件的所有輸入的各種組合值以及對應(yīng)輸出值都羅列出來而形成的表格。
它能夠?qū)?fù)雜的問題按照各種可能的情況全部列舉出來,簡明并避免遺漏。因此,利用決策表能夠設(shè)計出完整的測試用例集合。a362.5決策表法2.5.1決策表法a37
2.5.1決策表法決策表通常由條件樁、條件項、動作樁和動作項4部分組成。
條件樁
條件項動作樁動作項規(guī)則決策表的組成
動作項和條件項緊密相關(guān),指出在條件項的各組取值情況下應(yīng)采取的動作。a37
2.5.1決策表法決策表通常由條件樁、條件項、動a382.5.1決策表法2.決策表的構(gòu)造及化簡構(gòu)造決策表可采用以下5個步驟:(1)列出所有的條件樁和動作樁。(2)確定規(guī)則的個數(shù)。(3)填入條件項。(4)填入動作項,得到初始決策表。(5)簡化決策表,合并相似規(guī)則。a382.5.1決策表法2.決策表的構(gòu)造及化簡a392.5.1決策表法決策表的化簡對于n個條件的決策表,相應(yīng)有2n個規(guī)則(每個條件分別取真、假值),當(dāng)n較大時,決策表很繁瑣。實際使用決策表時,常常先將它簡化。決策表的簡化是以合并相似規(guī)則為目標(biāo)。即若表中有兩條以上規(guī)則具有相同的動作,并且在條件項之間存在極為相似的關(guān)系,便可以合并。a392.5.1決策表法決策表的化簡a402.5決策表法2.5.2決策表法的測試運用下面以NextDate函數(shù)為例,討論決策表測試用例的設(shè)計?!纠?.5】NextDate函數(shù)輸入為month(月份)、day(日期)和year(年),輸出為輸入后一天的日期。例如,如果輸入為:1964年8月16日,則輸出為1964年8月17日。要求輸入變量month、day和year都是整數(shù)值,并且滿足以下條件:Con1.
1≤month≤12Con2.
1≤day≤31Con3.
1900≤year≤2050a402.5決策表法2.5.2決策表法的測試運用a41
2.5.2決策表法的測試運用采用決策表法則可以通過使用“不可能動作”的概念表示條件的不可能組合,來強調(diào)這種依賴關(guān)系。為了獲得下一個日期,NextDate函數(shù)需要執(zhí)行的操作只有如下5種:①day變量值加1;②day變量值復(fù)位為1;③month變量值加1;④month變量值復(fù)位為1;⑤year變量值加1。a41
2.5.2決策表法的測試運用a422.5.2決策表法的測試運用如果將注意力集中到NextDate函數(shù)的日和月問題上,并仔細研究動作樁。可以在以下的等價類集合上建立決策表。M1:{month:month有30天};M2:{month:month有31天,12月除外};
M3:{month:month有12月};M4:{month:month是2月};D1:{day:1≤day≤27};D2:{day:day=28};D3:{day:day=29};D4:{day:day=30};D5:{day:day=31};Y1:{year:year是閏年};Y2:{year:year不是閏年}a422.5.2決策表法的測試運用如果將注意力集中到a432.5.2決策表法的測試運用
規(guī)則選項1234567891011條件C1:month在C2:day在C3:year在M1M1M1M1M1M2M2M2M2M2M3D1D2D3D4D5D1D2D3D4D5D1-----------動作A1:不可能A2:day加1A3:day復(fù)位A4:month加1A5:month復(fù)位A6:year加1√√√√√√√√√√√√√NextDate函數(shù)的決策表a432.5.2決策表法的測試運用a442.5.2決策表法的測試運用NextDate函數(shù)的決策表
規(guī)則選項1213141516171819202122條件
C1:month在M3M3M3M3M4M4M4M4M4M4M4C2:day在D2D3D4D5D1D2D2D3D3D4D5C3:year在-----Y1Y2Y1Y2--動作A1:不可能√√√A2:day加1√√√√√A3:day復(fù)位√√√A4:month加1√√A5:month復(fù)位√A6:year加1√a442.5.2決策表法的測試運用NextDate函數(shù)的a452.5.2決策表法的測試運用可進一步簡化這22個測試用例。簡化后的決策表如下所示。1~3456~91011~1415161718192021~22條件C1:month在M1M1M1M2M2M3M3M4M4M4M4M4M4C2:day在D1~D3D4D5D1~D4D5D1~D4D5D1D2D2D3D3D4,D5C3:year在--------Y1Y2Y1Y2-動作A1:不可能√√√A2:day加1√√√√√A3:day復(fù)位√√√√√month加1√√√√month復(fù)位√A6:year加1√a452.5.2決策表法的測試運用可進一步簡化這22個測試a462.5.2決策表法的測試運用根據(jù)簡化后的決策表,可設(shè)計測試用例如下表所示。測試用例monthdayyear預(yù)期輸出Test1-3Test4Test5Test6-9Test10Test11-14Test15Test16Test17Test18Test19Test20Test21-22666111212222222163031163116311628282929302001200120012001200120012001200120042001200420012001不可能不可能不可能a462.5.2決策表法的測試運用根據(jù)簡化后的決策表,可設(shè)a47
2.6黑盒測試方法的比較與選擇上面討論了幾種典型的黑盒測試方法,這些測試方法的共同特點是,它們都把程序看作是一個打不開的黑盒,只知道輸入到輸出的映射關(guān)系,根據(jù)軟件規(guī)格說明設(shè)計測試用例。在等價類分析測試中,通過等價類劃分來減少測試用例的絕對數(shù)量。邊界值分析方法則通過分析輸入變量的邊界值域設(shè)計測試用例。在因果圖測試方法和決策表測試中,通過分析被測程序的邏輯依賴關(guān)系,構(gòu)造決策表,進而設(shè)計測試用例。a47
2.6黑盒測試方法的比較與選擇上面討論了幾種典型a482.6黑盒測試方法的比較與選擇1.測試工作量以邊界值分析、等價類劃分和決策表測試方法來討論它們的測試工作量,即生成測試用例的數(shù)量與開發(fā)這些測試用例所需的工作量。每種測試方法的測試用例數(shù)量a482.6黑盒測試方法的比較與選擇1.測試工作量每種測試a492.6黑盒測試方法的比較與選擇由每種方法設(shè)計測試用例的工作量曲線:每種方法設(shè)計測試用例的工作量趨勢
測試方法研究的目的就是在開發(fā)測試用例工作量和測試執(zhí)行工作量之間做一個令人滿意的折中。a492.6黑盒測試方法的比較與選擇由每種方法設(shè)計測試用例a502.6黑盒測試方法的比較與選擇2.測試有效性解釋測試有效性是很困難的。因為我們不知道程序中的所有故障,因此我們也不可能知道給定方法所產(chǎn)生的測試用例是否能夠發(fā)現(xiàn)這些。所能夠做的,只是根據(jù)不同類型的故障,選擇最有可能發(fā)現(xiàn)這種缺陷的測試方法(包括白盒測試)。根據(jù)最可能出現(xiàn)的故障種類,分析得到可提高測試有效性的實用方法。通過跟蹤所開發(fā)軟件中的故障的種類和密度,也可以改進這種方法。a502.6黑盒測試方法的比較與選擇2.測試有效性a512.6黑盒測試方法的比較與選擇利用程序的已知屬性,選擇處理這種屬性的方法,在選擇黑盒測試方法時一些經(jīng)常用到的屬性有:
變量表示物理量還是邏輯量?
在變量之間是否存在依賴關(guān)系?
是否有大量的例外處理?a512.6黑盒測試方法的比較與選擇利用程序的已a522.6黑盒測試方法的比較與選擇下面給出一些黑盒測試方法選取的初步的“專家系統(tǒng)”:
如果變量引用的是物理量,可采用邊界值分析測試和等價類測試。
如果變量是獨立的,可采用邊界值分析測試和等價類測試。
如果變量不是獨立的,可采用決策表測試。
如果可保證是單缺陷假設(shè),可采用邊界值分析和健壯性測試。
如果可保證是多缺陷假設(shè),可采用邊界值分析測試和決策表測試
如果程序包含大量例外處理,可采用健壯性測試和決策表測試。
如果變量引用的是邏輯量,可采用等價類測試用例和決策表測試。a522.6黑盒測試方法的比較與選擇下面給出一些黑盒a53
2.7黑盒測試工具介紹黑盒測試工具是指測試軟件功能和性能的工具,主要用于集成測試、系統(tǒng)測試和驗收測試。本節(jié)主要介紹幾款常用的功能測試工具,性能測試工具則在第6章中介紹。a53
2.7黑盒測試工具介紹黑盒測試工具是指測試軟件功a542.7黑盒測試工具介紹2.7.1黑盒測試工具概要黑盒測試是在已知軟件產(chǎn)品應(yīng)具有的功能的條件下,在完全不考慮被測程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,通過測試來檢測每個功能是否都按照需求規(guī)格說明的規(guī)定正常使用。黑盒測試工具又分為:功能測試工具和性能測試工具。①功能測試工具:功能測試工具主要用于檢測被測程序能否達到預(yù)期的功能要求并能正常運行。②性能測試工具:性能測試工具主要用于確定軟件和系統(tǒng)性能。a542.7黑盒測試工具介紹2.7.1黑盒測試工具概要a55
2.7.1黑盒測試工具概要功能測試工具一般采用腳本錄制(Record)/回放(Playback)原理,模擬用戶的操作,然后將被測系統(tǒng)的輸出記錄下來,并同預(yù)先給定的標(biāo)準(zhǔn)結(jié)果進行比較。在回歸測試中使用功能測試工具,可以大大減輕測試人員的工作量,提高測試效果。功能測試工具不太適合于版本變動較大的軟件。下面主要介紹一些主流黑盒功能測試工具,如MercuryInteractive公司的WinRunner,IBMRational公司的TeamTest和Robot,Compuware公司的QACenter等。a55
2.7.1黑盒測試工具概要a562.7黑盒測試工具介紹2.7.2黑盒功能測試工具——WinRunner1.WinRunner的測試模式
(1)上下文敏感模式(ContextSensitivemodel)
(2)模擬模式(Analogmode)
2.GUI對象識別和GUImap文件
3.WinRunner測試過程
可分為創(chuàng)建GUImap,創(chuàng)建測試,調(diào)試測試,執(zhí)行測試,分析結(jié)果和測試維護六個階段。a562.7黑盒測試工具介紹2.7.2黑盒功能測試工具——a57
2.7.2黑盒功能測試工具——WinRunner4.WinRunner的使用
WinRunner的主窗口如下所示,主要包括標(biāo)題欄、菜單欄、標(biāo)準(zhǔn)工具欄、用戶欄、狀態(tài)欄和測試窗口。
a57
2.7.2黑盒功能測試工具——WinRunnera582.7.2黑盒功能測試工具——WinRunnerWinRunner的測試窗口界面如下5.WinRunner對樣本軟件Flight1A的測試a582.7.2黑盒功能測試工具——WinRunnerWina592.7黑盒測試工具介紹2.7.3黑盒功能測試工具——QTPQTP屬于新一代自動化測試解決方案,能夠支持所有常用環(huán)境的功能測試。
QTP的主界面與WinRunner的主界面不同,界面中主要部分包括:文件工具欄、測試工具欄、測試面、數(shù)據(jù)表格、活動屏幕。a592.7黑盒測試工具介紹2.7.3黑盒功能測試工具——a60QTP的主界面2.7.3黑盒功能測試工具——QTPa60QTP的主界面2.a612.7.3黑盒功能測試工具——QTPQTP的測試流程1.設(shè)計測試用例2.創(chuàng)建測試腳本3.編輯測試腳本4.運行測試5.分析測試QTP適合測試版本比較穩(wěn)定的軟件產(chǎn)品,在一些界面變化不大的回歸測試中非常有效,但對于界面變化頻率較大的軟件,則體現(xiàn)不出QTP的優(yōu)勢。a612.7.3黑盒功能測試工具——QTPQTP的測試a622.7黑盒測試工具介紹2.7.4其他常用功能測試工具1.IBMRational公司的功能測試工具RobotRobot是一個面向?qū)ο蟮能浖y試工具,主要針對Web、ERP等進行自動功能測試。用Robot可完成大多數(shù)軟件的功能和性能測試,它主要通過編寫腳本的方式提供自動化測試,可以開發(fā)三種測試腳本:用于功能測試的GUI腳本,用于性能測試的VU(虛擬用戶)以及VB(VBScript)腳本。此外,RationalTeamTest是一個針對整個功能測試流程(從編寫和維護需求,到創(chuàng)建有效的測試腳本,直至缺陷跟蹤),提供全面解決方案的團隊測試工具。a622.7黑盒測試工具介紹2.7.4其他常用功能測試工a63
2.7.4其他常用功能測試工具2.Compuware公司的自動黑盒測試工具QACenterQACcenter這個主要包括應(yīng)用測試產(chǎn)品的家族,能夠自動地幫助管理測試過程,快速分析和調(diào)試程序,能夠針對回歸測試,強度測試,單元測試,并發(fā)測試,集成測試,移植測試,容量和負載測試建立測試用例,自動執(zhí)行測試并產(chǎn)生相應(yīng)的文檔。QACenter主要包括:功能測試工具QARun,性能測試工具QALoad,可用性管理工具EcoTools和性能優(yōu)化工具EcoScope。a63
2.7.4其他常用功能測試工具2.Compuwaa64習(xí)題21.分析黑盒測試方法的實質(zhì)及測試用例設(shè)計的要點,掌握黑盒測試用例設(shè)計的主要思路。2.試用等價類分析方法,對實例程序進行測試。3.試用邊界值分析方法,對實例程序進行測試。4.試用決策表方法,對實例程序進行測試。5.啟動Word程序并從File菜單中選擇Print命令,打開打印對話框,左下角顯示的PrintRange(打印區(qū)域)存在什么樣的邊界條件?6.對三角形問題的一種常見補充是檢查直角三角形。如果滿足畢達哥拉斯(Pythagorean)關(guān)系(c2=a2+b2),則三條邊構(gòu)成直角三角形。試針對包含了直角三角形的擴展三角形問題來設(shè)計標(biāo)準(zhǔn)等價類測試用例。a64習(xí)題2a657.試為三角形問題中的直角三角形開發(fā)一個決策表和相應(yīng)的測試用例。注意,會有等腰直角三角形。8.學(xué)習(xí)安裝WinRunner或QTP,并通過操作實踐其自帶的“機票預(yù)定系統(tǒng)”,掌握該軟件測試工具的基本使用方法和主要功能。9.試編輯一個測試腳本,并進行測試實踐。10.用WinRunner或QTP來測試一個網(wǎng)上購物系統(tǒng),要求:錄制整個購物流程;練習(xí)插入各種檢查點11.運用WinRunner或QTP,對本校校園網(wǎng)站進行測試并分析測試結(jié)果。12.從網(wǎng)上搜索一款免費黑盒測試工具,下載按照在計算機機上,學(xué)習(xí)其使用方法,并選一個被測程序進行測試實踐。
a657.試為三角形問題中的直角三角形開發(fā)一個決策表和相應(yīng)的a66第二章黑盒測試黑盒測試是一種常用的軟件測試方法,它將被測軟件看作一個打不開的黑盒,主要根據(jù)功能需求設(shè)計測試用例,進行測試。本章主要介紹幾種常用的黑盒測試方法和黑盒測試工具,并通過實例介紹各種方法的運用。a1第二章黑盒測試黑盒測試是一種常用的軟件測試方法,它將被a67第二章黑盒測試2.1黑盒測試的基本概念2.2等價類劃分2.3邊界值分析法2.4因果圖法2.5決策表法2.6黑盒測試方法的比較與選擇2.7黑盒測試工具介紹a2第二章黑盒測試2.1黑盒測試的基本概念a682.1黑盒測試的基本概念黑盒測試是從一種從軟件外部對軟件實施的測試,也稱功能測試或基于規(guī)格說明的測試。其基本觀點是:任何程序都可以看作是從輸入定義域到輸出值域的映射,這種觀點將被測程序看作一個打不開的黑盒,黑盒里面的內(nèi)容(實現(xiàn))是完全不知道的,只知道軟件要做什么。因無法看到盒子中的內(nèi)容,所以不知道軟件是如何實現(xiàn)的,也不關(guān)心黑盒里面的結(jié)構(gòu),只關(guān)心軟件的輸入數(shù)據(jù)和輸出結(jié)果。a32.1黑盒測試的基本概念黑盒測試是a692.1黑盒測試的基本概念黑盒測試是從用戶觀點出發(fā)的測試,其目的是盡可能發(fā)現(xiàn)軟件的外部行為錯誤。在已知軟件產(chǎn)品功能的基礎(chǔ)上,檢測軟件功能能否按照需求規(guī)格說明書的規(guī)定正常工作,是否有功能遺漏;檢測是否有人機交互錯誤,是否有數(shù)據(jù)結(jié)構(gòu)和外部數(shù)據(jù)庫訪問錯誤,是否能恰當(dāng)?shù)亟邮諗?shù)據(jù)并保持外部信息(如數(shù)據(jù)庫或文件)等的完整性;檢測行為、性能等特性是否滿足要求等;檢測程序初始化和終止方面的錯誤等。a42.1黑盒測試的基本概念黑盒測試是從a702.1黑盒測試的基本概念黑盒測試著眼于軟件的外部特征,通過上述方面的檢測,確定軟件所實現(xiàn)的功能是否按照軟件規(guī)格說明書的預(yù)期要求正常工作.兩個顯著的優(yōu)點:①黑盒測試與軟件具體實現(xiàn)無關(guān),所以如果軟件實現(xiàn)發(fā)生了變化,測試用例仍然可以使用;②設(shè)計黑盒測試用例可以和軟件實現(xiàn)同時進行,因此可以壓縮項目總的開發(fā)時間。a52.1黑盒測試的基本概念黑盒測試著眼于軟件的外部a712.1黑盒測試的基本概念窮舉輸入測試是不現(xiàn)實的。這就需要我們認真研究測試方法,以便能開發(fā)出盡可能少的測試用例,發(fā)現(xiàn)盡可能多的軟件故障。常用的黑盒測試方法有等價類劃分、邊界值分析、決策表測試等,每種方法各有所長,我們應(yīng)針對軟件開發(fā)項目的具體特點,選擇合適的測試方法,有效地解決軟件開發(fā)中的測試問題。a62.1黑盒測試的基本概念窮舉輸入測試a72
2.2等價類劃分等價類劃分法是一種典型的黑盒測試方法,它完全不考慮程序的內(nèi)部結(jié)構(gòu),只根據(jù)程序規(guī)格說明書對輸入范圍進行劃分,把所有可能的輸入數(shù)據(jù),即程序輸入域劃分為若干個互不相交的子集,稱為等價類,然后從每個等價類中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例,進行測試。a7
2.2等價類劃分等價類劃分法是一種典型的黑盒測試方a732.2等價類劃分2.2.1等價類劃分方法所謂等價類是指輸入域的某個互不相交的子集合,所有等價類的并便是整個輸入域。1.劃分等價類(1)有效等價類檢驗程序是否實現(xiàn)了規(guī)格說明預(yù)先規(guī)定的功能和性能。(2)無效等價類檢查軟件功能和性能的實現(xiàn)是否有不符合規(guī)格說明要求的地方。a82.2等價類劃分2.2.1等價類劃分方法a742.2.1等價類劃分方法2.常用的等價類劃分原則(1)按區(qū)間劃分(2)按數(shù)值劃分(3)按數(shù)值集合劃分(4)按限制條件或規(guī)則劃分(5)細分等價類a92.2.1等價類劃分方法2.常用的等價類劃分原則a752.2.1等價類劃分方法在確立了等價類之后,可按表2.1的形式列出所有劃分出的等價類表:
表2.1等價類表同樣,也可按照輸出條件,將輸出域劃分為若干個等價類。輸入條件有效等價類無效等價類a102.2.1等價類劃分方法在確立了等價類之后,可a762.2.1等價類劃分方法3.等價類劃分測試用例設(shè)計在設(shè)計測試用例時應(yīng)同時考慮有效等價類和無效等價類測試用例的設(shè)計。根據(jù)等價類表設(shè)計測試用例,具體步驟如下:(1)為每個等價類規(guī)定一個唯一的編號。(2)設(shè)計一個新的測試用例,盡可能多地覆蓋尚未被覆蓋的有效等價類,重復(fù)這一步,直到測試用例覆蓋了所有的有效等價類。(3)設(shè)計一個新的測試用例,使其覆蓋并且只覆蓋一個還沒有被覆蓋的無效等價類。重復(fù)這一步,直至測試用例覆蓋了所有的無效等價類。a112.2.1等價類劃分方法3.等價類劃分測試用例設(shè)計a772.2等價類劃分2.2.2等價類劃分法的測試運用1.三角形問題的等價類測試【例2.1】三角形問題是軟件測試文獻中使用最廣泛的一個例子。輸入三個整數(shù)a、b和c分別作為三角形的3條邊,通過程序判斷由這3條邊構(gòu)成的三角形類型是:等邊三角形、等腰三角形、一般三角形或非三角形(不能構(gòu)成一個三角形)。a122.2等價類劃分2.2.2等價類劃分法的測試運用a78
2.2.2等價類劃分法的測試運用三角形問題可以更詳細地描述為:
輸入3個整數(shù)a、b和c分別作為三角形的三條邊,要求a、b和c必須滿足以下條件:Con1.1≤a≤10Con2.1≤b≤100Con3.1≤c≤100
Con4.a(chǎn)<b+cCon5.b<a+c
Con6.c<a+b如果a、b和c滿足Con1、Con2和Con3,則輸出為4種情況之一:①.如果不滿足條件Con4、Con5和Con6中有一個,則程序輸出為“非三角形”。②.如果三條邊相等,則程序輸出為“等邊三角形”。③.如果恰好有兩條邊相等,則程序輸出為“等腰三角形”。④.如果三條邊都不相等,則程序輸出為“一般三角形”。a13
2.2.2等價類劃分法的測試運用三角形問題可以更a792.2.2等價類劃分法的測試運用2.保險公司人壽保險保費計算程序的等價類測試【例2.2】某保險公司人壽保險的保費計算方式為:
保費=投保額×保險費率其中,保險費率根據(jù)年齡、性別、婚姻狀況和撫養(yǎng)人數(shù)的不同而有所不同,體現(xiàn)在不同年齡、性別、婚姻狀況和撫養(yǎng)人數(shù),點數(shù)設(shè)定不同,10點及10點以上保險費率為0.6%,10點以下保險費率為0.1%;而點數(shù)又是由投保人的年齡、性別、婚姻狀況和撫養(yǎng)人數(shù)來決定,具體規(guī)則見表2.5。年齡性別婚姻狀況撫養(yǎng)人數(shù)20~3940~59其它MF已婚未婚1人扣0.5點,最多扣3點6點4點2點4點3點3點5點a142.2.2等價類劃分法的測試運用2.保險公司人壽保險a802.2.2等價類劃分法的測試運用分析程序規(guī)格說明中給出和隱含的對輸入數(shù)據(jù)的要求,可以得出:①年齡:一位或兩位非零整數(shù),取值的有效范圍為1~99。②性別:一位英文字符,只能取‘M’或’F’值。③婚姻:字符,只能取‘已婚’或‘未婚’。④撫養(yǎng)人數(shù):空白或字符‘無’或一位非零整數(shù)(1~9)⑤點數(shù):一位或兩位非零整數(shù),取值范圍為8~19通過對規(guī)格說明輸入數(shù)據(jù)的取值分析,可以得出保險公司人壽保險保費計算程序的等價類。a152.2.2等價類劃分法的測試運用分析程序規(guī)格a812.2.2等價類劃分法的測試運用等價類測試存在兩個問題:
一是規(guī)格說明往往沒有定義無效測試用例的期望輸出應(yīng)該是什么樣的。因此,測試人員需要花費大量時間來定義這些測試用例的期望輸出。二是強類型語言沒有必要考慮無效輸入。傳統(tǒng)等價類測試是諸如FORTRAN和COBOL這樣的語言占統(tǒng)治地位年代的產(chǎn)物,那時這種無效輸入的故障很常見。事實上,正是由于經(jīng)常出現(xiàn)這種錯誤,才促使人們使用強類型語言。a162.2.2等價類劃分法的測試運用等價類測試存在兩個問a82
2.3邊界值分析法大量的軟件測試實踐表明,故障往往出現(xiàn)在定義域或值域的邊界上,而不是在其內(nèi)部。為檢測邊界附近的處理專門設(shè)計測試用例,通常都會取得很好的測試效果。因此邊界值分析法是一種很實用的黑盒測試用例方法,它具有很強的發(fā)現(xiàn)故障的能力。a17
2.3邊界值分析法大量的軟件測試實踐表明,故障往往a83
2.3.1邊界值分析法1.邊界條件邊界是一些特殊情況。程序在處理大量中間數(shù)值時都是正確,但是在邊界處可能出現(xiàn)錯誤。邊界條件就是軟件計劃的操作界限所在的邊緣條件。一些可能與邊界有關(guān)的數(shù)據(jù)類型有:數(shù)值,速度,字符,地址,位置,尺寸,數(shù)量等。同時,考慮這些數(shù)據(jù)類型的下述特征:第一個/最后一個,最小值/最大值,開始/完成,超過/在內(nèi),空/滿,最短/最長,最慢/最快,最早/最遲,最高/最低,相鄰/最遠等。a18
2.3.1邊界值分析法1.邊界條件a842.3.1邊界值分析法其實邊界值和等價類密切相關(guān),輸入等價類和輸出等價類的邊界是要著重測試的邊界情況。在等價類的劃分過程中產(chǎn)生了許多等價類邊界。邊界是最容易出錯的地方,所以,從等價類中選取測試數(shù)據(jù)時應(yīng)該關(guān)注邊界值。在等價類劃分基礎(chǔ)上進行邊界值分析測試的基本思想是,選取正好等于、剛剛大于或剛剛小于等價類邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值做為測試數(shù)據(jù)。a192.3.1邊界值分析法其實邊界值和a852.3.1邊界值分析法2.邊界值分析測試這里討論一個有兩個變量x1和x2的程序P。假設(shè)輸入變量x1和x2在下列范圍內(nèi)取值:a≤x1≤b,c≤x2≤d邊界值分析利用輸入變量的最小值(min),稍大于最小值(min+),域內(nèi)任意值(nom),稍小于最大值(max-),最大值(max)來設(shè)計測試用例。即通過使所有變量取正常值,只使一個變量分別去最小值,略高于最小值、略低于最大值和最大值。a202.3.1邊界值分析法2.邊界值分析測試a862.3.1邊界值分析法對于一個n變量的程序,邊界值分析測試會產(chǎn)生4n+1個測試用例。a212.3.1邊界值分析法對于一個na872.3.1邊界值分析法3.健壯性邊界值測試
健壯性測試是邊界值分析的一種擴展。
變量除了取min,min+,nom,max-,max五個邊界值外,還要考慮采用一個略超過最大值(max+)以及一個略小于最小值(min-)的取值,看看超過極限值時系統(tǒng)會出現(xiàn)什么情況。a222.3.1邊界值分析法3.健壯性邊界值測試a882.3.1邊界值分析法健壯性邊界值測試將產(chǎn)生6n+1個測試用例.健壯性測試最有意義的部分不是輸人,而是預(yù)期的輸出,觀察例外情況如何處理。a232.3.1邊界值分析法健壯性邊界值測試將產(chǎn)生6na892.3邊界值分析法2.3.2邊界值分析法的測試運用1.三角形問題的邊界值分析測試用例設(shè)計
邊界值分析測試用例測試用例abc預(yù)期輸出Test1Test2Test3Test4Test560606050506060605050126099100等腰三角形等腰三角形等邊三角形等腰三角形非三角形Test6Test7Test8Test960605050129910060605050等腰三角形等腰三角形等腰三角形非三角形Test10Test11Test12Test1312991006060505060605050等腰三角形等腰三角形等腰三角形非三角形a242.3邊界值分析法2.3.2邊界值分析法的測試運用測試a90
2.3.2邊界值分析法的測試運用2.加法器邊界值測試用例設(shè)計【例2.4】加法器程序計算兩個1~100之間整數(shù)的和。對于加法器程序,根據(jù)輸入要求可將輸入空間劃分為三個等價類,即1個有效等價類(1~100之間),兩個無效等價類(<1,>100)。但這種等價類劃分不是很完善,我們只考慮了輸入數(shù)據(jù)的取值范圍,而沒有考慮輸入數(shù)據(jù)的類型,我們認為輸入應(yīng)為整數(shù),但用戶輸入什么都有可能。a25
2.3.2邊界值分析法的測試運用2.加法器邊界值測a912.3.2邊界值分析法的測試運用為此,我們可綜合考慮輸入數(shù)據(jù)的取值范圍和類型劃分等價類,其結(jié)果如下表所示。
加法器等價類編號輸入條件所屬類別編號輸入條件所屬類別11~100之間整數(shù)有效等價類5非數(shù)值(字母)無效等價類2<1整數(shù)無效等價類6非數(shù)值(特殊字符)無效等價類3>100整數(shù)無效等價類7非數(shù)值(空格)無效等價類4小數(shù)無效等價類8非數(shù)值(空白)無效等價類a262.3.2邊界值分析法的測試運用為此,我們可綜合考慮a92
2.3.2邊界值分析法的測試運用加法器邊界測試用例測試用例輸入數(shù)據(jù)預(yù)期輸出加數(shù)1加數(shù)2和Test115051Test225052Test39950149Test410050150Test550151Test650252Test75099149Test850100150Test9050提示“請輸入1~100間的整數(shù)”Test10500提示“請輸入1~100間的整數(shù)”Test1110150提示“請輸入1~100間的整數(shù)”Test1250101提示“請輸入1~100間的整數(shù)”Test130.250提示“請輸入1~100間的整數(shù)”a272.3.2邊界值分析法的測試運用a93
2.3.2邊界值分析法的測試運用加法器邊界測試用例測試用例輸入數(shù)據(jù)預(yù)期輸出加數(shù)1加數(shù)2和Test14500.2提示“請輸入1~100間的整數(shù)”Test15A50提示“請輸入1~100間的整數(shù)”Test1650A提示“請輸入1~100間的整數(shù)”Test17@50提示“請輸入1~100間的整數(shù)”Test1850@提示“請輸入1~100間的整數(shù)”Test19空格50提示“請輸入1~100間的整數(shù)”Test2050空格提示“請輸入1~100間的整數(shù)”Test2150提示“請輸入1~100間的整數(shù)”Test2250提示“請輸入1~100間的整數(shù)”a282.3.2邊界值分析法的測試運用a942.3.2邊界值分析法的測試運用應(yīng)用邊界值分析法進行測試用例設(shè)計時,應(yīng)遵循以下一些原則:(1)如果輸入條件對取值范圍進行了限定,則應(yīng)以邊界內(nèi)部以及剛超出范圍邊界外的值作為測試用例。(2)如果對取值的個數(shù)進行了界定,則應(yīng)分別以最大、稍小于最大、稍大于最大、最小、稍小于最小、稍大于最小個數(shù)作為測試用例。(3)對于輸出條件,同樣可以應(yīng)用上面提到的兩條原則來進行測試用例設(shè)計。(4)如果程序規(guī)格說明書中指明輸入或者輸出域是一個有序的集合,如順序文件、表格等,則應(yīng)注意選取有序集合中的第一個和最后一個元素作為測試用例。a292.3.2邊界值分析法的測試運用應(yīng)用邊界值分析法進行測a95
2.4因果圖法等價類劃分法和邊界值分析方法都是著重考慮輸入條件,如果程序輸入之間沒有什么聯(lián)系,采用等價類劃分和邊界值分析是一種比較有效的方法。但如果輸入之間有關(guān)系,例如,約束關(guān)系、組合關(guān)系,這種關(guān)系用等價類劃分和邊界值分析是很難描述的,測試效果難以保障,因此必須考慮使用一種適合于描述對于多種條件的組合,產(chǎn)生多個相應(yīng)動作的測試方法,因果圖正是在此背景下提出的。a30
2.4因果圖法等價類劃分法和邊界值分a96
2.4因果圖法2.4.1因果圖法的原理1.因果圖a312.4因果圖法2.4.1因果圖法的原理a97
2.4.1因果圖法的原理a32
2.4.1因果圖法的原理a98
2.4.1因果圖法的原理2.因果圖法測試用例的設(shè)計步驟:(1)確定軟件規(guī)格中的原因和結(jié)果。分析規(guī)格說明中哪些是原因(即輸入條件或輸入條件的等價類),哪些是結(jié)果(即輸出條件),并給每個原因和結(jié)果賦予一個標(biāo)識符。(2)確定原因和結(jié)果之間的邏輯關(guān)系。分析軟件規(guī)格說明中的語義,找出原因與結(jié)果之間、原因與原因之間對應(yīng)的關(guān)系,根據(jù)這些關(guān)系畫出因果圖。(3)確定因果圖中的各個約束。由于語法或環(huán)境的限制,有些原因與原因之間、原因與結(jié)果之間的組合情況不可能出現(xiàn)。為表明這些特殊情況,在因果圖上用一些記號表明約束或限制條件。(4)把因果圖轉(zhuǎn)換為決策表。(5)根據(jù)決策表設(shè)計測試用例。a332.4.1因果圖法的原理2.因果圖法測試用例的設(shè)計a992.4因果圖法2.4.2因果圖法的測試運用某軟件規(guī)格說明書規(guī)定:輸入的第一個字符必須是#或*,第二個字符必須是一個數(shù)字,此情況下進行文件的修改;如果第一個字符不是#或*,則給出信息N,如果第二個字符不是數(shù)字,則給出信息M。a342.4因果圖法2.4.2因果圖法的測試運用a100
2.5決策表法在所有的黑盒測試方法中,基于決策表的測試是最嚴(yán)格,最具有邏輯性的測試方法。a35
2.5決策表法在所有的黑盒測試方法中,基于決策表a1012.5決策表法2.5.1決策表法1.決策表決策表是把作為條件的所有輸入的各種組合值以及對應(yīng)輸出值都羅列出來而形成的表格。
它能夠?qū)?fù)雜的問題按照各種可能的情況全部列舉出來,簡明并避免遺漏。因此,利用決策表能夠設(shè)計出完整的測試用例集合。a362.5決策表法2.5.1決策表法a102
2.5.1決策表法決策表通常由條件樁、條件項、動作樁和動作項4部分組成。
條件樁
條件項動作樁動作項規(guī)則決策表的組成
動作項和條件項緊密相關(guān),指出在條件項的各組取值情況下應(yīng)采取的動作。a37
2.5.1決策表法決策表通常由條件樁、條件項、動a1032.5.1決策表法2.決策表的構(gòu)造及化簡構(gòu)造決策表可采用以下5個步驟:(1)列出所有的條件樁和動作樁。(2)確定規(guī)則的個數(shù)。(3)填入條件項。(4)填入動作項,得到初始決策表。(5)簡化決策表,合并相似規(guī)則。a382.5.1決策表法2.決策表的構(gòu)造及化簡a1042.5.1決策表法決策表的化簡對于n個條件的決策表,相應(yīng)有2n個規(guī)則(每個條件分別取真、假值),當(dāng)n較大時,決策表很繁瑣。實際使用決策表時,常常先將它簡化。決策表的簡化是以合并相似規(guī)則為目標(biāo)。即若表中有兩條以上規(guī)則具有相同的動作,并且在條件項之間存在極為相似的關(guān)系,便可以合并。a392.5.1決策表法決策表的化簡a1052.5決策表法2.5.2決策表法的測試運用下面以NextDate函數(shù)為例,討論決策表測試用例的設(shè)計?!纠?.5】NextDate函數(shù)輸入為month(月份)、day(日期)和year(年),輸出為輸入后一天的日期。例如,如果輸入為:1964年8月16日,則輸出為1964年8月17日。要求輸入變量month、day和year都是整數(shù)值,并且滿足以下條件:Con1.
1≤month≤12Con2.
1≤day≤31Con3.
1900≤year≤2050a402.5決策表法2.5.2決策表法的測試運用a106
2.5.2決策表法的測試運用采用決策表法則可以通過使用“不可能動作”的概念表示條件的不可能組合,來強調(diào)這種依賴關(guān)系。為了獲得下一個日期,NextDate函數(shù)需要執(zhí)行的操作只有如下5種:①day變量值加1;②day變量值復(fù)位為1;③month變量值加1;④month變量值復(fù)位為1;⑤year變量值加1。a41
2.5.2決策表法的測試運用a1072.5.2決策表法的測試運用如果將注意力集中到NextDate函數(shù)的日和月問題上,并仔細研究動作樁??梢栽谝韵碌牡葍r類集合上建立決策表。M1:{month:month有30天};M2:{month:month有31天,12月除外};
M3:{month:month有12月};M4:{month:month是2月};D1:{day:1≤day≤27};D2:{day:day=28};D3:{day:day=29};D4:{day:day=30};D5:{day:day=31};Y1:{year:year是閏年};Y2:{year:year不是閏年}a422.5.2決策表法的測試運用如果將注意力集中到a1082.5.2決策表法的測試運用
規(guī)則選項1234567891011條件C1:month在C2:day在C3:year在M1M1M1M1M1M2M2M2M2M2M3D1D2D3D4D5D1D2D3D4D5D1-----------動作A1:不可能A2:day加1A3:day復(fù)位A4:month加1A5:month復(fù)位A6:year加1√√√√√√√√√√√√√NextDate函數(shù)的決策表a432.5.2決策表法的測試運用a1092.5.2決策表法的測試運用NextDate函數(shù)的決策表
規(guī)則選項1213141516171819202122條件
C1:month在M3M3M3M3M4M4M4M4M4M4M4C2:day在D2D3D4D5D1D2D2D3D3D4D5C3:year在-----Y1Y2Y1Y2--動作A1:不可能√√√A2:day加1√√√√√A3:day復(fù)位√√√A4:month加1√√A5:month復(fù)位√A6:year加1√a442.5.2決策表法的測試運用NextDate函數(shù)的a1102.5.2決策表法的測試運用可進一步簡化這22個測試用例。簡化后的決策表如下所示。1~3456~91011~1415161718192021~22條件C1:month在M1M1M1M2M2M3M3M4M4M4M4M4M4C2:day在D1~D3D4D5D1~D4D5D1~D4D5D1D2D2D3D3D4,D5C3:year在--------Y1Y2Y1Y2-動作A1:不可能
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒教師反思心得500字(8篇)
- 安全在我心中演講稿大全(9篇)
- 區(qū)域養(yǎng)老中心入住協(xié)議書
- 商鋪消防施工協(xié)議
- 勞務(wù)服務(wù)項目風(fēng)險評估與控制
- 施工期間成本預(yù)算最終協(xié)議
- 電子商務(wù)平臺招投標(biāo)流程
- 房地產(chǎn)企業(yè)融資策略
- 保健食品企業(yè)參股管理建議
- 市政道路外圍圍墻施工協(xié)議
- 初中藝術(shù)鄂教七年級上冊(2022年新編) 漫步藝術(shù)長廊舞劇欣賞《永不消逝的電波》教學(xué)設(shè)計
- python學(xué)習(xí)課件(共73張PPT)
- 中考數(shù)學(xué)復(fù)習(xí)專題課件:瓜豆原理之直線型
- 大同重力儲能設(shè)備項目可行性研究報告
- 樁基及基坑質(zhì)量通病防治講義PPT(105頁)
- 精品堆垛機安裝指導(dǎo)書
- 前臺月度績效考核表(KPI)
- 雞的飼養(yǎng)管理-優(yōu)質(zhì)課件
- 德育課(共19張PPT)
- 化學(xué)微生物學(xué)第7章 微生物轉(zhuǎn)化
- 《少年正是讀書時》-完整版PPT課件
評論
0/150
提交評論