




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、軟件測試方法和技術(shù)軟件測試方法和技術(shù)第第2版版第第3章章 軟件測試的方法軟件測試的方法第第2章回顧章回顧軟件缺陷是軟件質(zhì)量的對立面軟件缺陷是軟件質(zhì)量的對立面軟件缺陷軟件缺陷(Bug)是什么是什么驗證和確認驗證和確認軟件測試的分類和階段軟件測試的分類和階段- 單元、集成、系統(tǒng)(性能、適用性、兼容性單元、集成、系統(tǒng)(性能、適用性、兼容性)、驗收測試)、驗收測試軟件測試的工作范疇軟件測試的工作范疇- 策略、計劃、設(shè)計、執(zhí)行、報告、評估策略、計劃、設(shè)計、執(zhí)行、報告、評估第第3章章 軟件軟件測試的方法測試的方法3.1 白盒測試方法白盒測試方法3.2 黑盒測試方法黑盒測試方法3.3 靜態(tài)測試和動態(tài)測試靜態(tài)
2、測試和動態(tài)測試3.4 主動測試和被動測試主動測試和被動測試3.5 形式化測試方法形式化測試方法3.6 基于風險的測試基于風險的測試3.7 模糊測試方法模糊測試方法3.8 ALAC測試和隨機測試方法測試和隨機測試方法典型的群舉測試這個流程圖,其中包括了一個執(zhí)行達20次的循環(huán)。那么它所包含的不同執(zhí)行路徑數(shù)高達520條,若要對它進行窮舉測試,覆蓋所有的路徑。假使測試程序?qū)γ恳粭l路徑進行測試需要1毫秒,同樣假定一天工作24小時,一年工作365 天, 那么要想把如圖所示的小程序的所有路徑測試完,則需要3170年。方法論方法論-宏觀角度宏觀角度p 從方法論看,更多體現(xiàn)了一種哲學的思想,例如從方法論看,更多
3、體現(xiàn)了一種哲學的思想,例如辯證辯證統(tǒng)一統(tǒng)一的方法,在測試中有許多對立統(tǒng)一體,如靜態(tài)測的方法,在測試中有許多對立統(tǒng)一體,如靜態(tài)測試和動態(tài)測試、白盒測試和黑盒測試、自動化測試和試和動態(tài)測試、白盒測試和黑盒測試、自動化測試和手工測試等。手工測試等。p 軟件測試的方法論來源于軟件工程的方法論,例如有軟件測試的方法論來源于軟件工程的方法論,例如有面向?qū)ο蟮拈_發(fā)方法,就有面向?qū)ο蟮臏y試方法;有面向?qū)ο蟮拈_發(fā)方法,就有面向?qū)ο蟮臏y試方法;有敏捷方法,就有和敏捷方法對應(yīng)的測試方法敏捷方法,就有和敏捷方法對應(yīng)的測試方法。黑盒子和白盒子黑盒子和白盒子功能測試功能測試數(shù)據(jù)驅(qū)動測試數(shù)據(jù)驅(qū)動測試 結(jié)構(gòu)測試結(jié)構(gòu)測試邏輯驅(qū)
4、動測試邏輯驅(qū)動測試 客戶需求客戶需求事件驅(qū)動事件驅(qū)動輸入輸入輸出輸出黑盒測試和白盒測試黑盒測試和白盒測試靜態(tài)的和動態(tài)的靜態(tài)的和動態(tài)的主持人主持人作者記錄員列席人員內(nèi)審員內(nèi)審員技術(shù)專業(yè)人員用戶代表不正式正式互審 走讀 審查會議運行程序運行程序自動測試和手工測試自動測試和手工測試手工模擬用戶手工模擬用戶操作操作3.1白盒測試方法白盒測試方法白盒測試方法白盒測試方法n邏輯覆蓋邏輯覆蓋:以程序的內(nèi)部邏輯結(jié)構(gòu)為基礎(chǔ),分為語句覆蓋、判定覆蓋、判定-條件覆蓋、條件組合覆蓋等n基本路徑測試基本路徑測試:在程序控制流程的基礎(chǔ)上,分析控制構(gòu)造的環(huán)路復雜性,導出基本可執(zhí)行路徑集合,從而設(shè)計測試用例。n靜態(tài)白盒測試靜
5、態(tài)白盒測試:在不執(zhí)行不執(zhí)行的條件下有條理地仔細審查軟件設(shè)計、體系結(jié)構(gòu)和代碼軟件設(shè)計、體系結(jié)構(gòu)和代碼,從而找出軟件缺陷的過程。動態(tài)白盒測試包括動態(tài)白盒測試包括4個部分個部分n直接測試底層函數(shù)、過程、子程序和庫直接測試底層函數(shù)、過程、子程序和庫n從頂層測試軟件,不斷調(diào)整測試用例從頂層測試軟件,不斷調(diào)整測試用例n從軟件獲得讀取變量和狀態(tài)信息的訪問權(quán),強從軟件獲得讀取變量和狀態(tài)信息的訪問權(quán),強制軟件以正常測試難以實現(xiàn)的方式運行制軟件以正常測試難以實現(xiàn)的方式運行n估算執(zhí)行測試時估算執(zhí)行測試時“命中命中”的代碼量和具體代碼的代碼量和具體代碼,調(diào)整測試,調(diào)整測試n軟件人員使用白盒測試方法,主要想對程序模塊進
6、行如下的檢查:n 對程序模塊的至少測試一次;n 對,;n 在循環(huán)的邊界和運行界限內(nèi)執(zhí)行循環(huán)體;n 測試,等。例:實現(xiàn)一個簡單的數(shù)學運算例:實現(xiàn)一個簡單的數(shù)學運算n Dim a,b As Integern Dim c As Doublen If (a0 And b0) Thenn c=c/an End ifn If (a1 or c1) Thenn c=c+1n End if1. c=b+c3.1.1語句覆蓋語句覆蓋p語句覆蓋法語句覆蓋法的基本思想是設(shè)計若干測試用例,運行被的基本思想是設(shè)計若干測試用例,運行被測程序,使程序中的每個可執(zhí)行語句至少被執(zhí)行一次測程序,使程序中的每個可執(zhí)行語句至少被執(zhí)行
7、一次1.語句覆蓋語句覆蓋續(xù)續(xù)1l只需設(shè)計一個測只需設(shè)計一個測試用例試用例:a=2,b=1,c=6;l即達到了語句覆即達到了語句覆蓋。蓋。1.語句覆蓋語句覆蓋續(xù)續(xù)2n【優(yōu)點優(yōu)點】 :可以很直觀地從源代碼得到:可以很直觀地從源代碼得到測試用例,無須細分每條判定表達式。測試用例,無須細分每條判定表達式。n【缺點缺點】 :由于這種測試方法僅僅針對:由于這種測試方法僅僅針對程序邏輯中顯式存在的語句,但對于隱程序邏輯中顯式存在的語句,但對于隱藏的條件是無法測試的。如在多分支的藏的條件是無法測試的。如在多分支的邏輯運算中無法全面的考慮。語句覆蓋邏輯運算中無法全面的考慮。語句覆蓋是最弱的邏輯覆蓋。是最弱的邏輯
8、覆蓋。3.1.2判定覆蓋判定覆蓋p判定覆蓋法判定覆蓋法的基本思想是設(shè)計若干用例,運行被測程的基本思想是設(shè)計若干用例,運行被測程序,使得程序中每個判斷的取真分支和取假分支至少序,使得程序中每個判斷的取真分支和取假分支至少經(jīng)歷一次,即判斷真假值均曾被滿足經(jīng)歷一次,即判斷真假值均曾被滿足。p一個判定往往代表著程序的一個分支,一個判定往往代表著程序的一個分支, 所以判定覆蓋也被稱為分支覆蓋。所以判定覆蓋也被稱為分支覆蓋。分支測試分支測試 - example1PROGRAM som ( maxint, N : INT )2INT result := 0 ; i := 0 ;3IF N 04THEN N
9、:= - N ;5WHILE ( i N ) AND ( result = maxint )6DOi := i + 1 ;7result := result + i ;8OD;9IF result = maxint10THEN OUTPUT ( result )11ELSE OUTPUT ( “too large” )12END.分支測試分支測試 - continuedi:=i+1;result:=result+i;(iN) and(result=maxint)result=maxintN 0N := -N;output(result);output(too large);exitstarty
10、esnonoyesyesnoN =0)result=0 i=02.判定覆蓋判定覆蓋續(xù)續(xù)1a=2,b=1 ,c=6可覆可覆蓋判斷蓋判斷M的的Y分支和判分支和判斷斷Q的的Y分分支;支; a=-2,b=-1 ,c=-3可可覆蓋判斷覆蓋判斷M的的N分支和分支和判斷判斷Q的的N分支分支 。這兩組測試用例可覆這兩組測試用例可覆蓋所有判定的真假分蓋所有判定的真假分支。支。判斷M判斷Q2.判定覆蓋判定覆蓋續(xù)續(xù)2a=1,b=1 ,c=-3 可可覆蓋判斷覆蓋判斷M的的Y分支和分支和判斷判斷Q的的N分支分支 ; a=1,b=-2 ,c=3可覆可覆蓋判斷蓋判斷M的的N分支分支和判和判斷斷Q的的Y分支分支 ;同樣的這兩
11、組測試用例同樣的這兩組測試用例也可覆蓋所有判定的真也可覆蓋所有判定的真假分支。假分支。判斷M判斷Q2.判定覆蓋判定覆蓋續(xù)續(xù)3n【優(yōu)點優(yōu)點】:判定覆蓋具有比語句覆蓋更強:判定覆蓋具有比語句覆蓋更強的測試能力。同樣判定覆蓋也具有和語句的測試能力。同樣判定覆蓋也具有和語句覆蓋一樣的簡單性,無須細分每個判定就覆蓋一樣的簡單性,無須細分每個判定就可以得到測試用例??梢缘玫綔y試用例。n【缺點缺點】:往往大部分的判定語句是由多:往往大部分的判定語句是由多個邏輯條件組合而成,若僅僅判斷其整個個邏輯條件組合而成,若僅僅判斷其整個最終結(jié)果,而最終結(jié)果,而忽略每個條件的取值忽略每個條件的取值情況,情況,必然會遺漏部
12、分測試路徑。判定覆蓋仍是必然會遺漏部分測試路徑。判定覆蓋仍是弱弱的邏輯覆蓋。的邏輯覆蓋。3.1.3條件覆蓋條件覆蓋p條件覆蓋條件覆蓋的基本思想是設(shè)計若干測試用例,執(zhí)行被測的基本思想是設(shè)計若干測試用例,執(zhí)行被測程序以后,要使程序以后,要使每個判斷中每個條件的可能取值至少每個判斷中每個條件的可能取值至少滿足一次滿足一次。(iN) and (result=maxint)TrueFalseresult=maxintiNTrueFalse條件測試條件測試目標目標: 保證測試到每個邏輯條件取值為保證測試到每個邏輯條件取值為 true 和和 false簡單條件簡單條件:(a rel-op b) where
13、rel-op= (和和NOT連用連用), 即即 ab; NOT(ab)組合條件組合條件: 由由 AND, OR連接的多個簡單條件,即連接的多個簡單條件,即(ab) AND (c(a+b+c)n測試測試發(fā)現(xiàn)的錯誤發(fā)現(xiàn)的錯誤:n布爾操作符布爾操作符 關(guān)系操作符關(guān)系操作符n布爾變量布爾變量 算術(shù)表達式算術(shù)表達式n布爾括弧布爾括弧條件測試條件測試 (2)域測試域測試n表達式表達式 E1 rel-op E2, 測試測試 E1 = E2n如果如果E1 和和 E2 正確,發(fā)現(xiàn)正確,發(fā)現(xiàn)rel-op的錯誤的錯誤n發(fā)現(xiàn)發(fā)現(xiàn)E1 或或 E2的錯誤,全面分析它們的不同的錯誤,全面分析它們的不同n如果某表達式含有如果
14、某表達式含有n個變量,則個變量,則 需要進行需要進行2n 測試測試分支測試分支測試組合條件組合條件C, 測試測試C為為 true和和 false分支、以及每個條件分支、以及每個條件例如例如 C = (ab) AND (cb TRUE, FALSEc0 取取真真 記為記為 T1 假假 F1 條件條件 b0 取真取真 記為記為 T2 假假 F2n判斷判斷Q表達式表達式:設(shè)條件設(shè)條件 a1 取真取真 記為記為 T3 假假 F3 條件條件 c1 取真取真 記為記為 T4 假假 F4判斷M判斷Q3.條件覆蓋條件覆蓋續(xù)續(xù)2測試用例測試用例覆蓋條覆蓋條件件具體取值條件具體取值條件a=2,b=-1,c=-2T
15、1, F2, T3, F4a0,b1,c=1a=-1,b=2,c=3F1, T2, F3, T4a0,a1我們用條件覆蓋設(shè)計的思想就是讓測試用例能覆蓋我們用條件覆蓋設(shè)計的思想就是讓測試用例能覆蓋T1T1、T2T2、T3T3、T4T4、F1F1、F2F2、F3F3、F4F4判斷M判斷Q條件測試條件測試 的的示例示例 ( i = result = 0 ) :maxint N iN result=maxint -1 1 true false 1 0 false true測試了所有條件但沒有覆蓋判定(但沒有覆蓋判定(decision) 條件覆蓋不等于判定覆蓋條件覆蓋不等于判定覆蓋i:=i+1;resu
16、lt:=result+i;(iN) and(result=maxint)result=maxintN 0, b0, a1,c1M=.T.N=.T.P1(1-2-4)輸入:輸入:a=-1,b=-2,c=-3輸出:輸出:a=-1,b=-2,c=-5F1,F(xiàn)2,F(xiàn)3,F(xiàn)4a=0, b=0, a=1, c0,b0,M取真取真2T1,F(xiàn)2M=.F.a0,b=0,M取假取假3F1,T2M=.F.a0,M取假取假4F1,F(xiàn)2M=.F.a=0,b1,c1,N取真取真6T3,F(xiàn)4N=.T.a1,c=1,N取真取真7F3,T4N=.T.a1,N取真取真8F3,F(xiàn)4N=.F.a=1,c0,b02T1,F2M取取Na
17、0,b=03F1,T2M取取Na04F1,F2M取取Na= 0,b1,c16T3,F4Q取取Ya1,c=17F3,T4Q取取Ya18F3,F4Q取取Na=1,c=15.條件組合覆蓋條件組合覆蓋續(xù)續(xù)2測試用例測試用例覆蓋條覆蓋條件件覆蓋判斷覆蓋判斷覆蓋覆蓋組合組合a=2,b=1,c=6T1, T2,T3, T4M取取Y分支,分支,Q取取Y分支分支1,5a=2,b= -1,c= -2T1, F2, T3, F4M取取N分支,分支,Q取取Y分支分支2,6a=-1,b=2,c=3F1, T2, F3, T4M取取N分支,分支,Q取取Y分支分支3,7a= -1,b= -2,c= -3F1, F2, F3
18、, F4M取取N分支,分支,Q取取N分支分支4,8要滿足要滿足1、2、3、4、5、6、7、8條件組合條件組合5.條件組合覆蓋條件組合覆蓋續(xù)續(xù)3n【優(yōu)點優(yōu)點】 :條件組合覆蓋準則滿足判定:條件組合覆蓋準則滿足判定覆蓋、條件覆蓋和判定覆蓋、條件覆蓋和判定/條件覆蓋準則。條件覆蓋準則。n【缺點缺點】 :線性地增加了測試用例的數(shù):線性地增加了測試用例的數(shù)量。量。邏輯覆蓋法之間的邏輯覆蓋法之間的包含關(guān)系包含關(guān)系組合覆蓋組合覆蓋判斷判斷/條件覆蓋條件覆蓋判斷覆蓋判斷覆蓋條件覆蓋條件覆蓋語句覆蓋語句覆蓋修正條件修正條件/判定覆蓋判定覆蓋補充補充nModified Condition/Decision Cov
19、eragen也被稱為也被稱為MC/DC 和和MCDC。n這個度量需要足夠的測試用例來確定每個條這個度量需要足夠的測試用例來確定每個條件能夠影響到包含的判定的結(jié)果件能夠影響到包含的判定的結(jié)果。n“航空運輸和裝備系統(tǒng)軟件認證標準航空運輸和裝備系統(tǒng)軟件認證標準”n目前在國外的國防、航空航天領(lǐng)域廣泛應(yīng)用目前在國外的國防、航空航天領(lǐng)域廣泛應(yīng)用修正條件修正條件/判定覆蓋判定覆蓋(續(xù)續(xù))n每一個程序模塊的每一個程序模塊的入口入口和和出口出口點都要考點都要考慮要至少被調(diào)用一次,每個程序的慮要至少被調(diào)用一次,每個程序的判定判定到到所有可能的結(jié)果值所有可能的結(jié)果值要至少轉(zhuǎn)換一次要至少轉(zhuǎn)換一次n程序的判定被分解為通
20、過邏輯操作符程序的判定被分解為通過邏輯操作符(AND, OR, etc.)連接為連接為BOOL條件。每條件。每一個條件對于判定的結(jié)果值是一個條件對于判定的結(jié)果值是獨立獨立的,的,或者說或者說單條件的變化將導致判決的變化單條件的變化將導致判決的變化修正條件修正條件/判定覆蓋判定覆蓋(續(xù)續(xù))-三個條件三個條件n修正條件判定覆蓋方法要求在一個程序修正條件判定覆蓋方法要求在一個程序中中每一種輸入輸出至少得出現(xiàn)一次每一種輸入輸出至少得出現(xiàn)一次n在程序中的在程序中的每一個條件必須產(chǎn)生所有可每一個條件必須產(chǎn)生所有可能的輸出結(jié)果至少一次能的輸出結(jié)果至少一次n并且并且每一個判定中的每一個條件必須能每一個判定中的
21、每一個條件必須能夠獨立影響一個判定的輸出夠獨立影響一個判定的輸出,即在,即在其他其他條件不變的前提下僅改變這個條件的值,條件不變的前提下僅改變這個條件的值,而使判定結(jié)果改變而使判定結(jié)果改變 修正條件修正條件/判定覆蓋示例判定覆蓋示例A&B用例1用例2用例3用例4ATTFFBTFTFA&BTFFF修正條件修正條件/判定覆蓋示例判定覆蓋示例(續(xù)續(xù))A&B用例1用例2用例3用例4ATTFFBTFTFA&BTFFF修正條件修正條件/判定覆蓋示例判定覆蓋示例(續(xù)續(xù))A&B用例1用例2用例3用例4ATTFFBTFTFA&BTFFF修正條件修正條件/判定覆蓋示例判定覆蓋示例(續(xù)續(xù))A&B用例1用例2用例3用
22、例4ATTFFBTFTFA&BTFFF修正條件修正條件/判定覆蓋示例判定覆蓋示例(續(xù)續(xù))A&B用例1用例2用例3用例4ATTFFBTFTFA&BTFFF修正條件修正條件/判定覆蓋示例判定覆蓋示例(續(xù)續(xù))A | B用例用例1用例用例2用例用例3用例用例4ATTFFBTFTFA | BTTTF修正條件修正條件/判定覆蓋示例判定覆蓋示例(續(xù)續(xù))A | B用例1用例2用例3用例4ATTFFBTFTFA | BTTTF修正條件修正條件/判定覆蓋示例判定覆蓋示例(續(xù)續(xù))A | B用例1用例2用例3用例4ATTFFBTFTFA | BTTTF修正條件修正條件/判定覆蓋示例判定覆蓋示例(續(xù)續(xù))A | B用例1
23、用例2用例3用例4ATTFFBTFTFA | BTTTF修正條件修正條件/判定覆蓋示例判定覆蓋示例(續(xù)續(xù))A | B用例1用例2用例3用例4ATTFFBTFTFA | BTTTF修正條件修正條件/判定覆蓋示例判定覆蓋示例(續(xù)續(xù))A & ( B | C )12345678ATTTTFFFFBTTFFTTFFCTFTFTFTFA&(B|C)TTTFFFFF修正條件修正條件/判定覆蓋示例判定覆蓋示例(續(xù)續(xù))A & ( B | C )12345678ATTTTFFFFBTTFFTTFFCTFTFTFTFA&(B|C)TTTFFFFF修正條件修正條件/判定覆蓋示例判定覆蓋示例(續(xù)續(xù))A & ( B |
24、C )12345678ATTTTFFFFBTTFFTTFFCTFTFTFTFA&(B|C)TTTFFFFF修正條件修正條件/判定覆蓋示例判定覆蓋示例(續(xù)續(xù))A & ( B | C )12345678ATTTTFFFFBTTFFTTFFCTFTFTFTFA&(B|C)TTTFFFFF修正條件修正條件/判定覆蓋示例判定覆蓋示例(續(xù)續(xù))A & ( B | C )12345678ATTTTFFFFBTTFFTTFFCTFTFTFTFA&(B|C)TTTFFFFFA567123B42C43示例示例測試用例測試用例覆蓋條件覆蓋條件覆蓋路徑覆蓋路徑覆蓋組合覆蓋組合輸入:輸入:a=2,b=1,c=6輸出:輸出
25、:a=2,b=1,c=5T1,T2,T3,T4P1(1-2-4)1,5輸入:輸入:a=2,b=-1,c=-2輸出:輸出:a=2,b=-1,c=-2T1,F(xiàn)2,T3,F(xiàn)4P3(1-3-4)2,6輸入:輸入:a=-1,b=2,c=3 輸出:輸出:a=-1,b=2,c=6F1,T2,F(xiàn)3,T4P3(1-3-4)3,7輸入:輸入:a=-1,b=-2,c=-3輸出:輸出:a=-1,b=-2,c=-5F1,F(xiàn)2,F(xiàn)3,F(xiàn)4P4(1-3-5)4,8覆蓋了所有組合,但覆蓋路徑有限,覆蓋了所有組合,但覆蓋路徑有限,1-2-5 沒被覆蓋沒被覆蓋3.1.6測試測試p顧名思義,顧名思義,路徑覆蓋路徑覆蓋就是設(shè)計所有的
26、測試用例,來覆就是設(shè)計所有的測試用例,來覆蓋程序中的所有可能的執(zhí)行路徑蓋程序中的所有可能的執(zhí)行路徑。測試用例覆蓋路徑覆蓋條件覆蓋組合輸入:a=2,b=1,c=6輸出:a=2,b=1,c=5P1(1-2-4)T1,T2,T3,T41,5輸入:a=1,b=1,c=-3輸出:a=1,b=1,c=-2P2(1-2-5)T1,T2,F(xiàn)3,F(xiàn)41,8輸入:a=2,b=-1,c=-2輸出:a=2,b=-1,c=-2P3(1-3-4)T1,F(xiàn)2,T3,F(xiàn)42,6輸入:a=-1,b=2,c=3 輸出:a=-1,b=2,c=6P3(1-3-4)F1,T2,F(xiàn)3,T43,7輸入:a=-1,b=-2,c=-3輸出:a
27、=-1,b=-2,c=-5P4(1-3-5)F1,F(xiàn)2,F(xiàn)3,F(xiàn)44,86.路徑覆蓋路徑覆蓋續(xù)續(xù)1n【優(yōu)點優(yōu)點】 :這種測試方法可以對程序進:這種測試方法可以對程序進行徹底的測試,比前面五種的覆蓋面都行徹底的測試,比前面五種的覆蓋面都廣。廣。n【缺點缺點】 :需要設(shè)計大量、復雜的測試:需要設(shè)計大量、復雜的測試用例,使得工作量呈指數(shù)級增長,不見用例,使得工作量呈指數(shù)級增長,不見得把所有的條件組合都覆蓋。得把所有的條件組合都覆蓋。 從前面的例子我們可以看到,采用從前面的例子我們可以看到,采用任何一種覆蓋方法都不能滿足我們?nèi)魏我环N覆蓋方法都不能滿足我們的要求,所以,在實際的測試用例的要求,所以,在實
28、際的測試用例設(shè)計過程中,可以根據(jù)需要將不同設(shè)計過程中,可以根據(jù)需要將不同的覆蓋方法組合起來使用,以實現(xiàn)的覆蓋方法組合起來使用,以實現(xiàn)最佳的測試用例設(shè)計最佳的測試用例設(shè)計 。-完成完成P.63 第第6題題條件組合覆蓋結(jié)合路徑覆蓋條件組合覆蓋結(jié)合路徑覆蓋測試用例測試用例覆蓋條件覆蓋條件覆蓋路徑覆蓋路徑覆蓋組合覆蓋組合a=2,b= 1,c=6T1,T2,T3,T4P1:(1-2-4)1,5a=1,b=1,c= -3T1,T2,F3,F4P2:(1-2-5)1,8a= -1,b=2,c=3F1,F2,F3,T4P3:(1-3-4)4,7a= -1,b= -2,c= -3F1,F2,F3,F4P4:(1
29、-3-5)4,8a=2,b= -1,c= -2T1,F2,T3,F4P3:(1-3-4)2,6a= -1,b=2,c=3F1,T2,F3,T4P3:(1-3-4)3,7n當程序中判定多于一個時,形成的分支結(jié)構(gòu)可以分為兩類:和。n對于,若有n個判定語句,需要n+1個測試用例;n對于, 若有n個判定語句,需要有2n個測試用例,覆蓋它的2n條路徑。當n較大時將無法測試。n循環(huán)分為4種不同類型:、和。 零次循環(huán):從循環(huán)入口到出口 一次循環(huán):檢查循環(huán)初始值 二次循環(huán):檢查多次循環(huán) m次循環(huán): 檢查在多次循環(huán) 最大次數(shù)循環(huán)、比最大次數(shù)多一次、少一次的循環(huán)。 abecj=)m_oper.SetCurSel(
30、0); else if (temp = = ) m_oper.SetCurSel(1); else if ( temp = = = =) m_oper.SetCurSel(2); else if( temp = = =) m_oper.SetCurSel(3); else if ( temp = = =”)m_oper.SetCurSel(0)Path 2ReadPara(”)m_oper.SetCurSel(1)Path 3ReadPara(”=”)m_oper.SetCurSel(2)Path 4ReadPara(”)m_oper.SetCurSel(3)Path 5ReadPara(”判
31、定覆蓋-條件覆蓋測試-判定/條件覆蓋-條件組合覆蓋-路徑覆蓋測試等,其檢錯能力左到右是由弱到強的,但是不能盲目選擇檢錯性較強的測試方法,因根據(jù)程序需要而定,有些程序路徑千千萬萬,這時,就不要硬鉆腦門子啦,可以適當選擇條件覆蓋測試方法.白盒測試步驟白盒測試步驟-5-5 第五步第五步, ,檢查程序規(guī)范性檢查程序規(guī)范性, ,包括命名是否符包括命名是否符合規(guī)范等合規(guī)范等. . 第六步第六步,補充測試案例文檔:將測試結(jié)果補充進先前案例文檔中. 白盒測試常見誤區(qū)白盒測試常見誤區(qū)-1-1 白盒測試太耗時間白盒測試太耗時間, ,不值得一做不值得一做. . 依據(jù)實際經(jīng)驗,成功的白盒測試與不做白盒測試相比,測試投入應(yīng)節(jié)約1/3以上。當然,這個對比是產(chǎn)品要保證較好發(fā)布質(zhì)量的前提下才成立的,如果不做測試,產(chǎn)品一調(diào)通就發(fā)布,那沒得比了,這樣測試投入是最節(jié)約的。白盒測試常見誤區(qū)白盒測試常見誤區(qū)-2-2 系統(tǒng)測試可以發(fā)現(xiàn)所有問題,不必做白盒測試系統(tǒng)測試可以發(fā)現(xiàn)所有問題,不必做白盒測試. . 從理論上講,系統(tǒng)測試是可以代替白盒測試的,但現(xiàn)實操作中,讓系統(tǒng)測試代替白盒測試的代價太高。白盒測試直接面對函數(shù)內(nèi)的各個分支,如果在系統(tǒng)測試階段設(shè)
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 眼鏡行業(yè)視力問題免責協(xié)議
- 杭州市房屋裝修合同
- 掛靠物業(yè)公司合伙協(xié)議書
- 工程合同付款方式
- 泥工家裝裝修合同
- 租金遞增式商鋪租賃合同
- 垃圾焚燒發(fā)電項目投資合同
- 場地租賃協(xié)議注意事項
- 質(zhì)押擔保借款合同
- 優(yōu)化員工績效管理系統(tǒng)的具體實施方案
- 2025年01月福建省福利彩票發(fā)行中心片區(qū)管理員招考筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 長江委水文局2025年校園招聘17人歷年高頻重點提升(共500題)附帶答案詳解
- 2025年湖南韶山干部學院公開招聘15人歷年高頻重點提升(共500題)附帶答案詳解
- 廣東省廣州市番禺區(qū)2023-2024學年七年級上學期期末數(shù)學試題
- 健身新人直播流程
- 不可切除肺癌放療聯(lián)合免疫治療專家共識(2024年版)j解讀
- DB23/T 3657-2023醫(yī)養(yǎng)結(jié)合機構(gòu)服務(wù)質(zhì)量評價規(guī)范
- 教科版科學六年級下冊14《設(shè)計塔臺模型》課件
- 企業(yè)的生產(chǎn)過程課件
- 智研咨詢發(fā)布:2024年中國MVR蒸汽機械行業(yè)市場全景調(diào)查及投資前景預(yù)測報告
- 法規(guī)解讀丨2024新版《突發(fā)事件應(yīng)對法》及其應(yīng)用案例
評論
0/150
提交評論