第6章 軟件測試-天津大學(xué)_第1頁
第6章 軟件測試-天津大學(xué)_第2頁
第6章 軟件測試-天津大學(xué)_第3頁
第6章 軟件測試-天津大學(xué)_第4頁
第6章 軟件測試-天津大學(xué)_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第 六六 章章6 一、軟件測試的目的和重要性一、軟件測試的目的和重要性因為開發(fā)工作的前期不可避免地會引入錯誤,測因為開發(fā)工作的前期不可避免地會引入錯誤,測試的試的目的是為了發(fā)現(xiàn)和改正錯誤目的是為了發(fā)現(xiàn)和改正錯誤,這對于某些涉,這對于某些涉及人的生命安全或重要的軍事、經(jīng)濟目標的項目及人的生命安全或重要的軍事、經(jīng)濟目標的項目顯得尤其重要。顯得尤其重要。19631963年美國飛往火星的火箭爆炸,原因是年美國飛往火星的火箭爆炸,原因是FORTRANFORTRAN程序:程序:DO 5 I=1DO 5 I=1,3 3 誤寫為:誤寫為:DO 5 I=1. 3 DO 5 I=1. 3 損失損失1000100

2、0萬美元。萬美元。19671967年蘇聯(lián)年蘇聯(lián)“聯(lián)盟一號聯(lián)盟一號”宇宙飛船返回時因忽略宇宙飛船返回時因忽略一個小數(shù)點,在進入大氣層時打不開降落傘而一個小數(shù)點,在進入大氣層時打不開降落傘而燒毀。燒毀。1、軟件測試的開銷大、軟件測試的開銷大按照按照Boehm的統(tǒng)計,軟件測試的開銷大約占總成的統(tǒng)計,軟件測試的開銷大約占總成本的本的30%-50%。例如:。例如:APPOLLO登月計劃,登月計劃,80%的經(jīng)費用于軟件測試。的經(jīng)費用于軟件測試。2、不能進行、不能進行“窮舉窮舉”測試測試只有將所有可能的情況都測試到,才有可能檢查只有將所有可能的情況都測試到,才有可能檢查出所有的錯誤。但這是不可能的:出所有的

3、錯誤。但這是不可能的:例:程序例:程序P有兩個整型輸入量有兩個整型輸入量 X、Y,輸出量為輸出量為Z,在在32位機上運行。所有的測試數(shù)據(jù)組(位機上運行。所有的測試數(shù)據(jù)組(Xi,Yi)的的數(shù)目為:數(shù)目為: 2 2 = 2 1毫秒執(zhí)行毫秒執(zhí)行1次,共需次,共需5億年。億年。323264PXYZ3、軟件測試難度大、軟件測試難度大根據(jù)上述分析,既然不能進行根據(jù)上述分析,既然不能進行 “窮舉窮舉”測試,測試,又要查出盡可能多的錯誤,軟件測試工作的難又要查出盡可能多的錯誤,軟件測試工作的難度大。只有選擇度大。只有選擇 “高效的測試用例高效的測試用例”什么是什么是“高效的測試用例高效的測試用例”?如何選擇如

4、何選擇“高效的測試用例高效的測試用例”?這就是本章討論的主要問題!這就是本章討論的主要問題!3 3、充分注意測試中的群集現(xiàn)象。、充分注意測試中的群集現(xiàn)象。1 1、盡量不由程序設(shè)計者進行測試。、盡量不由程序設(shè)計者進行測試。2 2、關(guān)鍵是注重測試用例的選擇。、關(guān)鍵是注重測試用例的選擇。輸入數(shù)據(jù)的組成(輸入數(shù)據(jù)、預(yù)期的輸出結(jié)果)輸入數(shù)據(jù)的組成(輸入數(shù)據(jù)、預(yù)期的輸出結(jié)果)既有合理輸入數(shù)據(jù),也有不合理的輸入數(shù)據(jù)。既有合理輸入數(shù)據(jù),也有不合理的輸入數(shù)據(jù)。用例既能檢查應(yīng)完成的任務(wù),也能夠檢查不應(yīng)該用例既能檢查應(yīng)完成的任務(wù),也能夠檢查不應(yīng)該完成的任務(wù)。完成的任務(wù)。長期保存測試用例。長期保存測試用例。模塊測試模

5、塊測試整體測試整體測試功能測試功能測試預(yù)測試預(yù)測試系統(tǒng)測試系統(tǒng)測試驗收測試驗收測試安裝測試安裝測試概要設(shè)計審查概要設(shè)計審查詳細設(shè)計審查詳細設(shè)計審查代碼審查代碼審查 測試測試 (單元測試)單元測試)(組裝測試)(組裝測試)(有效性測試)(有效性測試)(確認測試)(確認測試)軟件測試方法分為兩類:靜態(tài)分析、動態(tài)測試軟件測試方法分為兩類:靜態(tài)分析、動態(tài)測試一、靜態(tài)分析方法一、靜態(tài)分析方法指以人工的、非形式化的方法對程序進行分析和指以人工的、非形式化的方法對程序進行分析和測試。測試。桌前檢查桌前檢查代碼會審代碼會審步行檢查步行檢查步行檢查時,還常使用以下分析方法:步行檢查時,還常使用以下分析方法: 調(diào)

6、用圖調(diào)用圖從語義的角度考察程序的控制路線。從語義的角度考察程序的控制路線。 數(shù)據(jù)流分析圖數(shù)據(jù)流分析圖檢查分析變量的定義和引用情況。檢查分析變量的定義和引用情況。無論無論Y 為何值,都為何值,都不能夠調(diào)用子程序不能夠調(diào)用子程序。READYY0NX:=YX1) AND (B=0) A1) AND (B=0) THEN X:=X/A ; THEN X:=X/A ; IF (A=2) OR (X1) IF (A=2) OR (X1) THEN X:=X+1 THEN X:=X+1END;END;1 1)選擇邏輯覆蓋標準。)選擇邏輯覆蓋標準。2 2)按照覆蓋標準列出所有情況。)按照覆蓋標準列出所有情況。

7、3 3)選擇確定測試用例。)選擇確定測試用例。4 4)驗證分析運行結(jié)果與預(yù)期結(jié)果。)驗證分析運行結(jié)果與預(yù)期結(jié)果。邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)Procedure Procedure (VAR A,B,X:REALVAR A,B,X:REAL);); BEGIN BEGIN IF IF(A1) AND (B=0) A1) AND (B=0) THEN X:=X/A ; THEN X:=X/A ; IF (A=2) OR (X1) IF (A=2) OR (X1) THEN X:=X+1 THEN X:=X+1 END; END;A1ANDB=0X:=X/AA=2OR X1X:=X+1YNYN邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)使

8、得程序中每個語句至少使得程序中每個語句至少都能被執(zhí)行一次。都能被執(zhí)行一次。A1ANDB=0X:=X/AA=2OR X1X:=X+1abcde滿足語句覆蓋的情況:滿足語句覆蓋的情況: 執(zhí)行路徑:執(zhí)行路徑:aceace選擇用例:選擇用例:(2,0,4),(2,0,3)(2,0,4),(2,0,3) 用例格式:用例格式: 輸入輸入(A,B,X)(A,B,X),輸出,輸出(A,B,X)(A,B,X)YNYN使得程序中每個判定至少為使得程序中每個判定至少為TRUE TRUE 或或FALSEFALSE各一次。各一次。A1ANDB=0X:=X/AA=2OR X1X:=X+1abcde覆蓋情況:覆蓋情況:應(yīng)執(zhí)

9、行路徑應(yīng)執(zhí)行路徑ace abd 或:或: acd abe選擇用例選擇用例(其一):其一): (2,0,4),(2,0,3) ace (2,0,4),(2,0,3) ace (1,1,1),(1,1,1) abd (1,1,1),(1,1,1) abd (2,1,1),(2,1,2) abe (2,1,1),(2,1,2) abe (3,0,3),(3,1,1) acd (3,0,3),(3,1,1) acdYYNNA1ANDB=0X:=X/AA=2OR X1X:=X+1abcde使得判定中的每個條件獲使得判定中的每個條件獲得各種可能的結(jié)果。得各種可能的結(jié)果。應(yīng)滿足以下覆蓋情況:應(yīng)滿足以下覆蓋情

10、況:判定一判定一: A1, A1, B=0, B0判定二判定二: A=2, A2, X1, X1選擇用例:選擇用例: (2,0,4),(2,0,3) (2,0,4),(2,0,3) (1,1,1),(1,1,1) (1,1,1),(1,1,1) NNYY2 2A1A20 0B=04 4X11 1A1A=21 1B01 1X1注意注意:(1,0,3),(1,0,4):(1,0,3),(1,0,4)(2,1,1),(2,1,2)(2,1,1),(2,1,2)滿足條件覆蓋,但不滿足判斷滿足條件覆蓋,但不滿足判斷覆蓋。覆蓋。同時滿足判斷覆蓋和條同時滿足判斷覆蓋和條件覆蓋。件覆蓋。A1ANDB=0X:=

11、X/AA=2OR X1X:=X+1abcde應(yīng)滿足以下覆蓋情況:應(yīng)滿足以下覆蓋情況: 條件條件: A1, A1, B=0, B0 A=2, A2, X1, X1 應(yīng)執(zhí)行路徑應(yīng)執(zhí)行路徑ace abd 或:或: acd abe選擇用例:選擇用例: (2,0,4),(2,0,3) (2,0,4),(2,0,3)(ace)ace) (1,1,1),(1,1,1) (abd) (1,1,1),(1,1,1) (abd)YYNN使得每個判定中條件的各種使得每個判定中條件的各種可能組合都至少出現(xiàn)一次??赡芙M合都至少出現(xiàn)一次。A1X:=X/AA=2X:=X+1abcdeB=0X1YNYNYNYN編譯系統(tǒng)下的執(zhí)

12、行情況:編譯系統(tǒng)下的執(zhí)行情況:部分路徑未被執(zhí)行。部分路徑未被執(zhí)行。滿足以下覆蓋情況:滿足以下覆蓋情況: A1, B =0 A1, B0 A1, B =0 A1, B0 A=2, X1 A=2, X1 A2, X1 A2, X1選擇用例:選擇用例:(2,0,4),(2,0,3) (2,0,4),(2,0,3) (2,1,1),(2,1,2) (2,1,1),(2,1,2) (1,0,3),(1,0,4) (1,0,3),(1,0,4) (1,1,1),(1,1,1) (1,1,1),(1,1,1) 等等價價分分類類法法邊邊值值分分析析法法錯錯誤誤推推測測法法因因果果圖圖法法(2)(2)黑盒法黑盒

13、法 不考慮程序的內(nèi)部結(jié)構(gòu)與特性,不考慮程序的內(nèi)部結(jié)構(gòu)與特性,只根據(jù)程序功能或程序的外部特性只根據(jù)程序功能或程序的外部特性設(shè)計測試用例。設(shè)計測試用例。基本思想:基本思想:根據(jù)程序的根據(jù)程序的I/O特性,將程序的定義域特性,將程序的定義域劃分為有限個等價區(qū)段劃分為有限個等價區(qū)段 “等價類等價類”,從等價類,從等價類中選擇出的用例,具有中選擇出的用例,具有“代表性代表性”。等價類分為:等價類分為:有效等價類有效等價類 對于程序的規(guī)格說明,是合理的、對于程序的規(guī)格說明,是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。有意義的輸入數(shù)據(jù)構(gòu)成的集合。無效等價類無效等價類 對于程序的規(guī)格說明,是不合理的、對于程序的規(guī)格

14、說明,是不合理的、沒有意義的輸入數(shù)據(jù)構(gòu)成的集合。沒有意義的輸入數(shù)據(jù)構(gòu)成的集合。 應(yīng)按照輸入條件(如輸入值的范圍,值的個數(shù),值應(yīng)按照輸入條件(如輸入值的范圍,值的個數(shù),值的集合,輸入條件必須如何)劃分為有效等價類和無效的集合,輸入條件必須如何)劃分為有效等價類和無效等價類。等價類。例如:每個學(xué)生可選修例如:每個學(xué)生可選修1-31-3門課程門課程可以劃分一個有效等價類:選修可以劃分一個有效等價類:選修1-31-3門課程。門課程??梢詣澐謨蓚€無效等價類:未選修課,選修課超過可以劃分兩個無效等價類:未選修課,選修課超過3 3門。門。 顯然,關(guān)鍵是顯然,關(guān)鍵是如何劃分等價類如何劃分等價類A A 為每個等

15、價類編號;為每個等價類編號;B B 使一個測試用例盡可能覆蓋多個有效等價類使一個測試用例盡可能覆蓋多個有效等價類C C 特別要注意特別要注意: :一個測試用例只能覆蓋一個無效等價類。一個測試用例只能覆蓋一個無效等價類。 基本思想:基本思想: 選擇等價類的邊緣值作為測試用例,選擇等價類的邊緣值作為測試用例,讓每個等價類的邊界都得到測試,選擇測試用讓每個等價類的邊界都得到測試,選擇測試用例既考慮例既考慮輸入輸入亦考慮亦考慮輸出輸出。 分析步驟:分析步驟: A A 先劃分等價類。先劃分等價類。B B 選擇測試用例,測試等價類邊界。選擇測試用例,測試等價類邊界。 邊界邊界選擇原則:選擇原則: A A

16、按照輸入值范圍的邊界。按照輸入值范圍的邊界。B B 按照輸入按照輸入/ /輸出值個數(shù)的邊界。輸出值個數(shù)的邊界。C C 輸出值域的邊界。輸出值域的邊界。D D 輸入輸入/ /輸出有序集的邊界。輸出有序集的邊界。按照輸入值范圍的邊界。按照輸入值范圍的邊界。 例如:輸入值的范圍是例如:輸入值的范圍是-1.0-1.0至至1.01.0,則可選擇用例,則可選擇用例: : 1.01.0、1.01.0、-1.001-1.001、1.0011.001。按照輸入按照輸入/ /輸出值個數(shù)的邊界。輸出值個數(shù)的邊界。 例如:輸入文件可有例如:輸入文件可有1-2551-255個記錄,則個記錄,則 設(shè)計用例:設(shè)計用例:文件

17、的記錄數(shù)為文件的記錄數(shù)為 0 0個、個、1 1個、個、255255個、個、256256個。個。輸出值域的邊界。輸出值域的邊界。 例如:檢索文獻摘要,最多例如:檢索文獻摘要,最多4 4篇。設(shè)計用例:可檢索篇。設(shè)計用例:可檢索0 0篇、篇、1 1篇、篇、4 4篇,和篇,和5 5篇(錯誤)。篇(錯誤)。 D D 輸入輸入/ /輸出有序集(輸出有序集(如順序文件、線性表)如順序文件、線性表)的邊界。的邊界。 應(yīng)選擇第一個元素和最后一個元素。應(yīng)選擇第一個元素和最后一個元素。 對對FORTRAN編譯系統(tǒng)中的編譯系統(tǒng)中的DIMENSION語句進行測試。語句進行測試。語句格式為:語句格式為:DIMENSION

18、 ad,ad adad,ad ad為數(shù)組描述符,為數(shù)組描述符,形式為形式為 n n(d, d, 其中:其中:n n數(shù)組名,字母打頭的字母數(shù)字串,長數(shù)組名,字母打頭的字母數(shù)字串,長6 6。D D為界偶(為界偶(1-71-7個):個): ld:nd ld ld:nd ld 和和 nd nd 的值為的值為1-655351-65535, ldld缺省為缺省為1 1。輸入條件輸入條件合理的等價類合理的等價類不合理的等價類不合理的等價類數(shù)組描述的個數(shù)數(shù)組描述的個數(shù)1 1個(個(1 1)、多于)、多于1 1個(個(2 2)沒有數(shù)組描述(沒有數(shù)組描述(3 3)數(shù)組名的字符數(shù)數(shù)組名的字符數(shù)1616個(個(4 4

19、)0 0(5 5),),66(6 6)數(shù)組名數(shù)組名有字母(有字母(7 7)有數(shù)字()有數(shù)字(8 8)有其他字符(有其他字符(9 9)數(shù)組名的第數(shù)組名的第1 1個字符為字母個字符為字母是(是(1010)不是(不是(1111)維數(shù)維數(shù)1717(1212)0 0(1313),), 7 7(1414)上界上界常數(shù)(常數(shù)(1515)數(shù)組元素名(數(shù)組元素名(161640 個等價類個等價類 憑經(jīng)驗或直覺推測可能的錯誤,列出程序中可憑經(jīng)驗或直覺推測可能的錯誤,列出程序中可能有的錯誤和容易發(fā)生錯誤的特殊情況,選擇測能有的錯誤和容易發(fā)生錯誤的特殊情況,選擇測試用例。試用例。把輸入條件視為把輸入條件視為“因因”,把

20、輸出條件視為,把輸出條件視為“果果”,將黑盒看成是從因到果的網(wǎng)絡(luò)圖,采用,將黑盒看成是從因到果的網(wǎng)絡(luò)圖,采用邏輯圖的形式來表達功能說明書中輸入條件的各邏輯圖的形式來表達功能說明書中輸入條件的各種組合與輸出的關(guān)系。根據(jù)這種關(guān)系可選擇高效種組合與輸出的關(guān)系。根據(jù)這種關(guān)系可選擇高效的測試用例。的測試用例。 因果圖是一種形式化語言,是一種組合邏輯因果圖是一種形式化語言,是一種組合邏輯網(wǎng)絡(luò)圖。網(wǎng)絡(luò)圖。 因果圖的基本符號因果圖的基本符號0 - 0 - 表示表示“不出現(xiàn)不出現(xiàn)”1 - 1 - 表示表示“出現(xiàn)出現(xiàn)” 恒等恒等若若a a為為1 1,則,則b b為為1 1,否則,否則b b為為0 0。 “ “非非

21、”函數(shù)函數(shù) 若若a a為為1 1,則,則b b為為0 0,否則,否則b b為為1 1。 “ “或或”函數(shù)函數(shù) 若若a a或或b b為為1 1,則,則d d為為1 1,否則,否則d d為為0 0。 “ “與與”函數(shù)函數(shù) 若若a a與與b b同為同為1 1,則,則d d為為1 1,否則,否則d d為為0 0。abababd dabd d對對“與與”、“或或”函數(shù)的限制符號函數(shù)的限制符號E E約束(異)約束(異) 排斥排斥即即a a、b b不能同時為不能同時為1 1。I I約束(或)約束(或) 包容包容a a、b b、c c不能同時為不能同時為0 0。O O約束(唯一約束(唯一) 選一選一 a a、

22、b b中僅有一個為中僅有一個為1 1。R R約束(要求約束(要求) 需要需要 a a為為1 1時,時,b b必須為必須為1 1M M約束(強制約束(強制) 屏蔽屏蔽 若若a a為為1 1時,則時,則b b強制為強制為1 1。abEabcIabRabO OabM分析規(guī)范,即將問題分為若干可工作的步驟。分析規(guī)范,即將問題分為若干可工作的步驟。標識出規(guī)范中的原因與結(jié)果。標識出規(guī)范中的原因與結(jié)果。原因原因輸入條件輸入條件 結(jié)果結(jié)果輸出或系統(tǒng)變換輸出或系統(tǒng)變換將因果圖轉(zhuǎn)換為有限項判斷表。將因果圖轉(zhuǎn)換為有限項判斷表。將判斷表的每一列,轉(zhuǎn)換為一個測試用例。將判斷表的每一列,轉(zhuǎn)換為一個測試用例。規(guī)范:文件名第

23、一列字符必須為規(guī)范:文件名第一列字符必須為A A或或B B,第二列字第二列字符必須為數(shù)字。滿足則修改文件。第一字符不正符必須為數(shù)字。滿足則修改文件。第一字符不正確發(fā)出信息確發(fā)出信息X X1212,第二個字符不正確發(fā)出信息第二個字符不正確發(fā)出信息X X1313。1 1. .分析規(guī)范分析規(guī)范原原 因因 結(jié)結(jié) 果果1 1 第一列字符為第一列字符為A A 50 50修改文件修改文件2 2 第一列字符為第一列字符為B B 51 51發(fā)信息發(fā)信息X X12123 3 第二列字符為數(shù)字第二列字符為數(shù)字 52 52發(fā)信息發(fā)信息X X1313中間結(jié)點中間結(jié)點是導(dǎo)出結(jié)果的進一步原因。是導(dǎo)出結(jié)果的進一步原因。考慮到

24、原因考慮到原因1 1、2 2不可能同時為不可能同時為1 1,加上,加上E E約束。約束。1111515035212E發(fā)發(fā) X 12發(fā)發(fā) X 13 修改文件修改文件12345678條條件件原原因因111100001100110010101010111100動動作作結(jié)結(jié)果果000011101000010101測試用例測試用例A3A8AMA?B5B4BNB!C2X6DYPI11515052測試步驟及策略測試步驟及策略 所有測試過程都應(yīng)采用綜合測試策略;即先所有測試過程都應(yīng)采用綜合測試策略;即先作靜態(tài)分析,再作動態(tài)測試。并事先制訂測試計作靜態(tài)分析,再作動態(tài)測試。并事先制訂測試計劃。測試過程通??煞謩?。

25、測試過程通??煞? 4步進行:步進行:單元單元測試測試單元單元測試測試單元單元測試測試被測被測模塊模塊被測被測模塊模塊集成集成測試測試設(shè)計設(shè)計信息信息已測試已測試的模塊的模塊確認確認測試測試已集成已集成的模塊的模塊軟件軟件需求需求系統(tǒng)系統(tǒng)測試測試已確認已確認的軟件的軟件可交付可交付的軟件的軟件系統(tǒng)其系統(tǒng)其他元素他元素1 1. .測試內(nèi)容測試內(nèi)容模塊模塊模塊接口測試模塊接口測試局部數(shù)據(jù)結(jié)構(gòu)測試局部數(shù)據(jù)結(jié)構(gòu)測試重要路徑測試重要路徑測試錯誤處理測試錯誤處理測試邊界條件測試邊界條件測試I/O I/O 參數(shù)值的個數(shù)、類參數(shù)值的個數(shù)、類型、次序、格式是否正型、次序、格式是否正確,確,I/OI/O文件屬性、

26、操作文件屬性、操作是否正確等。是否正確等。數(shù)據(jù)說明是否正確、數(shù)據(jù)說明是否正確、一致,變量及其初值一致,變量及其初值定義是否正確等。定義是否正確等。檢查檢查“錯誤處錯誤處理程序理程序”本身本身的錯誤。的錯誤。邊界條件常包括循環(huán)邊邊界條件常包括循環(huán)邊界,最大最小值、控制界,最大最小值、控制流中等于、大于、小于流中等于、大于、小于的比較值等。的比較值等。重要重要路徑通常是指完成路徑通常是指完成模塊功能的主要路徑,模塊功能的主要路徑,一般是控制結(jié)構(gòu)。一般是控制結(jié)構(gòu)。也稱單元測試(也稱單元測試(unit testingunit testing ) )考慮到被測模塊與其它模塊的聯(lián)系,因此測試時需考慮到被測

27、模塊與其它模塊的聯(lián)系,因此測試時需要使用兩類要使用兩類輔助模塊輔助模塊來模擬其他模塊。來模擬其他模塊。驅(qū)動模塊驅(qū)動模塊(driverdriver) 模擬主程序模擬主程序功能,用于向被測模塊傳遞數(shù)據(jù),接功能,用于向被測模塊傳遞數(shù)據(jù),接收、打印從被測模塊返回的數(shù)據(jù)。收、打印從被測模塊返回的數(shù)據(jù)。樁模塊樁模塊(stubstub) 又稱為假模塊,又稱為假模塊,用于模擬那些由被測模塊所調(diào)用的下用于模擬那些由被測模塊所調(diào)用的下屬模塊功能。屬模塊功能。一般,驅(qū)動模塊比樁模塊容易設(shè)計。但都是額外開一般,驅(qū)動模塊比樁模塊容易設(shè)計。但都是額外開銷。測試方法以白盒法為主。銷。測試方法以白盒法為主。被測模塊被測模塊驅(qū)

28、動模塊驅(qū)動模塊樁模塊樁模塊樁模塊樁模塊樁模塊樁模塊1 1. .組裝測試的任務(wù)組裝測試的任務(wù)確定模塊組裝方案,將經(jīng)過測試的模塊組裝為確定模塊組裝方案,將經(jīng)過測試的模塊組裝為一個完整的系統(tǒng)。組裝方案分為一個完整的系統(tǒng)。組裝方案分為漸增式漸增式及及非漸非漸增式。增式。測試方法以黑盒法為主,按照組裝方案進行測試方法以黑盒法為主,按照組裝方案進行測試。測試。也稱為也稱為聯(lián)合測試聯(lián)合測試或或集成測試,集成測試,重點測試模塊的接重點測試模塊的接口部分,需設(shè)計測試過程使用的驅(qū)動模塊或樁模口部分,需設(shè)計測試過程使用的驅(qū)動模塊或樁模塊。塊。問題:問題:漸增式與非漸增式各有何優(yōu)、缺點?為什漸增式與非漸增式各有何優(yōu)、

29、缺點?為什么通常采用漸增式?么通常采用漸增式? 漸增式是先進行模塊測試,然后將這些模漸增式是先進行模塊測試,然后將這些模塊逐步組裝成較大的系統(tǒng),每連接一個模塊進行塊逐步組裝成較大的系統(tǒng),每連接一個模塊進行一次測試一次測試。兩種方案:兩種方案:設(shè)計驅(qū)動模塊或樁模塊,對每一個新組裝的子設(shè)計驅(qū)動模塊或樁模塊,對每一個新組裝的子系統(tǒng)進行測試,對發(fā)現(xiàn)問題較多的子系統(tǒng)或模系統(tǒng)進行測試,對發(fā)現(xiàn)問題較多的子系統(tǒng)或模塊應(yīng)該用白盒法作回歸測試。塊應(yīng)該用白盒法作回歸測試。自頂而下增值自頂而下增值增值增值M1M4M3M2M6M5程序模塊示意圖程序模塊示意圖S5M1S1S1S1S2S2S2S3S3S3第一步,測試主控模

30、塊第一步,測試主控模塊M1設(shè)設(shè)計樁模塊計樁模塊S1、S2、S3,模擬模擬被被M1調(diào)用的調(diào)用的M2、M3、M4。M2M3M4第二步,依次用第二步,依次用M2、M3、M4替代樁模塊替代樁模塊S1、S2、S3,每替代一次進行一次測試。每替代一次進行一次測試。S4S4S4S5S5第三步,對由主控模塊第三步,對由主控模塊M1和和模塊模塊M2、M3、M4構(gòu)成的子構(gòu)成的子系統(tǒng)進行測試,設(shè)計樁模塊系統(tǒng)進行測試,設(shè)計樁模塊S4、S5。M5M6第四步,依次用模塊第四步,依次用模塊M5和和M6替代樁模塊替代樁模塊S4、S5,并同時并同時進行新的測試。組裝測試完進行新的測試。組裝測試完畢。畢。M3M6M5D1D2D3

31、D1D1D2D2D3D3M2M4M1第四步,把已測試的子系第四步,把已測試的子系統(tǒng)按程序結(jié)構(gòu)連接起來完統(tǒng)按程序結(jié)構(gòu)連接起來完成程序整體的組裝測試。成程序整體的組裝測試。D4D4D4D5D5D5M1M4M3M2M6M5程序模塊示意圖程序模塊示意圖第一步,對最底層的模塊第一步,對最底層的模塊M3、M5、M6進行測試進行測試,設(shè)計驅(qū)動模設(shè)計驅(qū)動模塊塊D1、D2、D3來模擬調(diào)用。來模擬調(diào)用。第三步,設(shè)計驅(qū)動模塊第三步,設(shè)計驅(qū)動模塊D4、D5 和和D6模擬調(diào)用,分別對新子系模擬調(diào)用,分別對新子系統(tǒng)進行測試。統(tǒng)進行測試。第二步,用實際模塊第二步,用實際模塊M2、M1和和M4替換驅(qū)動模塊替換驅(qū)動模塊D1、D

32、2、D3。D6 無論是無論是自頂而下增值還是自底而上增值,還可選擇自頂而下增值還是自底而上增值,還可選擇深度優(yōu)先深度優(yōu)先或者或者寬度優(yōu)先寬度優(yōu)先增值。增值。 舉例:按自頂而下增值法,寫出下圖中分別按照舉例:按自頂而下增值法,寫出下圖中分別按照深深度優(yōu)先度優(yōu)先或者或者寬度優(yōu)先寬度優(yōu)先增值的模塊組裝次序。增值的模塊組裝次序。ABCDHGJEFIKLMN 自頂而下增值自頂而下增值優(yōu)點:能夠盡早發(fā)現(xiàn)系統(tǒng)主控方面的問題。優(yōu)點:能夠盡早發(fā)現(xiàn)系統(tǒng)主控方面的問題。缺點:無法驗證樁模塊是否完全模擬了下屬模塊的缺點:無法驗證樁模塊是否完全模擬了下屬模塊的功能。功能。增值增值優(yōu)點:驅(qū)動模塊較容易編寫樁模塊,能夠盡早

33、查出優(yōu)點:驅(qū)動模塊較容易編寫樁模塊,能夠盡早查出底層涉及較復(fù)雜的算法和實際的底層涉及較復(fù)雜的算法和實際的I/OI/O模塊中的錯誤。模塊中的錯誤。缺點:最后才能發(fā)現(xiàn)系統(tǒng)主控方面的問題。缺點:最后才能發(fā)現(xiàn)系統(tǒng)主控方面的問題。常見的常見的混合增值方案:混合增值方案:衍變的自頂而下衍變的自頂而下先自底而上集成子系統(tǒng),再自頂而下集成總系統(tǒng)。先自底而上集成子系統(tǒng),再自頂而下集成總系統(tǒng)。自底而上自底而上自頂而下增值自頂而下增值對含有讀操作的子系統(tǒng)采用自底而上。對含有讀操作的子系統(tǒng)采用自底而上。對含有寫操作的子系統(tǒng)采用自頂而下。對含有寫操作的子系統(tǒng)采用自頂而下。回歸測試回歸測試在回歸測試中自底而上,對其余部分

34、(引起是對在回歸測試中自底而上,對其余部分(引起是對修改過的子系統(tǒng))采用自頂而下。修改過的子系統(tǒng))采用自頂而下。1 1. .任務(wù)任務(wù) 又稱為有效性測試或功能測試。其任務(wù)是驗證又稱為有效性測試或功能測試。其任務(wù)是驗證系統(tǒng)的功能、性能等特性是否符合需求規(guī)格說明。系統(tǒng)的功能、性能等特性是否符合需求規(guī)格說明。選擇測試人員選擇測試人員選擇測試用例選擇測試用例實際運行測試實際運行測試軟件計劃軟件計劃用戶文檔用戶文檔開發(fā)文檔開發(fā)文檔源程序文本源程序文本支持環(huán)境支持環(huán)境有效性有效性測試測試軟件軟件配置配置審查審查管理管理機構(gòu)機構(gòu)裁決裁決專家專家鑒定會鑒定會交用戶交用戶運行維護運行維護測試報告測試報告軟件配置軟

35、件配置(1 1)有效性測試)有效性測試制定測試計劃,運用黑盒法,驗證軟件特性是制定測試計劃,運用黑盒法,驗證軟件特性是否與需求符合。否與需求符合。(2 2)軟件配置復(fù)查)軟件配置復(fù)查軟件配置軟件配置指軟件工程過程中所產(chǎn)生的所有信指軟件工程過程中所產(chǎn)生的所有信息項:文檔、報告、程序、表格、數(shù)據(jù)。隨著軟息項:文檔、報告、程序、表格、數(shù)據(jù)。隨著軟件工程過程的進展軟件配置項(件工程過程的進展軟件配置項(SCI software Configuration Item)快速增加和變化。應(yīng)復(fù)查快速增加和變化。應(yīng)復(fù)查SCI是否齊全。是否齊全。 測試測試 是在開發(fā)機構(gòu)的監(jiān)督下,由個別用戶在是在開發(fā)機構(gòu)的監(jiān)督下,

36、由個別用戶在確認測試階段后期對軟件進行測試,目的是評價確認測試階段后期對軟件進行測試,目的是評價軟件的軟件的FLURPSFLURPS(功能、局域化、可使用性、可靠功能、局域化、可使用性、可靠性、性能和支持)性、性能和支持),注重界面和特色。注重界面和特色。 測試測試 由由支持軟件預(yù)發(fā)行支持軟件預(yù)發(fā)行的客戶對的客戶對FLURPSFLURPS進行進行測試,主要目的是測試系統(tǒng)的可支持性。測試,主要目的是測試系統(tǒng)的可支持性。unction Testing unction Testing 功能測試功能測試 ocal Area Testing ocal Area Testing 局域化測試局域化測試sab

37、ility Testing sability Testing 可使用性測試可使用性測試egression Testing egression Testing 回歸測試回歸測試erformance Testing erformance Testing 性能測試性能測試upportability Testing upportability Testing 可支持可支持性測試性測試將經(jīng)過確認測試的軟件,與計算機硬件、外設(shè)、將經(jīng)過確認測試的軟件,與計算機硬件、外設(shè)、支持軟件等一起,在實際運行環(huán)境下測試。支持軟件等一起,在實際運行環(huán)境下測試。五、驗收測試(五、驗收測試(acceptance testingacceptance testing)驗收測試是以用戶為主的測試。驗收測試是以用戶為主的測試。 軟件測試是保證軟件可靠性的主要手段,也是軟件開軟件測試是保證軟件可靠性的主要手段,也是軟件開發(fā)過程中最艱巨、最繁雜的任務(wù)。發(fā)過程中最艱巨、最繁雜的任務(wù)。 軟件測試方案是測試階段的關(guān)鍵技術(shù)問題,基本目軟件測試方案是測試階段的關(guān)鍵技術(shù)問題,基本目標是選擇最少量的高效測試用例,從而盡可能多地發(fā)現(xiàn)標是選擇最少量的高效測試用例,從而盡可能多地發(fā)現(xiàn)軟件中的問題。因此,無論哪一個測試階段,都軟件中的問題。因此,

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論