




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第第 六六 章章6 一、軟件測(cè)試的目的和重要性一、軟件測(cè)試的目的和重要性因?yàn)殚_發(fā)工作的前期不可避免地會(huì)引入錯(cuò)誤,測(cè)因?yàn)殚_發(fā)工作的前期不可避免地會(huì)引入錯(cuò)誤,測(cè)試的試的目的是為了發(fā)現(xiàn)和改正錯(cuò)誤目的是為了發(fā)現(xiàn)和改正錯(cuò)誤,這對(duì)于某些涉,這對(duì)于某些涉及人的生命安全或重要的軍事、經(jīng)濟(jì)目標(biāo)的項(xiàng)目及人的生命安全或重要的軍事、經(jīng)濟(jì)目標(biāo)的項(xià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)盟一號(hào)聯(lián)盟一號(hào)”宇宙飛船返回時(shí)因忽略宇宙飛船返回時(shí)因忽略一個(gè)小數(shù)點(diǎn),在進(jìn)入大氣層時(shí)打不開降落傘而一個(gè)小數(shù)點(diǎn),在進(jìn)入大氣層時(shí)打不開降落傘而燒毀。燒毀。1、軟件測(cè)試的開銷大、軟件測(cè)試的開銷大按照按照Boehm的統(tǒng)計(jì),軟件測(cè)試的開銷大約占總成的統(tǒng)計(jì),軟件測(cè)試的開銷大約占總成本的本的30%-50%。例如:。例如:APPOLLO登月計(jì)劃,登月計(jì)劃,80%的經(jīng)費(fèi)用于軟件測(cè)試。的經(jīng)費(fèi)用于軟件測(cè)試。2、不能進(jìn)行、不能進(jìn)行“窮舉窮舉”測(cè)試測(cè)試只有將所有可能的情況都測(cè)試到,才有可能檢查只有將所有可能的情況都測(cè)試到,才有可能檢查出所有的錯(cuò)誤。但這是不可能的:出所有的
3、錯(cuò)誤。但這是不可能的:例:程序例:程序P有兩個(gè)整型輸入量有兩個(gè)整型輸入量 X、Y,輸出量為輸出量為Z,在在32位機(jī)上運(yùn)行。所有的測(cè)試數(shù)據(jù)組(位機(jī)上運(yùn)行。所有的測(cè)試數(shù)據(jù)組(Xi,Yi)的的數(shù)目為:數(shù)目為: 2 2 = 2 1毫秒執(zhí)行毫秒執(zhí)行1次,共需次,共需5億年。億年。323264PXYZ3、軟件測(cè)試難度大、軟件測(cè)試難度大根據(jù)上述分析,既然不能進(jìn)行根據(jù)上述分析,既然不能進(jìn)行 “窮舉窮舉”測(cè)試,測(cè)試,又要查出盡可能多的錯(cuò)誤,軟件測(cè)試工作的難又要查出盡可能多的錯(cuò)誤,軟件測(cè)試工作的難度大。只有選擇度大。只有選擇 “高效的測(cè)試用例高效的測(cè)試用例”什么是什么是“高效的測(cè)試用例高效的測(cè)試用例”?如何選擇如
4、何選擇“高效的測(cè)試用例高效的測(cè)試用例”?這就是本章討論的主要問題!這就是本章討論的主要問題!3 3、充分注意測(cè)試中的群集現(xiàn)象。、充分注意測(cè)試中的群集現(xiàn)象。1 1、盡量不由程序設(shè)計(jì)者進(jìn)行測(cè)試。、盡量不由程序設(shè)計(jì)者進(jìn)行測(cè)試。2 2、關(guān)鍵是注重測(cè)試用例的選擇。、關(guān)鍵是注重測(cè)試用例的選擇。輸入數(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ù)。長期保存測(cè)試用例。長期保存測(cè)試用例。模塊測(cè)試模
5、塊測(cè)試整體測(cè)試整體測(cè)試功能測(cè)試功能測(cè)試預(yù)測(cè)試預(yù)測(cè)試系統(tǒng)測(cè)試系統(tǒng)測(cè)試驗(yàn)收測(cè)試驗(yàn)收測(cè)試安裝測(cè)試安裝測(cè)試概要設(shè)計(jì)審查概要設(shè)計(jì)審查詳細(xì)設(shè)計(jì)審查詳細(xì)設(shè)計(jì)審查代碼審查代碼審查 測(cè)試測(cè)試 (單元測(cè)試)單元測(cè)試)(組裝測(cè)試)(組裝測(cè)試)(有效性測(cè)試)(有效性測(cè)試)(確認(rèn)測(cè)試)(確認(rèn)測(cè)試)軟件測(cè)試方法分為兩類:靜態(tài)分析、動(dòng)態(tài)測(cè)試軟件測(cè)試方法分為兩類:靜態(tài)分析、動(dòng)態(tài)測(cè)試一、靜態(tài)分析方法一、靜態(tài)分析方法指以人工的、非形式化的方法對(duì)程序進(jìn)行分析和指以人工的、非形式化的方法對(duì)程序進(jìn)行分析和測(cè)試。測(cè)試。桌前檢查桌前檢查代碼會(huì)審代碼會(huì)審步行檢查步行檢查步行檢查時(shí),還常使用以下分析方法:步行檢查時(shí),還常使用以下分析方法: 調(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)選擇邏輯覆蓋標(biāo)準(zhǔn)。)選擇邏輯覆蓋標(biāo)準(zhǔn)。2 2)按照覆蓋標(biāo)準(zhǔn)列出所有情況。)按照覆蓋標(biāo)準(zhǔn)列出所有情況。
7、3 3)選擇確定測(cè)試用例。)選擇確定測(cè)試用例。4 4)驗(yàn)證分析運(yùn)行結(jié)果與預(yù)期結(jié)果。)驗(yàn)證分析運(yùn)行結(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、得程序中每個(gè)語句至少使得程序中每個(gè)語句至少都能被執(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使得程序中每個(gè)判定至少為使得程序中每個(gè)判定至少為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使得判定中的每個(gè)條件獲使得判定中的每個(gè)條件獲得各種可能的結(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)滿足條件覆蓋,但不滿足判斷滿足條件覆蓋,但不滿足判斷覆蓋。覆蓋。同時(shí)滿足判斷覆蓋和條同時(shí)滿足判斷覆蓋和條件覆蓋。件覆蓋。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使得每個(gè)判定中條件的各種使得每個(gè)判定中條件的各種可能組合都至少出現(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) 等等價(jià)價(jià)分分類類法法邊邊值值分分析析法法錯(cuò)錯(cuò)誤誤推推測(cè)測(cè)法法因因果果圖圖法法(2)(2)黑盒法黑盒
13、法 不考慮程序的內(nèi)部結(jié)構(gòu)與特性,不考慮程序的內(nèi)部結(jié)構(gòu)與特性,只根據(jù)程序功能或程序的外部特性只根據(jù)程序功能或程序的外部特性設(shè)計(jì)測(cè)試用例。設(shè)計(jì)測(cè)試用例?;舅枷耄夯舅枷耄焊鶕?jù)程序的根據(jù)程序的I/O特性,將程序的定義域特性,將程序的定義域劃分為有限個(gè)等價(jià)區(qū)段劃分為有限個(gè)等價(jià)區(qū)段 “等價(jià)類等價(jià)類”,從等價(jià)類,從等價(jià)類中選擇出的用例,具有中選擇出的用例,具有“代表性代表性”。等價(jià)類分為:等價(jià)類分為:有效等價(jià)類有效等價(jià)類 對(duì)于程序的規(guī)格說明,是合理的、對(duì)于程序的規(guī)格說明,是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。有意義的輸入數(shù)據(jù)構(gòu)成的集合。無效等價(jià)類無效等價(jià)類 對(duì)于程序的規(guī)格說明,是不合理的、對(duì)于程序的規(guī)格
14、說明,是不合理的、沒有意義的輸入數(shù)據(jù)構(gòu)成的集合。沒有意義的輸入數(shù)據(jù)構(gòu)成的集合。 應(yīng)按照輸入條件(如輸入值的范圍,值的個(gè)數(shù),值應(yīng)按照輸入條件(如輸入值的范圍,值的個(gè)數(shù),值的集合,輸入條件必須如何)劃分為有效等價(jià)類和無效的集合,輸入條件必須如何)劃分為有效等價(jià)類和無效等價(jià)類。等價(jià)類。例如:每個(gè)學(xué)生可選修例如:每個(gè)學(xué)生可選修1-31-3門課程門課程可以劃分一個(gè)有效等價(jià)類:選修可以劃分一個(gè)有效等價(jià)類:選修1-31-3門課程。門課程??梢詣澐謨蓚€(gè)無效等價(jià)類:未選修課,選修課超過可以劃分兩個(gè)無效等價(jià)類:未選修課,選修課超過3 3門。門。 顯然,關(guān)鍵是顯然,關(guān)鍵是如何劃分等價(jià)類如何劃分等價(jià)類A A 為每個(gè)等
15、價(jià)類編號(hào);為每個(gè)等價(jià)類編號(hào);B B 使一個(gè)測(cè)試用例盡可能覆蓋多個(gè)有效等價(jià)類使一個(gè)測(cè)試用例盡可能覆蓋多個(gè)有效等價(jià)類C C 特別要注意特別要注意: :一個(gè)測(cè)試用例只能覆蓋一個(gè)無效等價(jià)類。一個(gè)測(cè)試用例只能覆蓋一個(gè)無效等價(jià)類。 基本思想:基本思想: 選擇等價(jià)類的邊緣值作為測(cè)試用例,選擇等價(jià)類的邊緣值作為測(cè)試用例,讓每個(gè)等價(jià)類的邊界都得到測(cè)試,選擇測(cè)試用讓每個(gè)等價(jià)類的邊界都得到測(cè)試,選擇測(cè)試用例既考慮例既考慮輸入輸入亦考慮亦考慮輸出輸出。 分析步驟:分析步驟: A A 先劃分等價(jià)類。先劃分等價(jià)類。B B 選擇測(cè)試用例,測(cè)試等價(jià)類邊界。選擇測(cè)試用例,測(cè)試等價(jià)類邊界。 邊界邊界選擇原則:選擇原則: A A
16、按照輸入值范圍的邊界。按照輸入值范圍的邊界。B B 按照輸入按照輸入/ /輸出值個(gè)數(shù)的邊界。輸出值個(gè)數(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。按照輸入按照輸入/ /輸出值個(gè)數(shù)的邊界。輸出值個(gè)數(shù)的邊界。 例如:輸入文件可有例如:輸入文件可有1-2551-255個(gè)記錄,則個(gè)記錄,則 設(shè)計(jì)用例:設(shè)計(jì)用例:文件
17、的記錄數(shù)為文件的記錄數(shù)為 0 0個(gè)、個(gè)、1 1個(gè)、個(gè)、255255個(gè)、個(gè)、256256個(gè)。個(gè)。輸出值域的邊界。輸出值域的邊界。 例如:檢索文獻(xiàn)摘要,最多例如:檢索文獻(xiàn)摘要,最多4 4篇。設(shè)計(jì)用例:可檢索篇。設(shè)計(jì)用例:可檢索0 0篇、篇、1 1篇、篇、4 4篇,和篇,和5 5篇(錯(cuò)誤)。篇(錯(cuò)誤)。 D D 輸入輸入/ /輸出有序集(輸出有序集(如順序文件、線性表)如順序文件、線性表)的邊界。的邊界。 應(yīng)選擇第一個(gè)元素和最后一個(gè)元素。應(yīng)選擇第一個(gè)元素和最后一個(gè)元素。 對(duì)對(duì)FORTRAN編譯系統(tǒng)中的編譯系統(tǒng)中的DIMENSION語句進(jìn)行測(cè)試。語句進(jìn)行測(cè)試。語句格式為:語句格式為: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個(gè)):個(gè)): ld:nd ld ld:nd ld 和和 nd nd 的值為的值為1-655351-65535, ldld缺省為缺省為1 1。輸入條件輸入條件合理的等價(jià)類合理的等價(jià)類不合理的等價(jià)類不合理的等價(jià)類數(shù)組描述的個(gè)數(shù)數(shù)組描述的個(gè)數(shù)1 1個(gè)(個(gè)(1 1)、多于)、多于1 1個(gè)(個(gè)(2 2)沒有數(shù)組描述(沒有數(shù)組描述(3 3)數(shù)組名的字符數(shù)數(shù)組名的字符數(shù)1616個(gè)(個(gè)(4 4
19、)0 0(5 5),),66(6 6)數(shù)組名數(shù)組名有字母(有字母(7 7)有數(shù)字()有數(shù)字(8 8)有其他字符(有其他字符(9 9)數(shù)組名的第數(shù)組名的第1 1個(gè)字符為字母個(gè)字符為字母是(是(1010)不是(不是(1111)維數(shù)維數(shù)1717(1212)0 0(1313),), 7 7(1414)上界上界常數(shù)(常數(shù)(1515)數(shù)組元素名(數(shù)組元素名(161640 個(gè)等價(jià)類個(gè)等價(jià)類 憑經(jīng)驗(yàn)或直覺推測(cè)可能的錯(cuò)誤,列出程序中可憑經(jīng)驗(yàn)或直覺推測(cè)可能的錯(cuò)誤,列出程序中可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,選擇測(cè)能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,選擇測(cè)試用例。試用例。把輸入條件視為把輸入條件視為“因因”,把
20、輸出條件視為,把輸出條件視為“果果”,將黑盒看成是從因到果的網(wǎng)絡(luò)圖,采用,將黑盒看成是從因到果的網(wǎng)絡(luò)圖,采用邏輯圖的形式來表達(dá)功能說明書中輸入條件的各邏輯圖的形式來表達(dá)功能說明書中輸入條件的各種組合與輸出的關(guān)系。根據(jù)這種關(guān)系可選擇高效種組合與輸出的關(guān)系。根據(jù)這種關(guān)系可選擇高效的測(cè)試用例。的測(cè)試用例。 因果圖是一種形式化語言,是一種組合邏輯因果圖是一種形式化語言,是一種組合邏輯網(wǎng)絡(luò)圖。網(wǎng)絡(luò)圖。 因果圖的基本符號(hào)因果圖的基本符號(hào)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對(duì)對(duì)“與與”、“或或”函數(shù)的限制符號(hào)函數(shù)的限制符號(hào)E E約束(異)約束(異) 排斥排斥即即a a、b b不能同時(shí)為不能同時(shí)為1 1。I I約束(或)約束(或) 包容包容a a、b b、c c不能同時(shí)為不能同時(shí)為0 0。O O約束(唯一約束(唯一) 選一選一 a a、
22、b b中僅有一個(gè)為中僅有一個(gè)為1 1。R R約束(要求約束(要求) 需要需要 a a為為1 1時(shí),時(shí),b b必須為必須為1 1M M約束(強(qiáng)制約束(強(qiáng)制) 屏蔽屏蔽 若若a a為為1 1時(shí),則時(shí),則b b強(qiáng)制為強(qiáng)制為1 1。abEabcIabRabO OabM分析規(guī)范,即將問題分為若干可工作的步驟。分析規(guī)范,即將問題分為若干可工作的步驟。標(biāo)識(shí)出規(guī)范中的原因與結(jié)果。標(biāo)識(shí)出規(guī)范中的原因與結(jié)果。原因原因輸入條件輸入條件 結(jié)果結(jié)果輸出或系統(tǒng)變換輸出或系統(tǒng)變換將因果圖轉(zhuǎn)換為有限項(xiàng)判斷表。將因果圖轉(zhuǎn)換為有限項(xiàng)判斷表。將判斷表的每一列,轉(zhuǎn)換為一個(gè)測(cè)試用例。將判斷表的每一列,轉(zhuǎn)換為一個(gè)測(cè)試用例。規(guī)范:文件名第
23、一列字符必須為規(guī)范:文件名第一列字符必須為A A或或B B,第二列字第二列字符必須為數(shù)字。滿足則修改文件。第一字符不正符必須為數(shù)字。滿足則修改文件。第一字符不正確發(fā)出信息確發(fā)出信息X X1212,第二個(gè)字符不正確發(fā)出信息第二個(gè)字符不正確發(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é)點(diǎn)中間結(jié)點(diǎn)是導(dǎo)出結(jié)果的進(jìn)一步原因。是導(dǎo)出結(jié)果的進(jìn)一步原因。考慮到
24、原因考慮到原因1 1、2 2不可能同時(shí)為不可能同時(shí)為1 1,加上,加上E E約束。約束。1111515035212E發(fā)發(fā) X 12發(fā)發(fā) X 13 修改文件修改文件12345678條條件件原原因因111100001100110010101010111100動(dòng)動(dòng)作作結(jié)結(jié)果果000011101000010101測(cè)試用例測(cè)試用例A3A8AMA?B5B4BNB!C2X6DYPI11515052測(cè)試步驟及策略測(cè)試步驟及策略 所有測(cè)試過程都應(yīng)采用綜合測(cè)試策略;即先所有測(cè)試過程都應(yīng)采用綜合測(cè)試策略;即先作靜態(tài)分析,再作動(dòng)態(tài)測(cè)試。并事先制訂測(cè)試計(jì)作靜態(tài)分析,再作動(dòng)態(tài)測(cè)試。并事先制訂測(cè)試計(jì)劃。測(cè)試過程通常可分劃。
25、測(cè)試過程通??煞? 4步進(jìn)行:步進(jìn)行:單元單元測(cè)試測(cè)試單元單元測(cè)試測(cè)試單元單元測(cè)試測(cè)試被測(cè)被測(cè)模塊模塊被測(cè)被測(cè)模塊模塊集成集成測(cè)試測(cè)試設(shè)計(jì)設(shè)計(jì)信息信息已測(cè)試已測(cè)試的模塊的模塊確認(rèn)確認(rèn)測(cè)試測(cè)試已集成已集成的模塊的模塊軟件軟件需求需求系統(tǒng)系統(tǒng)測(cè)試測(cè)試已確認(rèn)已確認(rèn)的軟件的軟件可交付可交付的軟件的軟件系統(tǒng)其系統(tǒng)其他元素他元素1 1. .測(cè)試內(nèi)容測(cè)試內(nèi)容模塊模塊模塊接口測(cè)試模塊接口測(cè)試局部數(shù)據(jù)結(jié)構(gòu)測(cè)試局部數(shù)據(jù)結(jié)構(gòu)測(cè)試重要路徑測(cè)試重要路徑測(cè)試錯(cuò)誤處理測(cè)試錯(cuò)誤處理測(cè)試邊界條件測(cè)試邊界條件測(cè)試I/O I/O 參數(shù)值的個(gè)數(shù)、類參數(shù)值的個(gè)數(shù)、類型、次序、格式是否正型、次序、格式是否正確,確,I/OI/O文件屬性、
26、操作文件屬性、操作是否正確等。是否正確等。數(shù)據(jù)說明是否正確、數(shù)據(jù)說明是否正確、一致,變量及其初值一致,變量及其初值定義是否正確等。定義是否正確等。檢查檢查“錯(cuò)誤處錯(cuò)誤處理程序理程序”本身本身的錯(cuò)誤。的錯(cuò)誤。邊界條件常包括循環(huán)邊邊界條件常包括循環(huán)邊界,最大最小值、控制界,最大最小值、控制流中等于、大于、小于流中等于、大于、小于的比較值等。的比較值等。重要重要路徑通常是指完成路徑通常是指完成模塊功能的主要路徑,模塊功能的主要路徑,一般是控制結(jié)構(gòu)。一般是控制結(jié)構(gòu)。也稱單元測(cè)試(也稱單元測(cè)試(unit testingunit testing ) )考慮到被測(cè)模塊與其它模塊的聯(lián)系,因此測(cè)試時(shí)需考慮到被測(cè)
27、模塊與其它模塊的聯(lián)系,因此測(cè)試時(shí)需要使用兩類要使用兩類輔助模塊輔助模塊來模擬其他模塊。來模擬其他模塊。驅(qū)動(dòng)模塊驅(qū)動(dòng)模塊(driverdriver) 模擬主程序模擬主程序功能,用于向被測(cè)模塊傳遞數(shù)據(jù),接功能,用于向被測(cè)模塊傳遞數(shù)據(jù),接收、打印從被測(cè)模塊返回的數(shù)據(jù)。收、打印從被測(cè)模塊返回的數(shù)據(jù)。樁模塊樁模塊(stubstub) 又稱為假模塊,又稱為假模塊,用于模擬那些由被測(cè)模塊所調(diào)用的下用于模擬那些由被測(cè)模塊所調(diào)用的下屬模塊功能。屬模塊功能。一般,驅(qū)動(dòng)模塊比樁模塊容易設(shè)計(jì)。但都是額外開一般,驅(qū)動(dòng)模塊比樁模塊容易設(shè)計(jì)。但都是額外開銷。測(cè)試方法以白盒法為主。銷。測(cè)試方法以白盒法為主。被測(cè)模塊被測(cè)模塊驅(qū)
28、動(dòng)模塊驅(qū)動(dòng)模塊樁模塊樁模塊樁模塊樁模塊樁模塊樁模塊1 1. .組裝測(cè)試的任務(wù)組裝測(cè)試的任務(wù)確定模塊組裝方案,將經(jīng)過測(cè)試的模塊組裝為確定模塊組裝方案,將經(jīng)過測(cè)試的模塊組裝為一個(gè)完整的系統(tǒng)。組裝方案分為一個(gè)完整的系統(tǒng)。組裝方案分為漸增式漸增式及及非漸非漸增式。增式。測(cè)試方法以黑盒法為主,按照組裝方案進(jìn)行測(cè)試方法以黑盒法為主,按照組裝方案進(jìn)行測(cè)試。測(cè)試。也稱為也稱為聯(lián)合測(cè)試聯(lián)合測(cè)試或或集成測(cè)試,集成測(cè)試,重點(diǎn)測(cè)試模塊的接重點(diǎn)測(cè)試模塊的接口部分,需設(shè)計(jì)測(cè)試過程使用的驅(qū)動(dòng)模塊或樁??诓糠郑柙O(shè)計(jì)測(cè)試過程使用的驅(qū)動(dòng)模塊或樁模塊。塊。問題:問題:漸增式與非漸增式各有何優(yōu)、缺點(diǎn)?為什漸增式與非漸增式各有何優(yōu)、
29、缺點(diǎn)?為什么通常采用漸增式?么通常采用漸增式? 漸增式是先進(jìn)行模塊測(cè)試,然后將這些模漸增式是先進(jìn)行模塊測(cè)試,然后將這些模塊逐步組裝成較大的系統(tǒng),每連接一個(gè)模塊進(jìn)行塊逐步組裝成較大的系統(tǒng),每連接一個(gè)模塊進(jìn)行一次測(cè)試一次測(cè)試。兩種方案:兩種方案:設(shè)計(jì)驅(qū)動(dòng)模塊或樁模塊,對(duì)每一個(gè)新組裝的子設(shè)計(jì)驅(qū)動(dòng)模塊或樁模塊,對(duì)每一個(gè)新組裝的子系統(tǒng)進(jìn)行測(cè)試,對(duì)發(fā)現(xiàn)問題較多的子系統(tǒng)或模系統(tǒng)進(jìn)行測(cè)試,對(duì)發(fā)現(xiàn)問題較多的子系統(tǒng)或模塊應(yīng)該用白盒法作回歸測(cè)試。塊應(yīng)該用白盒法作回歸測(cè)試。自頂而下增值自頂而下增值增值增值M1M4M3M2M6M5程序模塊示意圖程序模塊示意圖S5M1S1S1S1S2S2S2S3S3S3第一步,測(cè)試主控模
30、塊第一步,測(cè)試主控模塊M1設(shè)設(shè)計(jì)樁模塊計(jì)樁模塊S1、S2、S3,模擬模擬被被M1調(diào)用的調(diào)用的M2、M3、M4。M2M3M4第二步,依次用第二步,依次用M2、M3、M4替代樁模塊替代樁模塊S1、S2、S3,每替代一次進(jìn)行一次測(cè)試。每替代一次進(jìn)行一次測(cè)試。S4S4S4S5S5第三步,對(duì)由主控模塊第三步,對(duì)由主控模塊M1和和模塊模塊M2、M3、M4構(gòu)成的子構(gòu)成的子系統(tǒng)進(jìn)行測(cè)試,設(shè)計(jì)樁模塊系統(tǒng)進(jìn)行測(cè)試,設(shè)計(jì)樁模塊S4、S5。M5M6第四步,依次用模塊第四步,依次用模塊M5和和M6替代樁模塊替代樁模塊S4、S5,并同時(shí)并同時(shí)進(jìn)行新的測(cè)試。組裝測(cè)試完進(jìn)行新的測(cè)試。組裝測(cè)試完畢。畢。M3M6M5D1D2D3
31、D1D1D2D2D3D3M2M4M1第四步,把已測(cè)試的子系第四步,把已測(cè)試的子系統(tǒng)按程序結(jié)構(gòu)連接起來完統(tǒng)按程序結(jié)構(gòu)連接起來完成程序整體的組裝測(cè)試。成程序整體的組裝測(cè)試。D4D4D4D5D5D5M1M4M3M2M6M5程序模塊示意圖程序模塊示意圖第一步,對(duì)最底層的模塊第一步,對(duì)最底層的模塊M3、M5、M6進(jìn)行測(cè)試進(jìn)行測(cè)試,設(shè)計(jì)驅(qū)動(dòng)模設(shè)計(jì)驅(qū)動(dòng)模塊塊D1、D2、D3來模擬調(diào)用。來模擬調(diào)用。第三步,設(shè)計(jì)驅(qū)動(dòng)模塊第三步,設(shè)計(jì)驅(qū)動(dòng)模塊D4、D5 和和D6模擬調(diào)用,分別對(duì)新子系模擬調(diào)用,分別對(duì)新子系統(tǒng)進(jìn)行測(cè)試。統(tǒng)進(jìn)行測(cè)試。第二步,用實(shí)際模塊第二步,用實(shí)際模塊M2、M1和和M4替換驅(qū)動(dòng)模塊替換驅(qū)動(dòng)模塊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)點(diǎn):能夠盡早發(fā)現(xiàn)系統(tǒng)主控方面的問題。優(yōu)點(diǎn):能夠盡早發(fā)現(xiàn)系統(tǒng)主控方面的問題。缺點(diǎn):無法驗(yàn)證樁模塊是否完全模擬了下屬模塊的缺點(diǎn):無法驗(yàn)證樁模塊是否完全模擬了下屬模塊的功能。功能。增值增值優(yōu)點(diǎn):驅(qū)動(dòng)模塊較容易編寫樁模塊,能夠盡早
33、查出優(yōu)點(diǎn):驅(qū)動(dòng)模塊較容易編寫樁模塊,能夠盡早查出底層涉及較復(fù)雜的算法和實(shí)際的底層涉及較復(fù)雜的算法和實(shí)際的I/OI/O模塊中的錯(cuò)誤。模塊中的錯(cuò)誤。缺點(diǎn):最后才能發(fā)現(xiàn)系統(tǒng)主控方面的問題。缺點(diǎn):最后才能發(fā)現(xiàn)系統(tǒng)主控方面的問題。常見的常見的混合增值方案:混合增值方案:衍變的自頂而下衍變的自頂而下先自底而上集成子系統(tǒng),再自頂而下集成總系統(tǒng)。先自底而上集成子系統(tǒng),再自頂而下集成總系統(tǒng)。自底而上自底而上自頂而下增值自頂而下增值對(duì)含有讀操作的子系統(tǒng)采用自底而上。對(duì)含有讀操作的子系統(tǒng)采用自底而上。對(duì)含有寫操作的子系統(tǒng)采用自頂而下。對(duì)含有寫操作的子系統(tǒng)采用自頂而下?;貧w測(cè)試回歸測(cè)試在回歸測(cè)試中自底而上,對(duì)其余部分
34、(引起是對(duì)在回歸測(cè)試中自底而上,對(duì)其余部分(引起是對(duì)修改過的子系統(tǒng))采用自頂而下。修改過的子系統(tǒng))采用自頂而下。1 1. .任務(wù)任務(wù) 又稱為有效性測(cè)試或功能測(cè)試。其任務(wù)是驗(yàn)證又稱為有效性測(cè)試或功能測(cè)試。其任務(wù)是驗(yàn)證系統(tǒng)的功能、性能等特性是否符合需求規(guī)格說明。系統(tǒng)的功能、性能等特性是否符合需求規(guī)格說明。選擇測(cè)試人員選擇測(cè)試人員選擇測(cè)試用例選擇測(cè)試用例實(shí)際運(yùn)行測(cè)試實(shí)際運(yùn)行測(cè)試軟件計(jì)劃軟件計(jì)劃用戶文檔用戶文檔開發(fā)文檔開發(fā)文檔源程序文本源程序文本支持環(huán)境支持環(huán)境有效性有效性測(cè)試測(cè)試軟件軟件配置配置審查審查管理管理機(jī)構(gòu)機(jī)構(gòu)裁決裁決專家專家鑒定會(huì)鑒定會(huì)交用戶交用戶運(yùn)行維護(hù)運(yùn)行維護(hù)測(cè)試報(bào)告測(cè)試報(bào)告軟件配置軟
35、件配置(1 1)有效性測(cè)試)有效性測(cè)試制定測(cè)試計(jì)劃,運(yùn)用黑盒法,驗(yàn)證軟件特性是制定測(cè)試計(jì)劃,運(yùn)用黑盒法,驗(yàn)證軟件特性是否與需求符合。否與需求符合。(2 2)軟件配置復(fù)查)軟件配置復(fù)查軟件配置軟件配置指軟件工程過程中所產(chǎn)生的所有信指軟件工程過程中所產(chǎn)生的所有信息項(xiàng):文檔、報(bào)告、程序、表格、數(shù)據(jù)。隨著軟息項(xiàng):文檔、報(bào)告、程序、表格、數(shù)據(jù)。隨著軟件工程過程的進(jìn)展軟件配置項(xiàng)(件工程過程的進(jìn)展軟件配置項(xiàng)(SCI software Configuration Item)快速增加和變化。應(yīng)復(fù)查快速增加和變化。應(yīng)復(fù)查SCI是否齊全。是否齊全。 測(cè)試測(cè)試 是在開發(fā)機(jī)構(gòu)的監(jiān)督下,由個(gè)別用戶在是在開發(fā)機(jī)構(gòu)的監(jiān)督下,
36、由個(gè)別用戶在確認(rèn)測(cè)試階段后期對(duì)軟件進(jìn)行測(cè)試,目的是評(píng)價(jià)確認(rèn)測(cè)試階段后期對(duì)軟件進(jìn)行測(cè)試,目的是評(píng)價(jià)軟件的軟件的FLURPSFLURPS(功能、局域化、可使用性、可靠功能、局域化、可使用性、可靠性、性能和支持)性、性能和支持),注重界面和特色。注重界面和特色。 測(cè)試測(cè)試 由由支持軟件預(yù)發(fā)行支持軟件預(yù)發(fā)行的客戶對(duì)的客戶對(duì)FLURPSFLURPS進(jìn)行進(jìn)行測(cè)試,主要目的是測(cè)試系統(tǒng)的可支持性。測(cè)試,主要目的是測(cè)試系統(tǒng)的可支持性。unction Testing unction Testing 功能測(cè)試功能測(cè)試 ocal Area Testing ocal Area Testing 局域化測(cè)試局域化測(cè)試sab
37、ility Testing sability Testing 可使用性測(cè)試可使用性測(cè)試egression Testing egression Testing 回歸測(cè)試回歸測(cè)試erformance Testing erformance Testing 性能測(cè)試性能測(cè)試upportability Testing upportability Testing 可支持可支持性測(cè)試性測(cè)試將經(jīng)過確認(rèn)測(cè)試的軟件,與計(jì)算機(jī)硬件、外設(shè)、將經(jīng)過確認(rèn)測(cè)試的軟件,與計(jì)算機(jī)硬件、外設(shè)、支持軟件等一起,在實(shí)際運(yùn)行環(huán)境下測(cè)試。支持軟件等一起,在實(shí)際運(yùn)行環(huán)境下測(cè)試。五、驗(yàn)收測(cè)試(五、驗(yàn)收測(cè)試(acceptance testingacceptance testing)驗(yàn)收測(cè)試是以用戶為主的測(cè)試。驗(yàn)收測(cè)試是以用戶為主的測(cè)試。 軟件測(cè)試是保證軟件可靠性的主要手段,也是軟件開軟件測(cè)試是保證軟件可靠性的主要手段,也是軟件開發(fā)過程中最艱巨、最繁雜的任務(wù)。發(fā)過程中最艱巨、最繁雜的任務(wù)。 軟件測(cè)試方案是測(cè)試階段的關(guān)鍵技術(shù)問題,基本目軟件測(cè)試方案是測(cè)試階段的關(guān)鍵技術(shù)問題,基本目標(biāo)是選擇最少量的高效測(cè)試用例,從而盡可能多地發(fā)現(xiàn)標(biāo)是選擇最少量的高效測(cè)試用例,從而盡可能多地發(fā)現(xiàn)軟件中的問題。因此,無論哪一個(gè)測(cè)試階段,都軟件中的問題。因此,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園防汛知識(shí)培訓(xùn)課件
- 口腔排診培訓(xùn)課件
- 學(xué)校校本研修匯報(bào)稿
- 科學(xué)研究特點(diǎn)
- 文化素質(zhì)培訓(xùn)
- 激勵(lì)的培訓(xùn)課件
- 擔(dān)保業(yè)務(wù)培訓(xùn)課件
- 擴(kuò)心病護(hù)理常規(guī)
- 晚輔流程培訓(xùn)課件
- 園長培訓(xùn)案例研修
- 固定矯治器護(hù)理查房
- 招生就業(yè)處2025年工作計(jì)劃
- 市場營銷學(xué)練習(xí)及答案(吳健安)
- 脊柱健康與中醫(yī)養(yǎng)生課件
- 2024馬克思主義發(fā)展史第2版配套題庫里面包含考研真題課后習(xí)題和章節(jié)題庫
- 基層管理角色轉(zhuǎn)變
- 2024年輸配電及用電工程職稱評(píng)審題庫-多選、判斷
- 急救車藥品管理制度
- 2024年職業(yè)技能:拍賣師專業(yè)知識(shí)考試題與答案
- 4.1中國特色社會(huì)主義進(jìn)入新時(shí)代+課件-高中政治統(tǒng)編版必修一中國特色社會(huì)主義+(36張)
- 圍欄網(wǎng)片采購安裝投標(biāo)方案(技術(shù)標(biāo))
評(píng)論
0/150
提交評(píng)論