軟件測試第六章--集成測試_第1頁
軟件測試第六章--集成測試_第2頁
軟件測試第六章--集成測試_第3頁
軟件測試第六章--集成測試_第4頁
軟件測試第六章--集成測試_第5頁
已閱讀5頁,還剩65頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、集成測試 內(nèi)容 一一引言引言 二二基本概念基本概念 三三集成測試的目的集成測試的目的 四四集成測試的層次集成測試的層次 五五集成測試方法集成測試方法 六六集成策略集成策略 一、引言一、引言 l單元測試后問題出現(xiàn)了單元測試后問題出現(xiàn)了 l軟件在系統(tǒng)集成時會經(jīng)常有這樣的情況發(fā)軟件在系統(tǒng)集成時會經(jīng)常有這樣的情況發(fā) 生:即每個模塊都能單獨工作生:即每個模塊都能單獨工作 ,但這些模,但這些模 塊集成在一起之后卻不能正常工作;或是塊集成在一起之后卻不能正常工作;或是 系統(tǒng)集成后雖可以正常運行,但系統(tǒng)的容系統(tǒng)集成后雖可以正常運行,但系統(tǒng)的容 錯性、安全性以及整體性卻得不到保障,錯性、安全性以及整體性卻得不到

2、保障, 系統(tǒng)不能長時間運行等等。這就需要進行系統(tǒng)不能長時間運行等等。這就需要進行 集成測試和系統(tǒng)測試集成測試和系統(tǒng)測試 ,以找出其中的軟件,以找出其中的軟件 缺陷,來提高整個軟件的質量和可靠性。缺陷,來提高整個軟件的質量和可靠性。 一、基本概念一、基本概念 l集成測試集成測試又稱組裝測試,是在單元測試的 基礎上,將所有模塊按照設計要求組裝成 子系統(tǒng)或系統(tǒng)進行的測試活動。 l又稱子系統(tǒng)測試、聯(lián)合測試。 5 被測被測 模塊模塊單元單元 測試測試 設計設計 信息信息 集成集成 測試測試 被測被測 模塊模塊 單元單元 測試測試 被測被測 模塊模塊 單元單元 測試測試 測試過測試過 的模塊的模塊 確認確

3、認 測試測試 系統(tǒng)系統(tǒng) 測試測試 軟件軟件 需求需求 其它系其它系 統(tǒng)元素統(tǒng)元素 裝配好裝配好 的軟件的軟件 確認確認 的軟件的軟件 可運可運 行的行的 軟件軟件 6 集成集成 測試測試 系統(tǒng)系統(tǒng) 測試測試 單元單元 測試測試 灰盒測試灰盒測試, 采用較多黑采用較多黑 盒方法構造盒方法構造 測試用例測試用例 黑盒測試黑盒測試 大量采用大量采用白白 盒測試盒測試方法方法 測試方法測試方法 模塊間模塊間的的 集成和調集成和調 用關系用關系 整個系統(tǒng)整個系統(tǒng), 包括系統(tǒng)包括系統(tǒng) 軟硬件等軟硬件等 模塊內(nèi)部模塊內(nèi)部 程序錯誤程序錯誤 對象對象 找出與軟件設計相找出與軟件設計相 關的程序結構,模關的程序

4、結構,模 塊調用關系,模塊塊調用關系,模塊 間接口方面的問題間接口方面的問題 對整個系統(tǒng)進行一對整個系統(tǒng)進行一 系列的整體、有效系列的整體、有效 性測試性測試 消除局部模塊邏輯消除局部模塊邏輯 和功能上的錯誤和和功能上的錯誤和 缺陷缺陷 目的目的 系統(tǒng)結構設計系統(tǒng)結構設計 目標說明書目標說明書 需求說明書等需求說明書等 程序結構設計程序結構設計 模塊邏輯設計模塊邏輯設計 模塊外部說明模塊外部說明 測試依據(jù)測試依據(jù) 三、集成測試的目的三、集成測試的目的 l確保各單元組合在一起后能夠按既定意圖 協(xié)作運行,并確保增量的行為正確,所測 試的內(nèi)容包括單元間的接口單元間的接口以及集成后的集成后的 功能。功

5、能。 l具體來說,集成測試考慮以下問題:具體來說,集成測試考慮以下問題: 三、集成測試的目的三、集成測試的目的 1.在把各個模塊連接起來的時候,穿越模塊在把各個模塊連接起來的時候,穿越模塊 接口的數(shù)據(jù)是否會丟失;接口的數(shù)據(jù)是否會丟失; 2.各個子功能組合起來,能否達到預期要求各個子功能組合起來,能否達到預期要求 的父功能;的父功能; 3.一個模塊的功能是否會對另一個模塊的功一個模塊的功能是否會對另一個模塊的功 能產(chǎn)生不利的影響;能產(chǎn)生不利的影響; 4.全局數(shù)據(jù)結構是否有問題全局數(shù)據(jù)結構是否有問題 5.單個模塊的誤差積累起來,是否會放大,單個模塊的誤差積累起來,是否會放大, 從而達到不可接受的程

6、度。從而達到不可接受的程度。 集成測試有以下不可替代的特點:集成測試有以下不可替代的特點: l 單元測試具有不徹底性,對于模塊間接口信息內(nèi)容的正確單元測試具有不徹底性,對于模塊間接口信息內(nèi)容的正確 性、相互調用關系是否符合設計無能為力。只能靠集成測性、相互調用關系是否符合設計無能為力。只能靠集成測 試來進行保障。試來進行保障。 l 同系統(tǒng)測試相比,由于集成測試用例是從程序結構出發(fā)的,同系統(tǒng)測試相比,由于集成測試用例是從程序結構出發(fā)的, 目的性、針對性更強,測試項發(fā)現(xiàn)問題的效率更高,定位目的性、針對性更強,測試項發(fā)現(xiàn)問題的效率更高,定位 問題的效率也較高;問題的效率也較高; l 能夠較容易地測試

7、到系統(tǒng)測試用例難以模擬的特殊異常流能夠較容易地測試到系統(tǒng)測試用例難以模擬的特殊異常流 程,從純理論的角度來講,集成測試能夠模擬所有實際情程,從純理論的角度來講,集成測試能夠模擬所有實際情 況;況; l 定位問題較快,由于集成測試具有可重復強、對測試人員定位問題較快,由于集成測試具有可重復強、對測試人員 透明的特點,發(fā)現(xiàn)問題后容易定位,所以能夠有效地加快透明的特點,發(fā)現(xiàn)問題后容易定位,所以能夠有效地加快 進度,減少隱患。進度,減少隱患。 三、集成測試的目的三、集成測試的目的 10 11 四、集成測試的層次四、集成測試的層次 l由集成的力度不同,一般可以把集成測試由集成的力度不同,一般可以把集成測

8、試 劃分為三個級別:劃分為三個級別: l(1)模塊內(nèi)集成測試。 l(2)子系統(tǒng)內(nèi)集成測試:先測試子系統(tǒng)內(nèi) 的功能模塊,然后將各個功能模塊組合起 來確認子系統(tǒng)的功能是否達到預期要求。 l(3)子系統(tǒng)間集成測試:測試的單元是子 系統(tǒng)之間的接口。子系統(tǒng)是可單獨運行的 程序或進程。 五、集成測試方法五、集成測試方法 l 靜態(tài)測試技術靜態(tài)測試技術針對概要設計的測試針對概要設計的測試 (什么是概要設計?)(什么是概要設計?) l 動態(tài)測試技術動態(tài)測試技術灰盒測試灰盒測試 (什么是灰盒測試?)什么是灰盒測試?) 灰盒測試的優(yōu)點:灰盒測試的優(yōu)點: l 能夠進行基于需求的測試和基于路徑的覆蓋測試。能夠進行基于需

9、求的測試和基于路徑的覆蓋測試。 l 可深入被測對象的內(nèi)部,便于錯誤的識別分析和可深入被測對象的內(nèi)部,便于錯誤的識別分析和 解決。解決。 l 能夠保證設計的黑盒測試用例的完整性,防止功能夠保證設計的黑盒測試用例的完整性,防止功 能或功能組合的遺漏能或功能組合的遺漏 l 能夠減小需求或設計不詳細或不完整性對測試有能夠減小需求或設計不詳細或不完整性對測試有 效性造成影響。效性造成影響。 五、集成測試方法五、集成測試方法 六、集成策略六、集成策略 l指在測試對象分析基礎上,描述軟件模塊指在測試對象分析基礎上,描述軟件模塊 集成的方式、方法。集成的方式、方法。 l我們已經(jīng)知道,集成測試是把功能模塊或我們

10、已經(jīng)知道,集成測試是把功能模塊或 程序單元組合起來進行測試,發(fā)現(xiàn)模塊在程序單元組合起來進行測試,發(fā)現(xiàn)模塊在 組合過程中的缺陷。那么,組合過程中的缺陷。那么,系統(tǒng)中的各個系統(tǒng)中的各個 模塊如何組合呢?是全部同時組裝還是逐模塊如何組合呢?是全部同時組裝還是逐 漸組裝模塊?漸組裝模塊?這是集成策略將要解答的問這是集成策略將要解答的問 題。題。 l集成的基本策略比較多,分類比較復雜,集成的基本策略比較多,分類比較復雜, 但是都可以歸結為以下兩類:但是都可以歸結為以下兩類: l 非增量式集成策略非增量式集成策略一步到位一步到位 l NonIncremental Testing l 增量式集成策略增量式集

11、成策略逐步實現(xiàn)逐步實現(xiàn) lIncremental Testing 6.1 非增量式集成策略非增量式集成策略 l非增量式測試是采用一步到位一步到位的方法來構 造測試: 對所有模塊進行個別的單元測試后, 按照程序結構圖將各模塊連接起來,把連 接后的程序當作一個整體進行測試。 l又叫大爆炸式集成又叫大爆炸式集成 非增量式測試非增量式測試 (Big-bang testing) Test A, B, C, D Test A Test B Test C Test D 非增量式集成測試實例非增量式集成測試實例 A S3S4S5 d2 C d4 E d5 F d1 B s1 d3 s2 D A BCD EF

12、A BCD EF (1)程序結構圖 (3)集成測試示意圖 (2)單元測試示意圖 非增量式策略實例非增量式策略實例 評述:模塊評述:模塊d1、d2、d3、d4、d5是對各個模塊做是對各個模塊做 單元測試時建立的驅動模塊,單元測試時建立的驅動模塊,s1、s2、s3、s4、 s5是為單元測試而建立的樁模塊。這種一次性集是為單元測試而建立的樁模塊。這種一次性集 成方式將所測模塊連接起來進行測試,但是一次成方式將所測模塊連接起來進行測試,但是一次 試運行成功地可能性并不大。其結果發(fā)現(xiàn)有錯誤,試運行成功地可能性并不大。其結果發(fā)現(xiàn)有錯誤, 但茫然找不到原因,差錯和改錯都會遇到困難。但茫然找不到原因,差錯和改

13、錯都會遇到困難。 非增量式策略非增量式策略 優(yōu)點:優(yōu)點: l方法簡單方法簡單 l允許多測試人員同時并行工作,人力物允許多測試人員同時并行工作,人力物 力資源利用率較高力資源利用率較高 缺點缺點 l必須為每個模塊準備相應的驅動模塊和必須為每個模塊準備相應的驅動模塊和 樁模塊,測試成本較高樁模塊,測試成本較高 l一旦集成后包含多種錯誤,難以糾正。一旦集成后包含多種錯誤,難以糾正。 關鍵模塊問題關鍵模塊問題 l在非增量式集成測試時,應當確定關鍵模 塊,對這些關鍵模塊及早進行測試。 l關鍵模塊的特征: 完成需求規(guī)格說明中的關鍵功能; 在程序的模塊結構中位于較高的層次 (高層控制模塊); 較復雜、較易發(fā)

14、生錯誤; 有明確定義的性能要求。 6.2增量式集成策略增量式集成策略 l增量式測試的集成是逐步實現(xiàn)逐步實現(xiàn)的: 逐次將未曾集成測試的模塊和已經(jīng)集 成測試的模塊(或子系統(tǒng))結合成程序包, 再將這些模塊集成為較大系統(tǒng),在集成的 過程中邊連接邊測試,以發(fā)現(xiàn)連接過程中 產(chǎn)生的問題。 l按照不同的實施次序,增量式集成測試又 可以分為三種不同的方法: (1)自頂向下增量式測試 (2)自底向上增量式測試 (3)三明治增量式測試(混合增量式測試) 6.2增量式集成策略增量式集成策略 6.2.1 自頂向下增量測試自頂向下增量測試 l自頂向下增量式測試自頂向下增量式測試表示逐步集成和逐步 測試是按照結構圖自上而下

15、進行的,即模 塊集成的順序是首先集成主控模塊(主程 序),然后依照控制層次結構向下進行集 成。從屬于主控模塊的按深度優(yōu)先深度優(yōu)先方式 (縱向)或者廣度優(yōu)先廣度優(yōu)先方式(橫向)集成 到結構中去。 l深度優(yōu)先方式:深度優(yōu)先方式: 首先集成在結構中的一個主控路徑下的一個主控路徑下的 所有模塊所有模塊,主控路徑的選擇是任意的。 l廣度優(yōu)先方式:廣度優(yōu)先方式: 首先沿著水平方向,把每一層中所有把每一層中所有 直接隸屬于上一層的模塊集成起來直接隸屬于上一層的模塊集成起來,直到 底層。 l 自頂向下集成測試的整個過程由3個步驟完成: (1)主控模塊作為測試驅動器。 (2)根據(jù)集成的方式(深度或廣度),下層的

16、樁 模塊一次一次地被替換為真正的模塊。 (3)在每個模塊被集成時,都必須進行單元測試。 重復第2步,直到整個系統(tǒng)被測試完成。 6.2.1 自頂向下增量測試自頂向下增量測試 28 29 30 31 練習一下練習一下 對如下結構采用自頂向下深度優(yōu)先策略進行對如下結構采用自頂向下深度優(yōu)先策略進行 測試測試 解:解: M S1S2S3 測試M M S2S3A S4S5 加入A M S2S3A DS5 加入D M S2S3A DE 加入E M BS3A DE 加入B M BCA DE 加入B C 自頂向下增量式集成適用范圍:自頂向下增量式集成適用范圍: 6.2.2 自底向上增量式測試自底向上增量式測試

17、自底向上進行集成和測試時,需要為所測模自底向上進行集成和測試時,需要為所測模 塊或子系統(tǒng)編制相應的驅動模塊。常見的塊或子系統(tǒng)編制相應的驅動模塊。常見的 幾種類型的驅動模塊如圖所示:幾種類型的驅動模塊如圖所示: 驅動程序 Driver A 驅動程序 Driver B 驅動程序 Driver C 驅動程序 Driver D 調用從屬模塊從表(或外部文 件)中傳遞參數(shù) 顯示參數(shù)兼有驅動程序B、 C的功能 表示傳送的參數(shù)信息表示傳送的參數(shù)信息 6.2.2 自底向上增量式測試自底向上增量式測試 自底向上增量式集成測試步驟:自底向上增量式集成測試步驟: 自底向上增量式測試自底向上增量式測試 A B C D

18、 E F d2 C d1 E d3 F d4 B E d5 F D A B C D E F 39 40 41 42 43 44 改進后的三明治集成方法改進后的三明治集成方法 改進的三明治集成方法,不僅自兩頭向中改進的三明治集成方法,不僅自兩頭向中 間集成,而且保證每個模塊得到單獨的測間集成,而且保證每個模塊得到單獨的測 試,使測試進行得比較徹底試,使測試進行得比較徹底 。 改進的三明治集成方法改進的三明治集成方法 集成策略框圖集成策略框圖 七、不同集成測試方法的比較七、不同集成測試方法的比較 1、非增量式測試與增量式測試的比較 l 非增量式測試的方法是先分散測試,然后集中起來再一次 完成集成測

19、試。假如在模塊的接口處存在錯誤,只會在最 后的集成測試時一下子暴露出來。 l 增量式測試是逐步集成和逐步測試的方法,把可能出現(xiàn)的 差錯分散暴露出來,便于找出問題和修改。而且一些模塊 在逐步集成的測試中,得到了較多次的考驗,因此,可能 會取得較好的測試效果。 結論:增量式測試要比非增量式測試具有一定的優(yōu)越性。 七、不同集成測試方法的比較不同集成測試方法的比較 2、自頂向下與自底向上增量式測試的比較 l 自頂向下增量式測試: 主要優(yōu)點在于它可以自然的做到逐步求精,一開始 就能讓測試者看到系統(tǒng)的框架。 主要缺點是需要提供樁模塊,并且在輸入/輸出模塊 接入系統(tǒng)以前,在樁模塊中表示測試數(shù)據(jù)有一定困難。

20、l 自底向上增量式測試: 優(yōu)點在于,由于驅動模塊模擬了所有調用參數(shù),即 使數(shù)據(jù)流并未構成有向的非環(huán)狀圖,生成測試數(shù)據(jù)也無 困難。 主要缺點在于,直到最后一個模塊被加進去之后才 能看到整個程序(系統(tǒng))的框架。 三種增量測試比較三種增量測試比較 作業(yè):畫圖給出集成測試的步驟(自頂向下,自底向上)作業(yè):畫圖給出集成測試的步驟(自頂向下,自底向上) 八、集成測試流程八、集成測試流程 集成測試主要由系統(tǒng)部的集成測試主要由系統(tǒng)部的系統(tǒng)設計人員系統(tǒng)設計人員、 軟件評測部軟件評測部完成,完成,開發(fā)人員開發(fā)人員也參與集成測也參與集成測 試。集成測試相對來說是挺復雜的,而且試。集成測試相對來說是挺復雜的,而且 對于不同的技術、平臺和應用差異也比較對于不同的技術、平臺和應用差異也比較 大,更多是和開發(fā)環(huán)境融合在一起。集成大,更多是

溫馨提示

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

最新文檔

評論

0/150

提交評論