軟件測(cè)試技術(shù)課件_第1頁
軟件測(cè)試技術(shù)課件_第2頁
軟件測(cè)試技術(shù)課件_第3頁
軟件測(cè)試技術(shù)課件_第4頁
軟件測(cè)試技術(shù)課件_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第17章 軟件測(cè)試技術(shù)軟 件 工 程第1頁,共62頁。第17章 軟件測(cè)試技術(shù)17.1 軟件測(cè)試基礎(chǔ) 17.1.1 測(cè)試目標(biāo) 17.1.2 測(cè)試原則 17.1.3 可測(cè)試性17.2 測(cè)試用例設(shè)計(jì)17.3 白盒測(cè)試17.4 基本路徑測(cè)試 17.4.1 流圖符號(hào) 17.4.2 環(huán)復(fù)雜度 17.4.3 導(dǎo)出測(cè)試案例 17.4.4 圖矩陣第2頁,共62頁。第17章 軟件測(cè)試技術(shù)17.5 控制結(jié)構(gòu)測(cè)試 17.5.1 條件測(cè)試 17.5.2 數(shù)據(jù)流測(cè)試 17.5.3 循環(huán)測(cè)試17.6 黑盒測(cè)試 17.6.1 基于圖的測(cè)試方法 17.6.2 等價(jià)劃分 17.6.3 邊界值分析 17.6.4 比較測(cè)試 17.6

2、.5 正交數(shù)組測(cè)試第3頁,共62頁。第17章 軟件測(cè)試技術(shù)17.7 針對(duì)專門環(huán)境、體系結(jié)構(gòu)和應(yīng)用的測(cè)試 17.7.1 測(cè)試GUI 17.7.2 客戶/服務(wù)器體系結(jié)構(gòu)的測(cè)試 17.7.3 測(cè)試文檔和幫助設(shè)施 17.7.4 實(shí)時(shí)系統(tǒng)測(cè)試17.8 小結(jié)第4頁,共62頁。第17章 軟件測(cè)試技術(shù)軟件開發(fā)過程必須伴有質(zhì)量保證活動(dòng)軟件測(cè)試是軟件質(zhì)量保證的關(guān)鍵元素,代表了規(guī)約、設(shè)計(jì)和編碼的最終檢查。第5頁,共62頁。17.1.1 測(cè)試目標(biāo)1.測(cè)試是為了尋找錯(cuò)誤而運(yùn)行程序的過程。2.一個(gè)好的測(cè)試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。3.一個(gè)成功的測(cè)試是揭示了迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。第6頁,共62

3、頁。17.1.2 測(cè)試原則(1)所有的測(cè)試都應(yīng)追溯到用戶需求,程序中的問題根源可能在開發(fā)前期的各階段解決、糾正錯(cuò)誤也必須追溯到前期工作。第7頁,共62頁。測(cè)試與開發(fā)前期工作的關(guān)系決定軟件與系統(tǒng)的配合關(guān)系需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì) 編 碼單元測(cè)試集成測(cè)試確認(rèn)測(cè)試系統(tǒng)測(cè)試第8頁,共62頁。開發(fā)前期出現(xiàn)錯(cuò)誤的擴(kuò)展計(jì)劃需求分析設(shè)計(jì)編碼測(cè)試AAB第9頁,共62頁。軟件生存期各階段間需保持的正確性用戶要求用戶:我要什么?運(yùn)行結(jié)果計(jì)算機(jī):程序運(yùn)行得到的結(jié)果源程序程序員:我要讓計(jì)算機(jī)什么做?設(shè)計(jì)說明書設(shè)計(jì)員:我要讓軟件做什么?需求說明書分析員:我可以提供什么?12345理解正確性表達(dá)正確性理解正確性設(shè)計(jì)正確性表

4、達(dá)正確性理解正確性編碼正確性運(yùn)行正確性輸入正確性相符嗎?第10頁,共62頁。17.1.2 測(cè)試原則(2) 測(cè)試工作真正開始前較長(zhǎng)時(shí)間就進(jìn)行測(cè)試 計(jì)劃 (3)pareto原則可應(yīng)用于軟件測(cè)試(4)測(cè)試應(yīng)從“小規(guī)?!遍_始,逐步轉(zhuǎn)向“大規(guī)?!?5)窮舉測(cè)試是不可能的。(6)應(yīng)由獨(dú)立的第三方來構(gòu)造測(cè)試第11頁,共62頁。 17.1.3 可測(cè)試性 可測(cè)試軟件的特征:可操作性可觀察性可控制性可分解性簡(jiǎn)單性穩(wěn)定性易理解性第12頁,共62頁。 “好”測(cè)試的屬性: 發(fā)現(xiàn)錯(cuò)誤的可能性高不冗余在目的相似的測(cè)試中,應(yīng)使用最可能找到所有錯(cuò)誤的測(cè)試一個(gè)好測(cè)試不會(huì)太簡(jiǎn)單,也不會(huì)太復(fù)雜。每一個(gè)測(cè)試應(yīng)獨(dú)立執(zhí)行第13頁,共62頁

5、。軟件測(cè)試有關(guān)概念測(cè)試中用到的模型元素(UML類圖)測(cè)試組測(cè)試用例故 障組 件測(cè)試存根測(cè)試驅(qū)動(dòng)程序誤 差錯(cuò) 誤改 正由修改由引起由引起找出使用修改1n*第14頁,共62頁。 17.2 測(cè)試用例設(shè)計(jì)選擇測(cè)試用例是軟件測(cè)試員最重要的一項(xiàng)工作。測(cè)試用例的屬性:屬性 描述name 測(cè)試用例的名稱 location 可執(zhí)行的完全路徑名 input 輸入數(shù)據(jù)或命令oracle 與測(cè)試輸入相比較的期待測(cè)試結(jié)果log 測(cè)試生產(chǎn)的輸出第15頁,共62頁。17.3 白盒測(cè)試又稱:開盒測(cè)試、結(jié)構(gòu)測(cè)試、玻璃盒測(cè)試、基于覆蓋 的測(cè)試。根據(jù)被測(cè)程序的邏輯結(jié)構(gòu)設(shè)計(jì)測(cè)試用 例,力求提高測(cè)試覆蓋率。使用白盒測(cè)試,產(chǎn)生的測(cè)試案例

6、可以:保證一個(gè)模塊中的所有獨(dú)立路徑至少被使用一次;對(duì)所有邏輯值均需測(cè)試真和假;在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán);檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)以確保其有效性。第16頁,共62頁。白盒測(cè)試的測(cè)試用例設(shè)計(jì)邏輯覆蓋法(1)語句覆蓋(2)判定覆蓋(3)條件覆蓋(4)判定/條件覆蓋(5)條件組合覆蓋(6)路徑覆蓋(7)點(diǎn)覆蓋(8)邊覆蓋第17頁,共62頁。例:PROCEDURE SAMPAL (A,B:REAL; VAR X:REAL); BEGIN IF (A1) AND (B=0) THEN X:=X/A IF (A=2) OR (X1) THEN X:=X+1 END; 第18頁,共62頁。開始(A1) A

7、ND (B=0)(A=2) OR (X1)返回X=X/AX=X+1FFTTabdce第19頁,共62頁。(1)語句覆蓋使程序中每個(gè)語句至少執(zhí)行一次第20頁,共62頁。語句覆蓋開始(A1) AND (B=0)(A=2) OR (X1)返回X=X/AX=X+1FFTTabdce第21頁,共62頁。只需設(shè)計(jì)一個(gè)測(cè)試用例:輸入數(shù)據(jù):A=2,B=0,X=4即達(dá)到了語句覆蓋;語句覆蓋是最弱的邏輯覆蓋第22頁,共62頁。(2) 判定覆蓋(分支覆蓋) 使每個(gè)判定的真假分支都至少執(zhí)行一次第23頁,共62頁。判定覆蓋開始(A1) AND (B=0)(A=2) OR (X1)返回X=X/AX=X+1FFTTabdc

8、e第24頁,共62頁。例:可設(shè)計(jì)兩組測(cè)試用例:A=3,B=0 ,X=3 可覆蓋c、d分支 A=2,B=1 ,X=1 可覆蓋b、e分支 兩組測(cè)試用例可覆蓋所有判定的真假分支語句覆蓋仍是弱的邏輯覆蓋第25頁,共62頁。(3)條件覆蓋 使每個(gè)判定的每個(gè)條件的可能取值至少執(zhí)行一次第26頁,共62頁。第一判定表達(dá)式:設(shè)條件 A1 取真 記為 T1 假 T1 條件 B=1 取真 記為 T2 假 T2第二判定表達(dá)式:設(shè)條件 A=2 取真 記為 T3 假 T3 條件 X1 取真 記為 T4 假 T4第27頁,共62頁。條件覆蓋開始(A1) AND (B=0)(A=2) OR (X1)返回X=X/AX=X+1F

9、FTTabdce滿足條件: T1,T1, T2,T2 T3,T3 T4,T4第28頁,共62頁。測(cè)試用例 通過 滿足的 覆蓋A B X 路徑 條件 分支1 0 3 abe T1,T2,T3,T4 b,e2 1 1 abe T1,T2,T3,T4 b,e 兩個(gè)測(cè)試用例覆蓋了四個(gè)條件八種可能取值。未覆蓋c、d分支,不滿足判定覆蓋的要求.條件覆蓋不一定包含判定覆蓋判定覆蓋也不一定包含條件覆蓋第29頁,共62頁。(4)判定/條件覆蓋 選取足夠多的測(cè)試用例,使判斷中的每個(gè)條件的所有可能取值至少執(zhí)行一次,同時(shí)每個(gè)判斷本身的所有可能判斷結(jié)果至少執(zhí)行一次.第30頁,共62頁。判定/條件 覆蓋開始(A1) AN

10、D (B=0)(A=2) OR (X1)返回X=X/AX=X+1FFTTabdce滿足條件: T1,T1, T2,T2 T3,T3 T4,T4第31頁,共62頁。測(cè)試用例 通過 滿足的 覆蓋A B X 路徑 條件 分支2 0 4 ace T1,T2,T3,T4 c,e2 1 1 abd T1,T2,T3,T4 b,d 能同時(shí)滿足判定、條件兩種覆蓋標(biāo)準(zhǔn)的取值。第32頁,共62頁。測(cè)試用例 通過 滿足的 覆蓋A B X 路徑 條件 分支2 0 3 ace T1,T2,T3,T4 c,e2 1 1 abe T1,T2,T3,T4 b,e1 0 3 abe T1,T2,T3,T4 b,e1 1 1 a

11、bd T1,T2,T3,T4 b,d第33頁,共62頁。(5)條件組合覆蓋 所有可能的條件取值組合至少執(zhí)行一次 A1, B=0 A1, B0 A1, B=0 A1, B0 A=2, X1 A=2, X1 A2, X1 A2, X1第34頁,共62頁。測(cè)試用例 通過 滿足的 覆蓋A B X 路徑 條件 分支2 0 4 ace T1,T2,T3,T4 c,e2 1 1 abe T1,T2,T3,T4 b,e1 0 2 abd T1,T2,T3,T4 b,d1 1 1 abd T1,T2,T3,T4 b,d 第35頁,共62頁。(6)路徑覆蓋 覆蓋每一個(gè)可能的路徑測(cè)試用例 通過 滿足的 覆蓋A B

12、X 路徑 條件 分支1 1 1 abd T1,T2,T3,T4 b,d1 1 2 abe T1,T2,T3,T4 b,e3 0 1 acd T1,T2,T3,T4 c,d2 0 4 ace T1,T2,T3,T4 c,e第36頁,共62頁。17.4 基本路徑測(cè)試法 通過分析由控制構(gòu)造的環(huán)路的復(fù)雜性,導(dǎo)出基本路徑集合,從而設(shè)計(jì)測(cè)試用例,保證這些路徑至少通過一次。 基本路徑測(cè)試步驟: 導(dǎo)出程序流程圖的拓?fù)浣Y(jié)構(gòu)-流圖(程序圖) 計(jì)算流圖G的環(huán)路復(fù)雜度V(G) 確定只包含獨(dú)立路徑的基本路徑集 設(shè)計(jì)測(cè)試用例第37頁,共62頁。導(dǎo)出程序流程圖的拓?fù)浣Y(jié)構(gòu)-流圖12,364,571011a節(jié)點(diǎn)邊R4區(qū)域123

13、45876911程序流程圖89R1R2R310第38頁,共62頁。 在上圖中,每一個(gè)圓稱為流圖的節(jié)點(diǎn),它代表一個(gè)或多個(gè)過程語句。一個(gè)處理方框序列和一個(gè)菱形決策框可被映射為一個(gè)節(jié)點(diǎn),流圖中的箭頭稱為邊或連接,它代表控制流,類似流程圖中的箭頭。一條邊必須終止于一個(gè)節(jié)點(diǎn),即使該節(jié)點(diǎn)并不代表任何語句。由邊和節(jié)點(diǎn)限定的區(qū)稱為區(qū)域。計(jì)算區(qū)域時(shí)應(yīng)包括圖外部區(qū),將其作為一個(gè)區(qū)域。第39頁,共62頁。計(jì)算流圖G的環(huán)路復(fù)雜度V(G) V(G)=區(qū)域個(gè)數(shù)=4 V(G)=邊的條數(shù)-節(jié)點(diǎn)個(gè)數(shù)+2=4 V(G)=判定節(jié)點(diǎn)個(gè)數(shù)+1=4V(G)的值提供了組成基本集的獨(dú)立路徑的上界,并由此得出覆蓋所有程序語句所需的測(cè)試數(shù)量的上

14、界。獨(dú)立路徑指程序中至少引進(jìn)一個(gè)新的處理語句集合或一個(gè)新條件的任一路徑。即獨(dú)立路徑必須至少沿一條在定義該路徑之前不曾用到的邊移動(dòng)。17.4.2 環(huán)復(fù)雜度第40頁,共62頁。確定只包含獨(dú)立路徑的基本路徑集path1:1-11path1:1-2-3-4-5-10-1-11path1:1-2-3-6-8-9-10-1-11path1:1-2-3-6-7-9-10-1-11 一條新路徑必須包含一條新邊。 這4條路徑組成了一個(gè)基本路徑集。4(環(huán)路復(fù)雜度V(G)是構(gòu)成這個(gè)基本路徑集的獨(dú)立路徑數(shù)的上界,也是設(shè)計(jì)測(cè)試用例的數(shù)目。 設(shè)計(jì)測(cè)試用例,保證基本路徑集中每條路徑的執(zhí)行。第41頁,共62頁。17.4.4

15、圖矩陣圖矩陣是一個(gè)正方形矩陣,其大?。戳袛?shù)和行數(shù))等于流圖的節(jié)點(diǎn)數(shù)。aedcbfg12345 1 2 3 4 5 1 2 3 4 5 a b d c f g e節(jié)點(diǎn)連接到節(jié)點(diǎn)對(duì)每個(gè)矩陣項(xiàng)加入連接權(quán)值,圖矩陣即可用于在測(cè)試中評(píng)估程序的控制結(jié)構(gòu)。連接權(quán)值為控制流提供了附加的信息。最簡(jiǎn)單的情況:連接權(quán)值是1(存在連接)或0(不存在連接)。第42頁,共62頁。17.5 控制結(jié)構(gòu)測(cè)試條件測(cè)試:檢查程序模塊中所包含邏輯條 件的測(cè)試案例設(shè)計(jì)方法。數(shù)據(jù)流測(cè)試:按照程序中的變量定義和使 用的位置來選擇程序的測(cè)試 路徑。循環(huán)測(cè)試:注重于循環(huán)構(gòu)成元素的有效性。第43頁,共62頁。17.5.1 條件測(cè)試可能的條件的

16、成分類型包括:布爾運(yùn)算符、布爾變量、布爾括弧、關(guān)系運(yùn)算符或算術(shù)表達(dá)式。條件測(cè)試策略有多種:分支測(cè)試:對(duì)于復(fù)合條件C,C的真分支和假分支 以及C中的每個(gè)簡(jiǎn)單條件都需要至少執(zhí)行一次。域測(cè)試:要求從有理表達(dá)式中導(dǎo)出三個(gè)或四個(gè)測(cè) 試,有理表達(dá)式的形式:E1E2,需 要三個(gè)測(cè)試分別使E1的值大于、等于或小于E2的 值。第44頁,共62頁。17.5.1 條件測(cè)試分支與關(guān)系運(yùn)算符(BRO)測(cè)試:保證檢測(cè)布爾 變量和關(guān)系運(yùn)算符只出現(xiàn)一次而且沒有公共變量 的條件中的分支和關(guān)系運(yùn)算符錯(cuò)誤。 BRO策略利用條件C的條件約束。有n個(gè)簡(jiǎn)單條件 的條件C的條件約束定義為(D1,D2,Dn), 其中Di刻畫條件C中第I個(gè)簡(jiǎn)

17、單條件的輸出約束。 如果C的執(zhí)行過程中C的每個(gè)簡(jiǎn)單條件的輸出都滿 足D中對(duì)應(yīng)的約束,則稱條件C的條件約束D由C的 執(zhí)行所覆蓋。第45頁,共62頁。BRO測(cè)試舉例:例1:C1:B1&B2 B1,B2為布爾變量。C1的條件約束形如(D1,D2),其中D1和D2的值是t或f。BRO測(cè)試策略要求約束集(t,t),(f,t),(t,f)由C1的執(zhí)行所覆蓋,如果C1由于布爾運(yùn)算符錯(cuò)誤而不正確,該約束集中至少有一個(gè)約束強(qiáng)制C1失敗。例2:C2:B1&(E3=E4)(t,=),(f,=),(t,),此約束集的覆蓋率將保證檢測(cè)C2的布爾運(yùn)算符和關(guān)系運(yùn)算符錯(cuò)誤。第46頁,共62頁。17.5.2 數(shù)據(jù)流測(cè)試設(shè)程序的

18、每條語句都賦予了獨(dú)特的語句號(hào)而且每個(gè)函數(shù)都不改變其參數(shù)和全局變量。對(duì)于語句號(hào)為S的語句,DEF(S)=X|語句S包含X的定義USE(S)=X|語句S包含X的使用若語句S是if或循環(huán)語句,它的DEF集為空而USE集取決于S的條件。如果存在從S到S的路徑并該路徑不含X的其他定義,則稱變量X在語句S處的定義在語句S仍有效。變量X的定義-使用鏈(DU鏈)形如X,S,S,X在DEF(S)和USE(S)中,而且語句S定義的X在語句S有效。第47頁,共62頁。17.5.2 數(shù)據(jù)流測(cè)試DU測(cè)試策略:要求覆蓋每個(gè)DU鏈至少一次。數(shù)據(jù)流測(cè)試策略可用于為包含嵌套if和循環(huán)語句的程序選擇測(cè)試路徑。它能有效地發(fā)現(xiàn)錯(cuò)誤,但它的覆蓋率的測(cè)量和路徑選擇比條件測(cè)試更為困難。第48頁,共62頁。17.5.3 循環(huán)測(cè)試四種循環(huán)如下:簡(jiǎn)單循環(huán):下列測(cè)試集可用于簡(jiǎn)單循環(huán)。1) 整個(gè)跳過循環(huán);2) 只

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論