軟件測試(宮云戰(zhàn)版)課件_第1頁
軟件測試(宮云戰(zhàn)版)課件_第2頁
軟件測試(宮云戰(zhàn)版)課件_第3頁
軟件測試(宮云戰(zhàn)版)課件_第4頁
軟件測試(宮云戰(zhàn)版)課件_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件測試(宮云戰(zhàn)版)第第2 2章章 黑盒測試黑盒測試n黑盒測試是一種常用的軟件測試方法,它將被測軟件看作一個打不開的黑盒,主要根據(jù)功能需求設(shè)計測試用例,進(jìn)行測試。本章主要介紹幾種常用的黑盒測試方法和黑盒測試工具,并通過實(shí)例介紹各種方法的運(yùn)用。 軟件測試(宮云戰(zhàn)版)第第2 2章章 黑盒測試黑盒測試n2.1黑盒測試的基本概念n2.2 等價類劃分n2.3邊界值分析法n2.4 因果圖法n2.5 決策表法n2.6 黑盒測試方法的比較與選擇n2.7 黑盒測試工具介紹軟件測試(宮云戰(zhàn)版)2.12.1黑盒測試的基本概念黑盒測試的基本概念 黑盒測試是從一種從軟件外部對軟件實(shí)施的測試,也稱功能測試或基于規(guī)格說明的

2、測試。其基本觀點(diǎn)是:任何程序都可以看作是從輸入定義域到輸出值域的映射,這種觀點(diǎn)將被測程序看作一個打不開的黑盒,黑盒里面的內(nèi)容(實(shí)現(xiàn))是完全不知道的,只知道軟件要做什么。因無法看到盒子中的內(nèi)容,所以不知道軟件是如何實(shí)現(xiàn)的,也不關(guān)心黑盒里面的結(jié)構(gòu),只關(guān)心軟件的輸入數(shù)據(jù)和輸出結(jié)果。軟件測試(宮云戰(zhàn)版)2.12.1黑盒測試的基本概念黑盒測試的基本概念 黑盒測試是從用戶觀點(diǎn)出發(fā)的測試,其目的是盡可能發(fā)現(xiàn)軟件的外部行為錯誤。在已知軟件產(chǎn)品功能的基礎(chǔ)上,n檢測軟件功能能否按照需求規(guī)格說明書的規(guī)定正常工作,是否有功能遺漏;n檢測是否有人機(jī)交互錯誤,是否有數(shù)據(jù)結(jié)構(gòu)和外部數(shù)據(jù)庫訪問錯誤,是否能恰當(dāng)?shù)亟邮諗?shù)據(jù)并保持

3、外部信息(如數(shù)據(jù)庫或文件)等的完整性;n檢測行為、性能等特性是否滿足要求等;n檢測程序初始化和終止方面的錯誤等。軟件測試(宮云戰(zhàn)版)2.12.1黑盒測試的基本概念黑盒測試的基本概念 黑盒測試著眼于軟件的外部特征,通過上述方面的檢測,確定軟件所實(shí)現(xiàn)的功能是否按照軟件規(guī)格說明書的預(yù)期要求正常工作. 兩個顯著的優(yōu)點(diǎn):n 黑盒測試與軟件具體實(shí)現(xiàn)無關(guān),所以如果軟件實(shí)現(xiàn)發(fā)生了變化,測試用例仍然可以使用;n 設(shè)計黑盒測試用例可以和軟件實(shí)現(xiàn)同時進(jìn)行,因此可以壓縮項(xiàng)目總的開發(fā)時間。軟件測試(宮云戰(zhàn)版)2.12.1黑盒測試的基本概念黑盒測試的基本概念 窮舉輸入測試是不現(xiàn)實(shí)的。這就需要我們認(rèn)真研究測試方法,以便能開

4、發(fā)出盡可能少的測試用例,發(fā)現(xiàn)盡可能多的軟件故障。 常用的黑盒測試方法有等價類劃分、邊界值分析、決策表測試等,每種方法各有所長,我們應(yīng)針對軟件開發(fā)項(xiàng)目的具體特點(diǎn),選擇合適的測試方法,有效地解決軟件開發(fā)中的測試問題。軟件測試(宮云戰(zhàn)版) 2.2 2.2 等價類劃分等價類劃分n等價類劃分法是一種典型的黑盒測試方法,它完全不考慮程序的內(nèi)部結(jié)構(gòu),只根據(jù)程序規(guī)格說明書對輸入范圍進(jìn)行劃分,把所有可能的輸入數(shù)據(jù),即程序輸入域劃分為若干個互不相交的子集,稱為等價類,然后從每個等價類中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例,進(jìn)行測試。軟件測試(宮云戰(zhàn)版)2.2 2.2 等價類劃分等價類劃分n2.2.1等價類劃分方法

5、 所謂等價類是指輸入域的某個互不相交的子集合,所有等價類的并便是整個輸入域。 1劃分等價類n(1)有效等價類n檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說明預(yù)先規(guī)定的功能和性能。n(2)無效等價類n檢查軟件功能和性能的實(shí)現(xiàn)是否有不符合規(guī)格說明要求的地方。軟件測試(宮云戰(zhàn)版)2.2.12.2.1等價類劃分方法等價類劃分方法2常用的等價類劃分原則n(1)按區(qū)間劃分n(2)按數(shù)值劃分n(3)按數(shù)值集合劃分n(4)按限制條件或規(guī)則劃分n(5)細(xì)分等價類軟件測試(宮云戰(zhàn)版)2.2.12.2.1等價類劃分方法等價類劃分方法 在確立了等價類之后,可按表2.1的形式列出所有劃分出的等價類表: 表2.1 等價類表 同樣,也可按照輸

6、出條件,將輸出域劃分為若干個等價類。輸入條件有效等價類無效等價類軟件測試(宮云戰(zhàn)版)2.2.12.2.1等價類劃分方法等價類劃分方法3等價類劃分測試用例設(shè)計 在設(shè)計測試用例時應(yīng)同時考慮有效等價類和無效等價類測試用例的設(shè)計。根據(jù)等價類表設(shè)計測試用例,具體步驟如下: (1)為每個等價類規(guī)定一個唯一的編號。 (2) 設(shè)計一個新的測試用例,盡可能多地覆蓋尚未被覆蓋的有效等價類,重復(fù)這一步,直到測試用例覆蓋了所有的有效等價類。 (3) 設(shè)計一個新的測試用例,使其覆蓋并且只覆蓋一個還沒有被覆蓋的無效等價類。重復(fù)這一步,直至測試用例覆蓋了所有的無效等價類。軟件測試(宮云戰(zhàn)版)2.2 2.2 等價類劃分等價類

7、劃分n2.2.2 等價類劃分法的測試運(yùn)用 三角形問題的等價類測試 【例例21】 三角形問題是軟件測試文獻(xiàn)中使用最廣泛的一個例子。輸入三個整數(shù)a、b和c分別作為三角形的3條邊,通過程序判斷由這3條邊構(gòu)成的三角形類型是:等邊三角形、等腰三角形、一般三角形或非三角形(不能構(gòu)成一個三角形)。軟件測試(宮云戰(zhàn)版) 2.2.2 2.2.2 等價類劃分法的測試運(yùn)用等價類劃分法的測試運(yùn)用三角形問題可以更詳細(xì)地描述為: 輸入3個整數(shù)a、b和c分別作為三角形的三條邊,要求a、b和c必須滿足以下條件: Con11a10 Con 21b100 Con 31c100 Con 4ab+c Con 5ba+c Con 6c

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

9、和撫養(yǎng)人數(shù),點(diǎn)數(shù)設(shè)定不同,10點(diǎn)及10點(diǎn)以上保險費(fèi)率為0.6%,10點(diǎn)以下保險費(fèi)率為0.1%;而點(diǎn)數(shù)又是由投保人的年齡、性別、婚姻狀況和撫養(yǎng)人數(shù)來決定,具體規(guī)則見表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)軟件測試(宮云戰(zhàn)版)2.2.2 2.2.2 等價類劃分法的測試運(yùn)用等價類劃分法的測試運(yùn)用 分析程序規(guī)格說明中給出和隱含的對輸入數(shù)據(jù)的要求,可以得出: 年齡:一位或兩位非零整數(shù),取值的有效范圍為199。 性別:一位英文字符,只能取 M或F 值。 婚姻:字符,只能取已婚或未婚。 撫養(yǎng)人數(shù):空白或字符無或一位非零整數(shù)(19

10、) 點(diǎn)數(shù) :一位或兩位非零整數(shù),取值范圍為819 通過對規(guī)格說明輸入數(shù)據(jù)的取值分析,可以得出保險公司人壽保險保費(fèi)計算程序的等價類。軟件測試(宮云戰(zhàn)版)2.2.2 2.2.2 等價類劃分法的測試運(yùn)用等價類劃分法的測試運(yùn)用等價類測試存在兩個問題: 一是規(guī)格說明往往沒有定義無效測試用例的期望輸出應(yīng)該是什么樣的。因此,測試人員需要花費(fèi)大量時間來定義這些測試用例的期望輸出。 二是強(qiáng)類型語言沒有必要考慮無效輸入。傳統(tǒng)等價類測試是諸如FORTRAN和COBOL這樣的語言占統(tǒng)治地位年代的產(chǎn)物,那時這種無效輸入的故障很常見。事實(shí)上,正是由于經(jīng)常出現(xiàn)這種錯誤,才促使人們使用強(qiáng)類型語言。軟件測試(宮云戰(zhàn)版) 2.3

11、2.3邊界值分析法邊界值分析法n大量的軟件測試實(shí)踐表明,故障往往出現(xiàn)在定義域或值域的邊界上,而不是在其內(nèi)部。為檢測邊界附近的處理專門設(shè)計測試用例,通常都會取得很好的測試效果。因此邊界值分析法是一種很實(shí)用的黑盒測試用例方法,它具有很強(qiáng)的發(fā)現(xiàn)故障的能力。軟件測試(宮云戰(zhàn)版) 2.3.1 2.3.1 邊界值分析法邊界值分析法1邊界條件n邊界是一些特殊情況。程序在處理大量中間數(shù)值時都是正確,但是在邊界處可能出現(xiàn)錯誤。邊界條件就是軟件計劃的操作界限所在的邊緣條件。n一些可能與邊界有關(guān)的數(shù)據(jù)類型有:數(shù)值,速度,字符,地址,位置,尺寸,數(shù)量等。同時,考慮這些數(shù)據(jù)類型的下述特征: 第一個/最后一個,最小值最大

12、值,開始完成,超過/在內(nèi),空滿,最短最長,最慢/最快,最早/最遲,最高最低,相鄰最遠(yuǎn)等。軟件測試(宮云戰(zhàn)版)2.3.1 2.3.1 邊界值分析法邊界值分析法 其實(shí)邊界值和等價類密切相關(guān),輸入等價類和輸出等價類的邊界是要著重測試的邊界情況。在等價類的劃分過程中產(chǎn)生了許多等價類邊界。邊界是最容易出錯的地方,所以,從等價類中選取測試數(shù)據(jù)時應(yīng)該關(guān)注邊界值。 在等價類劃分基礎(chǔ)上進(jìn)行邊界值分析測試的基本思想是,選取正好等于、剛剛大于或剛剛小于等價類邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值做為測試數(shù)據(jù)。軟件測試(宮云戰(zhàn)版)2.3.1 2.3.1 邊界值分析法邊界值分析法2邊界值分析測試 這里

13、討論一個有兩個變量x1和x2的程序P。假設(shè)輸入變量x1和x2在下列范圍內(nèi)取值: ax1b, cx2d 邊界值分析利用輸入變量的最小值(min),稍大于最小值(min+),域內(nèi)任意值(nom),稍小于最大值(max-),最大值(max)來設(shè)計測試用例。即通過使所有變量取正常值,只使一個變量分別去最小值,略高于最小值、略低于最大值和最大值。軟件測試(宮云戰(zhàn)版)2.3.1 2.3.1 邊界值分析法邊界值分析法 對于一個n變量的程序,邊界值分析測試會產(chǎn)生4n+1個測試用例。軟件測試(宮云戰(zhàn)版)2.3.1 2.3.1 邊界值分析法邊界值分析法3. 健壯性邊界值測試 健壯性測試是邊界值分析的一種擴(kuò)展。 變

14、量除了取min,min,nom,max,max五個邊界值外,還要考慮采用一個略超過最大值(max+)以及一個略小于最小值(min-)的取值,看看超過極限值時系統(tǒng)會出現(xiàn)什么情況。軟件測試(宮云戰(zhàn)版)2.3.1 2.3.1 邊界值分析法邊界值分析法 健壯性邊界值測試將產(chǎn)生6n+1個測試用例. 健壯性測試最有意義的部分不是輸人,而是預(yù)期的輸出,觀察例外情況如何處理。軟件測試(宮云戰(zhàn)版)2.32.3邊界值分析法邊界值分析法n2.3.2邊界值分析法的測試運(yùn)用 1. 三角形問題的邊界值分析測試用例設(shè)計 邊界值分析測試用例測試用例abc預(yù)期輸出Test 1Test2Test3Test4Test5606060

15、50506060605050126099100等腰三角形等腰三角形等邊三角形等腰三角形非三角形Test6Test7Test8Test960605050129910060605050等腰三角形等腰三角形等腰三角形非三角形Test10Test11Test12Test1312991006060505060605050等腰三角形等腰三角形等腰三角形非三角形軟件測試(宮云戰(zhàn)版) 2.3.22.3.2邊界值分析法的測試運(yùn)用邊界值分析法的測試運(yùn)用2加法器邊界值測試用例設(shè)計【例例24】 加法器程序計算兩個1100之間整數(shù)的和。 對于加法器程序,根據(jù)輸入要求可將輸入空間劃分為三個等價類,即1個有效等價類(110

16、0之間),兩個無效等價類(100)。但這種等價類劃分不是很完善,我們只考慮了輸入數(shù)據(jù)的取值范圍,而沒有考慮輸入數(shù)據(jù)的類型,我們認(rèn)為輸入應(yīng)為整數(shù),但用戶輸入什么都有可能。軟件測試(宮云戰(zhàn)版) 2.3.2 2.3.2邊界值分析法的測試運(yùn)用邊界值分析法的測試運(yùn)用為此,我們可綜合考慮輸入數(shù)據(jù)的取值范圍和類型劃分等價類,其結(jié)果如下表所示。 加法器等價類編號輸入條件所屬類別編號輸入條件所屬類別11100之間整數(shù)有效等價類5非數(shù)值(字母)無效等價類2100整數(shù)無效等價類7非數(shù)值(空格)無效等價類4小數(shù)無效等價類8非數(shù)值(空白)無效等價類軟件測試(宮云戰(zhàn)版) 2.3.22.3.2邊界值分析法的測試運(yùn)用邊界值分

17、析法的測試運(yùn)用 加法器邊界測試用例測試用例輸入數(shù)據(jù)預(yù)期輸出加數(shù)1加數(shù)2和Test115051Test 225052Test 39950149Test 410050150Test 550151Test 650252Test 75099149Test 850100150Test 9050提示“請輸入1100間的整數(shù)”Test 10500提示“請輸入1100間的整數(shù)”Test1110150提示“請輸入1100間的整數(shù)”Test1250101提示“請輸入1100間的整數(shù)”Test130.250提示“請輸入1100間的整數(shù)”軟件測試(宮云戰(zhàn)版) 2.3.22.3.2邊界值分析法的測試運(yùn)用邊界值分析法的測

18、試運(yùn)用 加法器邊界測試用例測試用例輸入數(shù)據(jù)預(yù)期輸出加數(shù)1加數(shù)2和Test14500.2提示“請輸入1100間的整數(shù)”Test15A50提示“請輸入1100間的整數(shù)”Test1650A提示“請輸入1100間的整數(shù)”Test1750提示“請輸入1100間的整數(shù)”Test1850提示“請輸入1100間的整數(shù)”Test19空格50提示“請輸入1100間的整數(shù)”Test2050空格提示“請輸入1100間的整數(shù)”Test2150提示“請輸入1100間的整數(shù)”Test2250提示“請輸入1100間的整數(shù)”軟件測試(宮云戰(zhàn)版)2.3.22.3.2邊界值分析法的測試運(yùn)用邊界值分析法的測試運(yùn)用n應(yīng)用邊界值分析法進(jìn)

19、行測試用例設(shè)計時,應(yīng)遵循以下一些原則:n(1)如果輸入條件對取值范圍進(jìn)行了限定,則應(yīng)以邊界內(nèi)部以及剛超出范圍邊界外的值作為測試用例。n(2)如果對取值的個數(shù)進(jìn)行了界定,則應(yīng)分別以最大、稍小于最大、稍大于最大、最小、稍小于最小、稍大于最小個數(shù)作為測試用例。n(3)對于輸出條件,同樣可以應(yīng)用上面提到的兩條原則來進(jìn)行測試用例設(shè)計。n(4)如果程序規(guī)格說明書中指明輸入或者輸出域是一個有序的集合,如順序文件、表格等,則應(yīng)注意選取有序集合中的第一個和最后一個元素作為測試用例。軟件測試(宮云戰(zhàn)版) 2.4 2.4 因果圖法因果圖法n 等價類劃分法和邊界值分析方法都是著重考慮輸入條件,如果程序輸入之間沒有什么

20、聯(lián)系,采用等價類劃分和邊界值分析是一種比較有效的方法。但如果輸入之間有關(guān)系,例如,約束關(guān)系、組合關(guān)系,這種關(guān)系用等價類劃分和邊界值分析是很難描述的,測試效果難以保障,因此必須考慮使用一種適合于描述對于多種條件的組合,產(chǎn)生多個相應(yīng)動作的測試方法,因果圖正是在此背景下提出的。軟件測試(宮云戰(zhàn)版) 2.4 2.4 因果圖法因果圖法n2.4.1 因果圖法的原理 1因果圖軟件測試(宮云戰(zhàn)版) 2.4.1 2.4.1 因果圖法的原理因果圖法的原理軟件測試(宮云戰(zhàn)版) 2.4.1 2.4.1 因果圖法的原理因果圖法的原理2因果圖法測試用例的設(shè)計步驟:(1)確定軟件規(guī)格中的原因和結(jié)果。分析規(guī)格說明中哪些是原因

21、(即輸入條件或輸入條件的等價類),哪些是結(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è)計測試用例。軟件測試(宮云戰(zhàn)版)2.4 2.4 因果圖法因果圖法n2.4.2 因果圖法的測試運(yùn)用 某軟件規(guī)格說明書規(guī)定:輸入的第一個字符必須是#或*,第二個字符

22、必須是一個數(shù)字,此情況下進(jìn)行文件的修改;如果第一個字符不是#或*,則給出信息N,如果第二個字符不是數(shù)字,則給出信息M。軟件測試(宮云戰(zhàn)版) 2.5 2.5 決策表法決策表法n在所有的黑盒測試方法中,基于決策表的測試是最嚴(yán)格,最具有邏輯性的測試方法。軟件測試(宮云戰(zhàn)版)2.5 2.5 決策表法決策表法n2.5.1 決策表法 1決策表 決策表是把作為條件的所有輸入的各種組合值以及對應(yīng)輸出值都羅列出來而形成的表格。 它能夠?qū)?fù)雜的問題按照各種可能的情況全部列舉出來,簡明并避免遺漏。因此,利用決策表能夠設(shè)計出完整的測試用例集合。軟件測試(宮云戰(zhàn)版) 2.5.1 2.5.1 決策表法決策表法決策表通常由

23、條件樁、條件項(xiàng)、動作樁和動作項(xiàng)4部分組成。 條件樁 條件項(xiàng) 動作樁 動作項(xiàng)規(guī)則 決策表的組成 動作項(xiàng)和條件項(xiàng)緊密相關(guān),指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動作。軟件測試(宮云戰(zhàn)版)2.5.1 2.5.1 決策表法決策表法2決策表的構(gòu)造及化簡構(gòu)造決策表可采用以下5個步驟:(1)列出所有的條件樁和動作樁。(2)確定規(guī)則的個數(shù)。(3)填入條件項(xiàng)。(4)填入動作項(xiàng),得到初始決策表。(5)簡化決策表,合并相似規(guī)則。軟件測試(宮云戰(zhàn)版)2.5.1 2.5.1 決策表法決策表法n決策表的化簡 對于n個條件的決策表,相應(yīng)有2n個規(guī)則(每個條件分別取真、假值),當(dāng)n較大時,決策表很繁瑣。實(shí)際使用決策表時,常常先

24、將它簡化。決策表的簡化是以合并相似規(guī)則為目標(biāo)。即若表中有兩條以上規(guī)則具有相同的動作,并且在條件項(xiàng)之間存在極為相似的關(guān)系,便可以合并。軟件測試(宮云戰(zhàn)版)2.5 2.5 決策表法決策表法n2.5.2 決策表法的測試運(yùn)用 下面以NextDate函數(shù)為例,討論決策表測試用例的設(shè)計。 【例例25】 NextDate函數(shù)輸入為month(月份)、day(日期)和year(年),輸出為輸入后一天的日期。例如,如果輸入為:1964年8月16日,則輸出為1964年8月17日。要求輸入變量month、day和year都是整數(shù)值,并且滿足以下條件: Con1 1month12 Con2 1day31 Con3 1

25、900year2050軟件測試(宮云戰(zhàn)版) 2.5.2 2.5.2 決策表法的測試運(yùn)用決策表法的測試運(yùn)用 采用決策表法則可以通過使用“不可能動作”的概念表示條件的不可能組合,來強(qiáng)調(diào)這種依賴關(guān)系。 為了獲得下一個日期,NextDate函數(shù)需要執(zhí)行的操作只有如下5種: day變量值加1; day變量值復(fù)位為1; month變量值加1; month變量值復(fù)位為1; year變量值加1。軟件測試(宮云戰(zhàn)版)2.5.2 2.5.2 決策表法的測試運(yùn)用決策表法的測試運(yùn)用 如果將注意力集中到NextDate函數(shù)的日和月問題上,并仔細(xì)研究動作樁??梢栽谝韵碌牡葍r類集合上建立決策表。M1: mouth: mou

26、th有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不是閏年軟件測試(宮云戰(zhàn)版)2.5.2 2.5.2 決策表法的測試運(yùn)用決策表法的測試運(yùn)用 規(guī)則選項(xiàng)1234567891011條件C1:month在C2:day在C3:year在M1M1M1M1M1M2M2M2M2M2M3D1D2D3D4D5D

27、1D2D3D4D5D1 動作A1:不可能A2:day加1A3:day復(fù)位A4:month加1A5:month復(fù)位A6:year加1 NextDate函數(shù)的決策表 軟件測試(宮云戰(zhàn)版)2.5.2 2.5.2 決策表法的測試運(yùn)用決策表法的測試運(yùn)用 NextDate函數(shù)的決策表 規(guī)則選項(xiàng)1213141516171819 202122條件 C1:month在M3M3M3M3M4M4M4M4M4M4M4C2:day在D2D3D4D5D1D2D2D3D3D4D5C3:year在Y1Y2Y1Y2動作A1:不可能A2:day加1A3:day復(fù)位A4:month加1A5:month復(fù)位A6:year加1軟件測試

28、(宮云戰(zhàn)版)2.5.2 2.5.2 決策表法的測試運(yùn)用決策表法的測試運(yùn)用可進(jìn)一步簡化這22個測試用例。簡化后的決策表如下所示。13456910 11141516171819 20 2122條件C1:month在M1M1M1M2M2M3M3M4M4M4M4M4M4C2:day在D1D3D4D5D1D4D5D1D4D5D1D2D2D3D3D4,D5C3:year在-Y1Y2Y1Y2-動作A1:不可能A2:day加1A3:day復(fù)位month加1month復(fù)位A6:year加1軟件測試(宮云戰(zhàn)版)2.5.2 2.5.2 決策表法的測試運(yùn)用決策表法的測試運(yùn)用根據(jù)簡化后的決策表,可設(shè)計測試用例如下表所示

29、。測試用例monthdayyear預(yù)期輸出Test1-3Test4Test5Test6-9Test10Test11-14Test15Test16Test17Test18Test19Test20Test21-22666111212222222163031163116311628282929302001200120012001200120012001200120042001200420012001不可能不可能不可能軟件測試(宮云戰(zhàn)版) 2.6 2.6 黑盒測試方法的比較與選擇黑盒測試方法的比較與選擇n上面討論了幾種典型的黑盒測試方法,這些測試方法的共同特點(diǎn)是,它們都把程序看作是一個打不開的黑盒,只

30、知道輸入到輸出的映射關(guān)系,根據(jù)軟件規(guī)格說明設(shè)計測試用例。n在等價類分析測試中,通過等價類劃分來減少測試用例的絕對數(shù)量。n邊界值分析方法則通過分析輸入變量的邊界值域設(shè)計測試用例。n在因果圖測試方法和決策表測試中,通過分析被測程序的邏輯依賴關(guān)系,構(gòu)造決策表,進(jìn)而設(shè)計測試用例。軟件測試(宮云戰(zhàn)版)2.6 2.6 黑盒測試方法的比較與選擇黑盒測試方法的比較與選擇1測試工作量 以邊界值分析、等價類劃分和決策表測試方法來討論它們的測試工作量,即生成測試用例的數(shù)量與開發(fā)這些測試用例所需的工作量。每種測試方法的測試用例數(shù)量軟件測試(宮云戰(zhàn)版)2.6 2.6 黑盒測試方法的比較與選擇黑盒測試方法的比較與選擇由每

31、種方法設(shè)計測試用例的工作量曲線:每種方法設(shè)計測試用例的工作量趨勢 測試方法研究的目的就是在開發(fā)測試用例工作量和測試執(zhí)行工作量之間做一個令人滿意的折中。軟件測試(宮云戰(zhàn)版)2.6 2.6 黑盒測試方法的比較與選擇黑盒測試方法的比較與選擇2測試有效性 解釋測試有效性是很困難的。因?yàn)槲覀儾恢莱绦蛑械乃泄收?,因此我們也不可能知道給定方法所產(chǎn)生的測試用例是否能夠發(fā)現(xiàn)這些。 所能夠做的,只是根據(jù)不同類型的故障,選擇最有可能發(fā)現(xiàn)這種缺陷的測試方法(包括白盒測試)。根據(jù)最可能出現(xiàn)的故障種類,分析得到可提高測試有效性的實(shí)用方法。通過跟蹤所開發(fā)軟件中的故障的種類和密度,也可以改進(jìn)這種方法。軟件測試(宮云戰(zhàn)版)

32、2.6 2.6 黑盒測試方法的比較與選擇黑盒測試方法的比較與選擇 利用程序的已知屬性,選擇處理這種屬性的方法,在選擇黑盒測試方法時一些經(jīng)常用到的屬性有:n 變量表示物理量還是邏輯量?n 在變量之間是否存在依賴關(guān)系?n 是否有大量的例外處理?軟件測試(宮云戰(zhàn)版)2.6 2.6 黑盒測試方法的比較與選擇黑盒測試方法的比較與選擇 下面給出一些黑盒測試方法選取的初步的“專家系統(tǒng)”:n 如果變量引用的是物理量,可采用邊界值分析測試和等價類測試。n 如果變量是獨(dú)立的,可采用邊界值分析測試和等價類測試。n 如果變量不是獨(dú)立的,可采用決策表測試。n 如果可保證是單缺陷假設(shè),可采用邊界值分析和健壯性測試。n 如

33、果可保證是多缺陷假設(shè),可采用邊界值分析測試和決策表測試n 如果程序包含大量例外處理,可采用健壯性測試和決策表測試。n 如果變量引用的是邏輯量,可采用等價類測試用例和決策表測試。軟件測試(宮云戰(zhàn)版) 2.7 2.7 黑盒測試工具介紹黑盒測試工具介紹n黑盒測試工具是指測試軟件功能和性能的工具,主要用于集成測試、系統(tǒng)測試和驗(yàn)收測試。n本節(jié)主要介紹幾款常用的功能測試工具,性能測試工具則在第6章中介紹。軟件測試(宮云戰(zhàn)版)2.7 2.7 黑盒測試工具介紹黑盒測試工具介紹n2.7.1 黑盒測試工具概要 黑盒測試是在已知軟件產(chǎn)品應(yīng)具有的功能的條件下,在完全不考慮被測程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,通過測試來

34、檢測每個功能是否都按照需求規(guī)格說明的規(guī)定正常使用。 黑盒測試工具又分為:功能測試工具和性能測試工具。 功能測試工具:功能測試工具主要用于檢測被測程序能否達(dá)到預(yù)期的功能要求并能正常運(yùn)行。 性能測試工具:性能測試工具主要用于確定軟件和系統(tǒng)性能。軟件測試(宮云戰(zhàn)版) 2.7.1 2.7.1 黑盒測試工具概要黑盒測試工具概要 功能測試工具一般采用腳本錄制(Record)/回放(Playback)原理,模擬用戶的操作,然后將被測系統(tǒng)的輸出記錄下來,并同預(yù)先給定的標(biāo)準(zhǔn)結(jié)果進(jìn)行比較。在回歸測試中使用功能測試工具,可以大大減輕測試人員的工作量,提高測試效果。 功能測試工具不太適合于版本變動較大的軟件。 下面主

35、要介紹一些主流黑盒功能測試工具,如Mercury Interactive公司的WinRunner,IBM Rational公司的TeamTest和Robot,Compuware公司的QACenter等。軟件測試(宮云戰(zhàn)版)2.7 2.7 黑盒測試工具介紹黑盒測試工具介紹n2.7.2黑盒功能測試工具WinRunner 1. WinRunner的測試模式的測試模式 (1)上下文敏感模式(Context Sensitive model) (2)模擬模式(Analog mode) 2GUI對象識別和對象識別和GUI map文件文件 3WinRunner測試過程測試過程 可分為創(chuàng)建GUI map,創(chuàng)建測

36、試,調(diào)試測試,執(zhí)行測試,分析結(jié)果和測試維護(hù)六個階段。軟件測試(宮云戰(zhàn)版) 2.7.22.7.2黑盒功能測試工具黑盒功能測試工具WinRunnerWinRunner 4WinRunner的使用的使用 WinRunner的主窗口如下所示,主要包括標(biāo)題欄、菜單欄、標(biāo)準(zhǔn)工具欄、用戶欄、狀態(tài)欄和測試窗口。 軟件測試(宮云戰(zhàn)版)2.7.22.7.2黑盒功能測試工具黑盒功能測試工具WinRunnerWinRunnerWinRunner的測試窗口界面如下5WinRunner對樣本軟件對樣本軟件Flight1A的測試的測試軟件測試(宮云戰(zhàn)版)2.7 2.7 黑盒測試工具介紹黑盒測試工具介紹n2.7.3黑盒功能測試工具QTPnQTP屬于新一代自動化測試解決方案,能夠支持所有常用環(huán)境的功能測試。n QTP的主界面與WinRunner的主界面不同,界面中主要部分包括:文件工具欄、測試工具欄 、測試面、數(shù)據(jù)表格 、活動屏幕。軟件測試(宮云戰(zhàn)版) QTP的主界面2.7.32.7.3黑盒功能測試工具黑盒功能測試工具QTPQTP軟件測試(宮云戰(zhàn)版)2.7.32.7.3黑盒功能測試工具黑盒功能測試工具QTPQTP

溫馨提示

  • 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

提交評論