《軟件測(cè)試技術(shù)》PPT課件.ppt
《《軟件測(cè)試技術(shù)》PPT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《軟件測(cè)試技術(shù)》PPT課件.ppt(62頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第 17章 軟件測(cè)試技術(shù) 軟 件 工 程 第 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 圖矩陣 第 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à)劃
2、分 17.6.3 邊界值分析 17.6.4 比較測(cè)試 17.6.5 正交數(shù)組測(cè)試 第 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é) 第 17章 軟件測(cè)試技術(shù) 軟件開發(fā)過程必須伴有質(zhì)量保證活動(dòng) 軟件測(cè)試是軟件質(zhì)量保證的關(guān)鍵元素, 代表了規(guī)約、設(shè)計(jì)和編碼的最終檢查。 17.1.1 測(cè)試目標(biāo) 1.測(cè)試是為了尋找錯(cuò)誤而運(yùn)行程序的過程。 2.一個(gè)好的測(cè)試用例是指很可能找到迄今為 止尚
3、未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。 3.一個(gè)成功的測(cè)試是揭示了迄今為止尚未發(fā) 現(xiàn)的錯(cuò)誤的測(cè)試。 17.1.2 測(cè)試原則 (1)所有的測(cè)試都應(yīng)追溯到用戶需求, 程序中的問題根源 可能在開發(fā)前期的 各階段解決、糾正錯(cuò)誤也必須追溯到 前期工作。 測(cè) 試 與 開 發(fā) 前 期 工 作 的 關(guān) 系 決定軟件與系統(tǒng)的配合關(guān)系 需求分析 概要設(shè)計(jì) 詳細(xì)設(shè)計(jì) 編 碼 單元測(cè)試 集成測(cè)試 確認(rèn)測(cè)試 系統(tǒng)測(cè)試 開發(fā)前期出現(xiàn)錯(cuò)誤的擴(kuò)展 計(jì)劃 需求 分析 設(shè) 計(jì) 編 碼 測(cè) 試 A B 軟件生存期各階段間需保持的正確性 用戶要求 用戶 : 我要什么 ? 運(yùn)行結(jié)果
4、計(jì)算機(jī) : 程序運(yùn)行得 到的結(jié)果 源程序 程序員 : 我要讓計(jì)算 機(jī)什么做 ? 設(shè)計(jì)說明書 設(shè)計(jì)員 : 我要讓軟件 做什么 ? 需求說明書 分析員 : 我可以提 供什么 ? 1 2 3 4 5 理解正確性 表達(dá)正確性 理解正確性 設(shè)計(jì)正確性 表達(dá)正確性 理解正確性 編碼正確性 運(yùn)行正確性 輸入正確性 相符嗎 ? 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ú)立的第
5、三方來構(gòu)造測(cè)試 17.1.3 可測(cè)試性 可測(cè)試軟件的特征: 可操作性 可觀察性 可控制性 可分解性 簡(jiǎn)單性 穩(wěn)定性 易理解性 “好 ” 測(cè)試的屬性: 發(fā)現(xiàn)錯(cuò)誤的可能性高 不冗余 在目的相似的測(cè)試中,應(yīng)使用最可能找到所 有錯(cuò)誤的測(cè)試 一個(gè)好測(cè)試不會(huì)太簡(jiǎn)單,也不會(huì)太復(fù)雜。每 一個(gè)測(cè)試應(yīng)獨(dú)立執(zhí)行 軟件測(cè)試有關(guān)概念 測(cè)試中用到的模型元素( UML類圖) 測(cè)試組 測(cè)試用例 故 障 組 件 測(cè)試存根 測(cè)試驅(qū)動(dòng)程序 誤 差 錯(cuò) 誤 改 正 由 修改 由 引起 由 引起 找出 使用 修改 1 n * * * * * * * * * * *
6、 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)的輸出 17.3 白盒測(cè)試 又稱 :開盒測(cè)試、結(jié)構(gòu)測(cè)試、玻璃盒測(cè)試、基于覆蓋 的測(cè)試。根據(jù)被測(cè)程序的邏輯結(jié)構(gòu)設(shè)計(jì)測(cè)試用 例,力求提高測(cè)試覆蓋率。 使用白盒測(cè)試,產(chǎn)生的測(cè)試案例可以: 1) 保證一個(gè)模塊中的所有獨(dú)立路徑至少被使用一次; 2)
7、 對(duì)所有邏輯值均需測(cè)試真和假; 3) 在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán); 4) 檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)以確保其有效性。 白盒測(cè)試的測(cè)試用例設(shè)計(jì) 邏輯覆蓋法 (1)語句覆蓋 (2)判定覆蓋 (3)條件覆蓋 (4)判定 /條件覆蓋 (5)條件組合覆蓋 (6)路徑覆蓋 (7)點(diǎn)覆蓋 (8)邊覆蓋 例 :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
8、END; 開始 (A1) AND (B=0) (A=2) OR (X1) 返回 X=X/A X=X+1 F F T T a b d c e (1)語句覆蓋 使程序中每個(gè)語句至少執(zhí)行一次 語句覆蓋 開始 (A1) AND (B=0) (A=2) OR (X1) 返回 X=X/A X=X+1 F F T T a b d c e 只需設(shè)計(jì)一個(gè)測(cè)試用例 : 輸入數(shù)據(jù): A=2, B=0, X=4 即達(dá)到了語句覆蓋 ; 語句覆蓋是 最弱 的邏輯覆蓋 (2) 判定覆蓋 (分支覆蓋 ) 使每個(gè)判定的真假分支都至少執(zhí)行一次 判定覆蓋 開始 (A1) AND
9、(B=0) (A=2) OR (X1) 返回 X=X/A X=X+1 F F T T a b d c e 例 :可設(shè)計(jì)兩組測(cè)試用例 : A=3, B=0 , X=3 可覆蓋 c、 d分支 A=2, B=1 , X=1 可覆蓋 b、 e分支 兩組測(cè)試用例可覆蓋所有判定的真假分支 語句覆蓋仍是 弱 的邏輯覆蓋 (3)條件覆蓋 使每個(gè)判定的每個(gè)條件的可能取值 至少 執(zhí)行一次 第一判定表達(dá)式 : 設(shè) 條件 A1 取真 記為 T1 假 T1 條件 B=1 取真 記為 T2 假 T2 第二判定表達(dá)式 : 設(shè) 條件 A=2 取真 記為 T3
10、 假 T3 條件 X1 取真 記為 T4 假 T4 條件覆蓋 開始 (A1) AND (B=0) (A=2) OR (X1) 返回 X=X/A X=X+1 F F T T a b d c e 滿足條件 : T1,T1, T2,T2 T3,T3 T4,T4 測(cè)試用例 通過 滿足的 覆蓋 A B X 路徑 條件 分支 1 0 3 abe T1,T2,T3,T4 b,e 2 1 1 abe T1,T2,T3,T4 b,e
11、兩個(gè)測(cè)試用例 覆蓋了四個(gè)條件八種可能取值。 未覆蓋 c、 d分支 ,不滿足判定覆蓋的要求 . 條件覆蓋不一定包含判定覆蓋 判定覆蓋也不一定包含條件覆蓋 (4)判定 /條件覆蓋 選取足夠多的測(cè)試用例 , 使判斷中的 每個(gè)條件的所有可能取值至少執(zhí)行一次 , 同時(shí)每個(gè)判斷本身的所有可能判斷結(jié)果 至少執(zhí)行一次 . 判定 /條件 覆蓋 開始 (A1) AND (B=0) (A=2) OR (X1) 返回 X=X/A X=X+1 F F T T a b d c e 滿足條件 : T1,T1, T2,T2 T3,T3
12、 T4,T4 測(cè)試用例 通過 滿足的 覆蓋 A B X 路徑 條件 分支 2 0 4 ace T1,T2,T3,T4 c,e 2 1 1 abd T1,T2,T3,T4 b,d 能同時(shí)滿足判定、條件兩種覆蓋標(biāo)準(zhǔn) 的取值。 測(cè)試用例 通過 滿足的 覆蓋 A B X 路徑 條件 分支 2 0 3 ace T1,T2,T3,T4 c,e 2 1 1 abe T1,T2,T3,T4 b,e 1 0 3 abe T1,T2,T3,T4 b,e 1 1 1 abd T1,T2,T3,T4 b,d (5)條件組合覆
13、蓋 所有可能的條件取值組合至少執(zhí)行一次 A1, B=0 A1, B0 A 1, B=0 A 1, B0 A=2, X1 A=2, X 1 A2, X1 A2, X 1 測(cè)試用例 通過 滿足的 覆蓋 A B X 路徑 條件 分支 2 0 4 ace T1,T2,T3,T4 c,e 2 1 1 abe T1,T2,T3,T4 b,e 1 0 2 abd T1,T2,T3,T4 b,d 1 1 1 abd T1,T2,T3,T4 b,d (6)路徑覆蓋 覆蓋每一個(gè)可能的路徑 測(cè)試用例 通過 滿足的
14、覆蓋 A B X 路徑 條件 分支 1 1 1 abd T1,T2,T3,T4 b,d 1 1 2 abe T1,T2,T3,T4 b,e 3 0 1 acd T1,T2,T3,T4 c,d 2 0 4 ace T1,T2,T3,T4 c,e 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è)試用例 導(dǎo)出程序流程圖的拓
15、撲結(jié)構(gòu) -流圖 1 2,3 6 4,5 7 10 11 a 節(jié)點(diǎn) 邊 R4 區(qū)域 1 2 3 4 5 8 7 6 9 11 程序流程圖 8 9 R1 R2 R3 10 在上圖中,每一個(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ū)域。 計(jì)算流圖 G的環(huán)路復(fù)雜度 V(G) V(G)=區(qū)域個(gè)數(shù) =4 V(G)=邊的條數(shù) -
16、節(jié)點(diǎn)個(gè)數(shù) +2=4 V(G)=判定節(jié)點(diǎn)個(gè)數(shù) +1=4 V(G)的值提供了組成基本集的獨(dú)立路徑的上界 ,并由 此得出覆蓋所有程序語句所需的測(cè)試數(shù)量的上界。 獨(dú)立路徑 指程序中至少引進(jìn)一個(gè)新的處理語句集合或 一個(gè)新條件的任一路徑。即獨(dú)立路徑必須至少沿一條 在定義該路徑之前不曾用到的邊移動(dòng)。 17.4.2 環(huán)復(fù)雜度 確定只包含獨(dú)立路徑的基本路徑集 path1:1-11 path1:1-2-3-4-5-10-1-11 path1:1-2-3-6-8-9-10-1-11 path1:1-2-3-6-7-9-10-1-11 一條新路徑必須包含一條新邊。 這 4條路徑組成了一個(gè)基
17、本路徑集。 4(環(huán) 路復(fù)雜度 V(G))是構(gòu)成這個(gè)基本路徑集的獨(dú)立 路徑數(shù)的上界,也是設(shè)計(jì) 測(cè)試用例的數(shù)目。 設(shè)計(jì)測(cè)試用例,保證基本路徑集中每條 路徑的執(zhí)行。 17.4.4 圖矩陣 圖矩陣是一個(gè)正方形矩陣,其大?。戳袛?shù)和行數(shù)) 等于流圖的節(jié)點(diǎn)數(shù)。 a e d c b f g 1 2 3 4 5 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
18、(不存在連接)。 17.5 控制結(jié)構(gòu)測(cè)試 條件測(cè)試:檢查程序模塊中所包含邏輯條 件的測(cè)試案例設(shè)計(jì)方法。 數(shù)據(jù)流測(cè)試:按照程序中的變量定義和使 用的位置來選擇程序的測(cè)試 路徑。 循環(huán)測(cè)試:注重于循環(huán)構(gòu)成元素的有效性。 17.5.1 條件測(cè)試 可能的條件的成分類型包括:布爾運(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è) 試
19、,有理表達(dá)式的形式: E1E2,需 要三個(gè)測(cè)試分別使 E1的值大于、等于或小于 E2的 值。 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)單條件的輸出約束。 如果 C的執(zhí)行過程中 C的每個(gè)簡(jiǎn)單條件的輸出都滿 足 D中對(duì)應(yīng)的約束,則稱條件 C的條件約束 D由 C的 執(zhí)行所覆蓋。 BRO測(cè)試舉例 :
20、 例 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ò)誤。 17.5.2 數(shù)據(jù)流測(cè)試 設(shè)程序的每條語句都賦予了獨(dú)特的語句號(hào)而且每個(gè)函 數(shù)都不改變其參數(shù)和全局變量。對(duì)于語句號(hào)為 S的語句, DEF( S) =X
21、|語句 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有效。 17.5.2 數(shù)據(jù)流測(cè)試 DU測(cè)試策略:要求覆蓋每個(gè) DU鏈至少一次。 數(shù)據(jù)流測(cè)試策略可用于為包含嵌套 if和循環(huán)語句的 程序選擇測(cè)試路徑。 它能有效地發(fā)現(xiàn)錯(cuò)誤,但它的 覆蓋率的
22、測(cè)量和路徑選擇比條件測(cè)試更為困難。 17.5.3 循環(huán)測(cè)試 四種循環(huán)如下: 簡(jiǎn)單循環(huán) :下列測(cè)試集可用于簡(jiǎn)單循環(huán)。 1) 整個(gè)跳過循環(huán); 2) 只有一次通過循環(huán); 3) 兩次通過循環(huán); 4) m次通過循環(huán),其中 m100 無效等價(jià)類 成績(jī) <0 ( )如果輸入條件需要 特定的值 ,可定義 一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類。 劃分等價(jià)類的規(guī)則 (3)如果輸入條件代表 集合 的某個(gè)元素, 則可定義一個(gè)有效等價(jià)類和一個(gè)無效 等價(jià)類。 劃分等價(jià)類的規(guī)則 (4)如果輸入條件是 布爾 , 可定義一個(gè) 有效等價(jià)類和一個(gè)無效等價(jià)類 。 劃分等價(jià)類的
23、規(guī)則 17.7 針對(duì)專門環(huán)境、體系結(jié)構(gòu)和應(yīng)用的測(cè)試 常見 GUI測(cè)試指南: 對(duì)于窗口 對(duì)于菜單和鼠標(biāo)操作 對(duì)于數(shù)據(jù)項(xiàng) 17.7.1 測(cè)試 GUI 17.7.2 客戶 /服務(wù)器體系結(jié)構(gòu)的測(cè)試 整體 C/S測(cè)試策略 (三個(gè)不同層次 ) 客戶端應(yīng)以 “ 分離的 ” 模式被測(cè)試 (不考慮 服務(wù)器和底層網(wǎng)絡(luò)的運(yùn)行 ) 客戶端軟件和關(guān)聯(lián)的服務(wù)器端應(yīng)用被一起 測(cè)試 (網(wǎng)絡(luò)運(yùn)行不被明顯考慮 ) 完整的 C/S體系結(jié)構(gòu) (包括網(wǎng)絡(luò)運(yùn)行和性能 ) 被測(cè)試 17.7.3 測(cè)試文檔和幫助設(shè)施 文檔測(cè)試兩個(gè)階段: 評(píng)審和審查 活性測(cè)試 可采用以下四步策略: (1) 任務(wù)測(cè)試 (2) 行為測(cè)試 (3) 任務(wù)間測(cè)試 (4) 系統(tǒng)測(cè)試 17.7.4 實(shí)時(shí)系統(tǒng)測(cè)試 17.8 小結(jié) 白盒測(cè)試注重于程序控制結(jié)構(gòu)。 (小規(guī)模測(cè)試 ) 黑盒測(cè)試被設(shè)計(jì)來確認(rèn)功能需求,而不考慮 程序的內(nèi)部工作。 (大規(guī)模測(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 火力發(fā)電廠各設(shè)備的主要作用大全
- 3.高壓電工考試判斷練習(xí)題含答案
- 企業(yè)電氣防爆知識(shí)
- 13 低壓電工電工作業(yè)模擬考試題庫試卷含答案
- 電氣設(shè)備維修的十項(xiàng)原則
- 2.電氣電纜與直流模擬考試復(fù)習(xí)題含答案
- 電氣節(jié)能措施總結(jié)
- 2.電氣電機(jī)(一)模擬考試復(fù)習(xí)題含答案
- 接地電阻測(cè)量原理與測(cè)量方法
- 3.高壓電工作業(yè)模擬考試題庫試卷含答案
- 礦山維修電工安全技術(shù)操作規(guī)程
- 電工基礎(chǔ)口訣總結(jié)
- 3.某電廠值長(zhǎng)面試題含答案解析
- 電工基礎(chǔ)知識(shí)順口溜
- 配電系統(tǒng)詳解