第5章集成測試_第1頁
第5章集成測試_第2頁
第5章集成測試_第3頁
第5章集成測試_第4頁
第5章集成測試_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第第5章章 集成測試集成測試5.1 集成測試概述集成測試概述5.1.1 集成測試的概念 集成(Integration)是指把多個單元組合起來形成更大的單元。 集成測試(Integration Testing)是在假定各個軟件單元已經通過了單元測試的前提下,檢查各個軟件單元之間的相互接口是否正確。 5.1 集成測試概述集成測試概述 集成測試主要關注下列問題: (1)模塊間的數據傳遞是否正確? (2)一個模塊的功能是否會對另一個模塊的功能產生錯誤的影響? (3)全局數據結構是否有問題,會不會被異常修改? (4)塊組合起來的功能能否滿足要求? (5)集成后,各個模塊的累積誤差是否會擴大,是否達到不可

2、接受的程度? 5.1 集成測試概述集成測試概述 需求分析 概要設計 詳細設計 編碼 單元測試 集成測試 系統測試 需求分析 概要設計 詳細設計 編碼 單元測試 集成測試 系統測試 圖 5.1 軟件開發的 V 模型 5.1 集成測試概述集成測試概述5.1 集成測試概述集成測試概述 5.1.2 集成測試與系統測試的區別集成測試與系統測試的區別 (1)測試對象。 (2)測試時間。 (3)測試方法。 (4)測試內容。 (5)測試目的。 (6)測試角度。 5.1 集成測試概述集成測試概述 5.1.3 集成測試與開發的關系集成測試與開發的關系 集成測試是和軟件開發過程中的概要設計階段相對應的,而在軟件概要

3、設計中關于整個系統的體系結構就是集成測試用例輸入的基礎。 5.1 集成測試概述集成測試概述 5.1.4 集成測試的層次與原則集成測試的層次與原則 1集成測試的層次集成測試的層次 對于傳統軟件來說,按集成粒度不同,可以把集成測試分為3個層次,即: (1)模塊間集成測試 (2)子系統內集成測試 (3)子系統間集成測試 對于面向對象的應用系統來說,按集成粒度不同,可以把集成測試分為2個層次: (1)類內集成測試 (2)類間集成測試 5.1 集成測試概述集成測試概述 5.1.4 集成測試的層次與原則集成測試的層次與原則 2集成測試的原則集成測試的原則 (1)所有公共接口必須被測試到; (2)關鍵模塊必

4、須進行充分測試; (3)集成測試應當按一定層次進行; (4)集成測試策略選擇應當綜合考慮質量、成本和進度三者之間的關系; (5)集成測試應當盡早開始,并以概要設計為基礎; (6)在模塊和接口的劃分上,測試人員應該和開發人員進行充分溝通; (7)當測試計劃中的結束標準滿足時,集成測試才能結束; (8)當接口發生修改時,涉及到的相關接口都必須進行回歸測試; (9)集成測試應根據集成測試計劃和方案進行,不能隨意測試; (10)項目管理者應保證測試用例經過審核; (11)測試執行結果應當如實的記錄。 5.2 集成測試策略集成測試策略 5.2.1 非漸增式集成非漸增式集成 非漸增式集成方法首先對每個子模

5、塊進行測試(即單元測試),然后將所有模塊全部集成起來一次性進行集成測試。 【例5.1】 對如圖5.3所示的程序,采用非漸增式集成方法進行集成測試。ABCDEFG 圖5.3 程序結構圖5.2 集成測試策略集成測試策略 測試A測試B測試C測試D測試E測試F測試G測試(A、B、CD、E、F、G) 圖5.4 非漸增式集成5.2 集成測試策略集成測試策略 5.2.2 漸增式集成漸增式集成 漸增式集成與“一步到位”的非漸增式集成相反,它把程序劃分成小段來構造和測試,在這個過程中比較容易定位和改正錯誤;對接口可以進行更徹底的測試;可以使用系統化的測試方法。因此。目前在進行集成測試時普遍采用漸增式集成方法。

6、當使用漸增方式把模塊結合到程序中去時,有自頂向下和自底向上兩種集成策略。 5.2 集成測試策略集成測試策略 1自頂向下集成自頂向下集成 自頂向下集成方法是一個日益為人們廣泛采用的測試和組裝軟件的途徑。從主控制模塊開始,沿著程序的控制層次向下移動,逐漸把各個模塊結合起來。在把附屬于(及最終附屬于)主控制模塊的那些模塊組裝到程序結構中去,或者使用深度優先的策略,或者使用寬度優先的策略。 【例【例5.2】對如圖5.3所示的程序,采用自頂向下集成方法,按照深度優先方式進行集成測試。 5.2 集成測試策略集成測試策略 ASBSCSD(a)測試AABSCSDSESF (b)測試BABCSDEFSG (e)

7、測試CABCSDEFG (f)測試GABCDEFG(g)測試DABSCSDESF (c)測試EABSCSDEF (d)測試F圖5.5 自頂向下集成5.2 集成測試策略集成測試策略 2自底向上集成自底向上集成 自底向上測試從“原子”模塊(即在軟件結構最底層的模塊)開始組裝和測試。因為是從底部向上結合模塊,總能得到所需的下層模塊處理功能,所以不需要樁模塊。 【例【例5.3】對如圖5.3所示的程序,采用自底向上集成方法,按照深度優先方式進行集成測試。5.2 集成測試策略集成測試策略 測試E測試F測試G測試D測試(A、B、CD、E、F、G) 圖5.6 自底向上集成測試(B、E、F)測試(C、G)5.2

8、 集成測試策略集成測試策略 5.2.3 三明治集成三明治集成 三明治集成是一種混合增量式測試策略,綜合了自頂向下和自底向上兩種集成方法的優點。這種方法樁模塊和驅動模塊的開發工作都比較小,不過代價是在一定程度上增加了定位缺陷的難度。 【例5.4】對如圖5.3所示的程序,以B模塊所在層為界,采用三明治集成方法進行集成測試。5.2 集成測試策略集成測試策略 測試E測試F測試G測試A測試(A、B、CD、E、F、G) 圖5.7 三明治集成測試(B、E、F)測試(C、G)5.3 集成測試用例設計集成測試用例設計 1為系統運行設計用例為系統運行設計用例 可使用的主要測試分析技術有: (1)等價類劃分。 (2

9、)邊界值分析。 (3)基于決策表的測試。 5.3 集成測試用例設計集成測試用例設計 2為正向測試設計用例為正向測試設計用例可是用如下幾種主要測試分析技術: (1)輸入域測試。 (2)輸出域測試。 (3)等價類劃分。 (4)狀態轉換測試。 (5)規范導出法。 5.3 集成測試用例設計集成測試用例設計 3為逆向測試設計用例為逆向測試設計用例 可使用的主要測試分析技術有: (1)錯誤猜測法。 (2)基于風險的測試。 (3)基于故障的測試。 (4)邊界值分析。 (5)特殊值測試。 (6)狀態轉換測試。 5.3 集成測試用例設計集成測試用例設計 4為滿足特殊需求設計用例 可使用的主要測試分析技術為規范導

10、出法。 5為高覆蓋設計用例 可使用的主要測試分析技術有: (1)功能覆蓋分析。 (2)接口覆蓋分析。 5.4 集成測試過程集成測試過程 一個測試從開發到執行遵循一個過程,不同的組織對這個過程的定義會有所不同。根據集成測試不同階段的任務,可以把集成測試劃分為5個階段:計劃階段、設計階段、實施階段、執行階段、評估階段。 制定集成測試計劃設計集成測試實施集成測試執行集成測試評估集成測試圖5.8 集成測試過程5.4 集成測試過程集成測試過程 1計劃階段計劃階段 (1)確定被測試對象和測試范圍。 (2)評估集成測試被測試對象的數量及難度,即工作量。 (3)確定角色分工和劃分工作任務。 (4)表識出測試各

11、個階段的時間、任務、約束條件。 (5)考慮一定的風險分析機應急計劃。 (6)考慮和準備集成測試需要的測試工具、測試儀器、環境等資源。 (7)考慮外部技術支援的力度和深度,以及相關培訓安排;定義測試完成標準。 5.4 集成測試過程集成測試過程 2設計階段設計階段 (1)被測對象結構分析。 (2)集成測試模塊分析。 (3)集成測試接口分析。 (4)集成測試策略分析。 (5)集成測試工具分析。 (6)集成測試環境分析。 (7)集成測試工作量估計和安排。5.4 集成測試過程集成測試過程 3實施階段實施階段 (1)集成測試用例設計。 (2)集成測試規程設計。 (3)集成測試代碼設計。 (4)集成測試腳本

12、開發。 (5)集成測試工具開發或選擇。5.4 集成測試過程集成測試過程 4執行階段執行階段 測試人員在單元測試完成以后就可以執行集成測試。當然,須按照相應的測試規程,借助集成測試工具,并把需求規格說明書、概要設計、集成測試計劃、集成測試設計、集成測試用例、集成測試規程、集成測試代碼、集成測試腳本作為測試執行的依據來執行集成測試用例。測試執行的前提條件就是單元測試已經通過評審。當測試執行結束后,測試人員要記錄下每個測試用例之行后的結果,填寫集成測試報告,最后提交給相關人員評審。 5.4 集成測試過程集成測試過程 5評估階段評估階段 當集成測試執行結束后,要召集相關人員,如:測試設計人員、編碼人員

13、、系統設計人員等隊測試結果進行評估,確定是否通過集成測試。 5.5 面向對象的集成測試面向對象的集成測試 5.5.1對象交互對象交互 匯集類測試匯集類測試 可以使用測試原始類的方法來測試匯集類,測試驅動程序要創建一些實例,這些實例作為消息中的參數被傳遞給一個正在測試的集合。測試的目的主要是保證那些實例被正確從集合中移出。有些測試用例會說明集合對其容量所做的限制。假如在實際應用中可能要加入40或50條信息,那么生成的測試用例至少要增加50條信息。如果無法估算出一個有代表性的上限,那么就使用集合中的大量對象進行測試。5.5 面向對象的集成測試面向對象的集成測試 協作類測試協作類測試 凡不是匯集類的

14、非原始類就是協作類,該類的一個或多個操作中使用其他的對象并將其作為它們的實現中不可缺少的一部分。當類接口中的一個操作的某個后置條件引用了一具對象的實例狀態,并且(或者)說明那個對象的某個屬性被使用或修改了,那么這個類就是一個協作類。協作類測試的復雜性遠遠高于匯集類或原始類的測試。5.5 面向對象的集成測試面向對象的集成測試 5.5.2面向對象集成測試的常用方法面向對象集成測試的常用方法 1抽樣測試抽樣測試 抽樣測試提供了一種運算法則,它使我們能夠從一組可能的測試用例中選擇一個測試序列。但并不要求一定要首先明確如何來確定測試用例的總體。測試過程的目的在于定義感興趣的測試總體,然后定義一種方法,以便在這些測試用例中選擇哪些被構建、哪些被執行。 2. 正交陣列測試正交陣列測試

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論