軟件測試技術(shù)-08集成測試_第1頁
軟件測試技術(shù)-08集成測試_第2頁
軟件測試技術(shù)-08集成測試_第3頁
軟件測試技術(shù)-08集成測試_第4頁
軟件測試技術(shù)-08集成測試_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、集成測試目標(biāo)集成測試4-1 集成測試概念、層次、目的4-2 集成測試的模式4-3 集成測試用例和過程4-4 面向?qū)ο蟮募蓽y試4-1 集成測試的概念集成(Integration)是指把多個單元組合起來形成更大的單元。 集成測試(Integration Testing)是在假定各個軟件單元已經(jīng)通過了單元測試的前提下,檢查各個軟件單元之間的相互接口是否正確。也稱為組裝測試、聯(lián)合測試、子系統(tǒng)測試或部件測試 為什么總是集成不起來? 4-1集成測試目的 集成測試主要關(guān)注下列問題: (1)模塊間的數(shù)據(jù)傳遞是否正確? (2)一個模塊的功能是否會對另一個模塊的功能產(chǎn)生錯誤的影響? (3)全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問題

2、,會不會被異常修改? (4)塊組合起來的功能能否滿足要求? (5)集成后,各個模塊的累積誤差是否會擴大,是否達到不可接受的程度? 4-1集成測試與開發(fā)的關(guān)系 集成測試是和軟件開發(fā)過程中的概要設(shè)計階段相對應(yīng)的,而在軟件概要設(shè)計中關(guān)于整個系統(tǒng)的體系結(jié)構(gòu)就是集成測試用例輸入的基礎(chǔ)。 4-1集成測試的層次對于傳統(tǒng)軟件來說,按集成粒度不同,可以把集成測試分為3個層次,即: (1)模塊間集成測試 (2)子系統(tǒng)內(nèi)集成測試 (3)子系統(tǒng)間集成測試4-1集成測試的原則 (1)所有公共接口必須被測試到; (2)關(guān)鍵模塊必須進行充分測試; (3)集成測試應(yīng)當(dāng)按一定層次進行; (4)集成測試策略選擇應(yīng)當(dāng)綜合考慮質(zhì)量、

3、成本和進度三者之間的關(guān)系; (5)集成測試應(yīng)當(dāng)盡早開始,并以概要設(shè)計為基礎(chǔ); (6)在模塊和接口的劃分上,測試人員應(yīng)該和開發(fā)人員進行充分溝通; (7)當(dāng)測試計劃中的結(jié)束標(biāo)準(zhǔn)滿足時,集成測試才能結(jié)束; (8)當(dāng)接口發(fā)生修改時,涉及到的相關(guān)接口都必須進行回歸測試; (9)集成測試應(yīng)根據(jù)集成測試計劃和方案進行,不能隨意測試; (10)項目管理者應(yīng)保證測試用例經(jīng)過審核; (11)測試執(zhí)行結(jié)果應(yīng)當(dāng)如實的記錄。 4-2集成測試的模式4-2集成測試的模式漸增式測試模式與非漸增式測試模式非漸增式測試模式ABCDEFG 程序結(jié)構(gòu)圖測試A測試B測試C測試D測試E測試F測試G測試(A、B、CD、E、F、G) 非漸增

4、式集成非漸增式測試模式:先分別測試每個模塊,再把所有模塊按設(shè)計要求放在一起結(jié)合成所要的程序,如大棒方法。漸增式集成漸增式測試模式:把下一個要測試的模塊同已經(jīng)測試好的模塊結(jié)合起來進行測試,測試完以后再把下一個應(yīng)該測試的模塊結(jié)合進來測試。 當(dāng)使用漸增方式把模塊結(jié)合到程序中去時,有自頂向下和自底向上兩種集成策略。 自頂向下和自底向上集成策略 驅(qū)動程序/驅(qū)動模塊(driver),用以模擬被測模塊的上級模塊。驅(qū)動模塊在集成測試中接受測試數(shù)據(jù),把相關(guān)的數(shù)據(jù)傳送給被測模塊,啟動被測模塊,并打印出相應(yīng)的結(jié)果。樁程序/樁模塊(stub),也有人稱為存根程序,用以模擬被測模塊工作過程中所調(diào)用的模塊。樁模塊由被測模

5、塊調(diào)用,它們一般只進行很少的數(shù)據(jù)處理,例如打印入口和返回,以便于檢驗被測模塊與其下級模塊的接口自頂向下集成自頂向下集成方法是一個日益為人們廣泛采用的測試和組裝軟件的途徑。從主控制模塊開始,沿著程序的控制層次向下移動,逐漸把各個模塊結(jié)合起來。在把附屬于(及最終附屬于)主控制模塊的那些模塊組裝到程序結(jié)構(gòu)中去,或者使用深度優(yōu)先的策略,或者使用寬度優(yōu)先的策略。ASBSCSD(a)測試AABSCSDSESF (b)測試BABCSDEFSG (e)測試CABCSDEFG (f)測試GABCDEFG(g)測試DABSCSDESF (c)測試EABSCSDEF (d)測試F 自頂向下集成自頂向下集成(Top-

6、down Integration) 自頂向下集成(Top-down Integration) 自頂向下法的主要優(yōu)缺點自底向上集成 自底向上測試從“原子”模塊(即在軟件結(jié)構(gòu)最底層的模塊)開始組裝和測試。因為是從底部向上結(jié)合模塊,總能得到所需的下層模塊處理功能,所以不需要樁模塊。 自底向上集成 (Bottom-up Integration) 測試E測試F測試G測試D測試(A、B、CD、E、F、G) 自底向上集成測試(B、E、F)測試(C、G)自底向上法的主要優(yōu)缺點混合策略(Modified Top-down Integration) 混合法:對軟件結(jié)構(gòu)中較上層,使用的是“自頂向下”法;對軟件結(jié)構(gòu)中

7、較下層,使用的是“自底向上”法,兩者相結(jié)合 大棒集成方法 (Big-bang Integration)采用大棒集成方法,先是對每一個子模塊進行測試(單元測試階段),然后將所有模塊一次性的全部集成起來進行集成測試 。因為所有的模塊一次集成的,所以很難確定出錯的真正位置、所在的模塊、錯誤的原因。這種方法并不推薦在任何系統(tǒng)中使用,適合在規(guī)模較小的應(yīng)用系統(tǒng)中使用。 三明治集成方法(Sandwich Integration) 采用三明治方法的優(yōu)點是:它將自頂向下和自底向上的集成方法有機地結(jié)合起來,不需要寫樁程序因為在測試初自底向上集成已經(jīng)驗證了底層模塊的正確性。采用這種方法的主要缺點是:在真正集成之前每

8、一個獨立的模塊沒有完全測試過。改善的三明治集成方法改進的三明治集成方法,不僅自兩頭向中間集成,而且保證每個模塊得到單獨的測試,使測試進行得比較徹底 。幾種集成方法性能的比較 自底向上自頂向下混合策略大棒三明治改進三明治集成早早早晚早早基本程序能工作時間晚早早晚早早需要驅(qū)動程序是否是是是是需要樁程序否是是是是是工作并行性中低中高中高特殊路徑測試容易難容易容易中等容易計劃與控制容易難難容易難難4-3 用例設(shè)計與過程4-3集成測試用例設(shè)計 1為系統(tǒng)運行設(shè)計用例 可使用的主要測試分析技術(shù)有: (1)等價類劃分。 (2)邊界值分析。 (3)基于決策表的測試。 4-3 集成測試用例設(shè)計 2為正向測試設(shè)計用

9、例可是用如下幾種主要測試分析技術(shù): (1)輸入域測試。 (2)輸出域測試。 (3)等價類劃分。 (4)狀態(tài)轉(zhuǎn)換測試。 (5)規(guī)范導(dǎo)出法。 4-3 集成測試用例設(shè)計 3為逆向測試設(shè)計用例 可使用的主要測試分析技術(shù)有: (1)錯誤猜測法。 (2)基于風(fēng)險的測試。 (3)基于故障的測試。 (4)邊界值分析。 (5)特殊值測試。 (6)狀態(tài)轉(zhuǎn)換測試。 4-3 集成測試用例設(shè)計 4為滿足特殊需求設(shè)計用例 可使用的主要測試分析技術(shù)為規(guī)范導(dǎo)出法。 5為高覆蓋設(shè)計用例 可使用的主要測試分析技術(shù)有: (1)功能覆蓋分析。 (2)接口覆蓋分析。 4-3 集成測試過程 一個測試從開發(fā)到執(zhí)行遵循一個過程,不同的組織對

10、這個過程的定義會有所不同。根據(jù)集成測試不同階段的任務(wù),可以把集成測試劃分為5個階段:計劃階段、設(shè)計階段、實施階段、執(zhí)行階段、評估階段。 制定集成測試計劃設(shè)計集成測試實施集成測試執(zhí)行集成測試評估集成測試集成測試過程4-3集成測試過程 1計劃階段 (1)確定被測試對象和測試范圍。 (2)評估集成測試被測試對象的數(shù)量及難度,即工作量。 (3)確定角色分工和劃分工作任務(wù)。 (4)表識出測試各個階段的時間、任務(wù)、約束條件。 (5)考慮一定的風(fēng)險分析機應(yīng)急計劃。 (6)考慮和準(zhǔn)備集成測試需要的測試工具、測試儀器、環(huán)境等資源。 (7)考慮外部技術(shù)支援的力度和深度,以及相關(guān)培訓(xùn)安排;定義測試完成標(biāo)準(zhǔn)。 4-3

11、 集成測試過程 2設(shè)計階段 (1)被測對象結(jié)構(gòu)分析。 (2)集成測試模塊分析。 (3)集成測試接口分析。 (4)集成測試策略分析。 (5)集成測試工具分析。 (6)集成測試環(huán)境分析。 (7)集成測試工作量估計和安排。4-3 集成測試過程 3實施階段 (1)集成測試用例設(shè)計。 (2)集成測試規(guī)程設(shè)計。 (3)集成測試代碼設(shè)計。 (4)集成測試腳本開發(fā)。 (5)集成測試工具開發(fā)或選擇。4-3 集成測試過程 4執(zhí)行階段 測試人員在單元測試完成以后就可以執(zhí)行集成測試。當(dāng)然,須按照相應(yīng)的測試規(guī)程,借助集成測試工具,并把需求規(guī)格說明書、概要設(shè)計、集成測試計劃、集成測試設(shè)計、集成測試用例、集成測試規(guī)程、集成

12、測試代碼、集成測試腳本作為測試執(zhí)行的依據(jù)來執(zhí)行集成測試用例。測試執(zhí)行的前提條件就是單元測試已經(jīng)通過評審。當(dāng)測試執(zhí)行結(jié)束后,測試人員要記錄下每個測試用例之行后的結(jié)果,填寫集成測試報告,最后提交給相關(guān)人員評審。 4-3 集成測試過程 5評估階段 當(dāng)集成測試執(zhí)行結(jié)束后,要召集相關(guān)人員,如:測試設(shè)計人員、編碼人員、系統(tǒng)設(shè)計人員等隊測試結(jié)果進行評估,確定是否通過集成測試。 4-4 面向?qū)ο蟮募蓽y試 4-4面向?qū)ο蟮募蓽y試對象交互 匯集類測試 可以使用測試原始類的方法來測試匯集類,測試驅(qū)動程序要創(chuàng)建一些實例,這些實例作為消息中的參數(shù)被傳遞給一個正在測試的集合。測試的目的主要是保證那些實例被正確從集合中

13、移出。有些測試用例會說明集合對其容量所做的限制。假如在實際應(yīng)用中可能要加入40或50條信息,那么生成的測試用例至少要增加50條信息。如果無法估算出一個有代表性的上限,那么就使用集合中的大量對象進行測試。4-4面向?qū)ο蟮募蓽y試 協(xié)作類測試 凡不是匯集類的非原始類就是協(xié)作類,該類的一個或多個操作中使用其他的對象并將其作為它們的實現(xiàn)中不可缺少的一部分。當(dāng)類接口中的一個操作的某個后置條件引用了一具對象的實例狀態(tài),并且(或者)說明那個對象的某個屬性被使用或修改了,那么這個類就是一個協(xié)作類。協(xié)作類測試的復(fù)雜性遠(yuǎn)遠(yuǎn)高于匯集類或原始類的測試。4-4 面向?qū)ο蟮募蓽y試面向?qū)ο蠹蓽y試的常用方法 1抽樣測試 抽樣測試提供了一種運算法則,它使我們能夠從一組可能的測試用例中選擇一個測試序列。但并不要求一定要首先明確如何來確定測試用例的總體。測試過程的目的在于定義感興趣的測試總體,然后定義一種方法,以便在這些

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論