版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、華中農(nóng)業(yè)大學(xué)信息學(xué)院計(jì)算機(jī)科學(xué)系問題引入 測試過程單元測試集成測試系統(tǒng)測試為什么需要集成測試? 為什么總是集成不起來?一、集成測試概述 集成測試(integration test) 也叫組裝測試或聯(lián)合測試 是在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求集成為系統(tǒng)或子系統(tǒng),并進(jìn)行測試。 驗(yàn)證程序和概要設(shè)計(jì)說明的一致性二、基于功能分解的集成 實(shí)施策略 非漸增式集成 漸增式集成非漸增式集成 定義又叫大爆炸集成(big-bang integration)把所有通過了單元測試的模塊按設(shè)計(jì)要求,一次全部組裝起來,然后進(jìn)行整體測試。 目的盡可能縮短測試時間,使用最少的測試用例驗(yàn)證系統(tǒng)。 特點(diǎn)“急于求成” 具體
2、方法 例:假設(shè)要對某個系統(tǒng)的部分功能進(jìn)行測試,其功能分解如圖所示:a ab bd dc c三、漸增式集成方式 定義 從一個模塊開始,測一次添加一個模塊,邊組裝邊測試,以發(fā)現(xiàn)與接口相聯(lián)系的問題。 集成方式自頂向下集成自底向上集成三明治集成1.自頂向下集成 定義 自頂向下集成(top-down integration) 按照系統(tǒng)層次結(jié)構(gòu)圖,以主程序模塊為中心,自上而下按照深度優(yōu)先或者廣度優(yōu)先策略,對各個模塊一邊組裝一邊進(jìn)行測試。 自頂向下集成的兩種類型 廣度優(yōu)先 深度優(yōu)先abcdhgjefiklmna、b、e、j、k、c、f、l、g、d、h、m、n、i深度優(yōu)先:深度優(yōu)先:a、b、c、d、e、f、g
3、、h、i、j、k、l、m、n廣度優(yōu)先:廣度優(yōu)先:自頂向下集成步驟 (1)以主控模塊作為測試驅(qū)動模塊,把對主控模塊進(jìn)行單元測試時引入的所有樁模塊用實(shí)際模塊替代 (2)依據(jù)所選的集成策略,每次只替代一個樁模塊,(3)每集成一個模塊立即測試一遍 (4)只有每組測試完成后,才著手替換下一個樁模塊 (5)為避免引入新錯誤,須不斷地進(jìn)行回歸測試,從第(2)步開始,循環(huán)執(zhí)行上述步驟,直至整個程序結(jié)構(gòu)構(gòu)造完畢。舉例:adbecf深度優(yōu)先深度優(yōu)先: :a、b、e、c、d、f廣度優(yōu)先廣度優(yōu)先: :a、b、c、d、e、f自頂向下集成自頂向下集成深度優(yōu)先a加入加入es2s2bs3s3ea測試測試 as2s2s1s1s
4、 s3 3a加入加入bs2s2bs3s3s4s4加入加入fcbdeafa加入加入ccbs3s3e加入加入dcbdeas5s52.自底向上集成 定義 自底向上集成(bottom-up integration) 從系統(tǒng)層次結(jié)構(gòu)圖的最底層模塊開始進(jìn)行組裝和集成測試的方式。 自底向上集成步驟(1)從最底層的模塊開始組裝,組合成一個能夠完成某個子功能的構(gòu)件;(2)編制驅(qū)動程序,協(xié)調(diào)測試用例的輸入與輸出;(3)測試集成后的構(gòu)件;(4)使用實(shí)際模塊代替驅(qū)動程序,按程序結(jié)構(gòu)向上組裝測試后的構(gòu)件;(5)重復(fù)上面的第二步,直到系統(tǒng)的最頂層模塊被加入到系統(tǒng)中為止。舉例:a ac cb bd df fe ee ed
5、d1 1c cd d3 3f fd d4 4e eb bd d2 2d dd d5 5f fa ac cb bd df fe e 優(yōu)點(diǎn) 可以盡早的驗(yàn)證底層模塊的行為; 提高了測試效率; 對實(shí)際被測模塊的可測試性要求較少; 減少了樁模塊的工作量; 容易對錯誤進(jìn)行定位。 缺點(diǎn) 直到最后一個模塊加進(jìn)去之后才能看到整個系統(tǒng)的框架; 只有到測試過程的后期才能發(fā)現(xiàn)時序問題和資源競爭問題; 驅(qū)動模塊的設(shè)計(jì)工作量大; 不能及時發(fā)現(xiàn)高層模塊設(shè)計(jì)上的錯誤。 適用范圍 底層模塊接口比較穩(wěn)定的產(chǎn)品; 高層模塊接口變更比較頻繁的產(chǎn)品; 底層模塊開發(fā)和單元測試工作完成較早的產(chǎn)品。四、三明治集成 定義 三明治集成方法(sa
6、ndwich integration) 三明治集成是一種混合增值式測試策略,綜合了自頂向下和自底向上兩種集成方法的優(yōu)點(diǎn)。 方法 一般對軟件結(jié)構(gòu)的上層使用自頂向下結(jié)合的方法; 對下層使用自底向上結(jié)合的方法;舉例 用三明治集成方式如何測試?c cb bd de ef fa a三明治集成步驟 首先,確定以哪一層為界來決定使用三明治集成策略。我們確定以b模塊為界; 其次,對模塊b及其所在層下面的各層使用自底向上的集成策略; 再次,對模塊b所在層上面的層次使用自頂向下的集成策略; 然后,把模塊b所在層各模塊同相應(yīng)的下層集成; 最后,對系統(tǒng)進(jìn)行整體測試。 優(yōu)點(diǎn) 除了具有自頂向下和自底向上兩種集成策略的優(yōu)點(diǎn)
7、之外,運(yùn)用一定的技巧,能夠減少了樁模塊和驅(qū)動模塊的開發(fā)。 缺點(diǎn) 在被集成之前,中間層不能盡早得到充分的測試。五、基于調(diào)用圖的集成 基于調(diào)用圖的集成有兩種:成對集成相鄰集成1、成對集成 成對集成的思想就是免除樁/驅(qū)動器開發(fā)工作,使用實(shí)際代碼來代替樁/驅(qū)動器。 成對集成的方法就是對應(yīng)調(diào)用圖的每一個邊建立并執(zhí)行一個集成測試會話。2. 相鄰集成 相鄰節(jié)點(diǎn) 有向圖中,節(jié)點(diǎn)鄰居包括所有直接前驅(qū)節(jié)點(diǎn)和直接后繼節(jié)點(diǎn) 相鄰集成 可大大降低集成測試的會話數(shù)量,并可避免樁和驅(qū)動器的開發(fā) 相鄰集成本質(zhì)上是三明治集成 相鄰集成具有“中爆炸”集成的缺陷:隔離困難基于調(diào)用圖的集成的優(yōu)缺點(diǎn) 優(yōu)點(diǎn) 基于調(diào)用圖的集成偏離了純結(jié)構(gòu)
8、集成,轉(zhuǎn)向行為基礎(chǔ)。 免除了樁/驅(qū)動器開發(fā)工作量。 缺點(diǎn) 缺陷隔離問題六、基于路徑的集成 概念 源節(jié)點(diǎn) 匯節(jié)點(diǎn) 模塊執(zhí)行路徑 消息 mm-路徑圖 給定一組單元,其mm-路徑圖是一種有向圖,其中節(jié)點(diǎn)表示模塊執(zhí)行路徑,邊表示消息和單元之間的返回。 注意:mm-路徑圖是按照一組單元定義的。 mm-路徑 mm-路徑是穿插出現(xiàn)模塊執(zhí)行路徑和消息的序列 對于傳統(tǒng)軟件來說,mm-路徑永遠(yuǎn)是從主程序開始,在主程序中結(jié)束。 注意:mm-路徑不是可執(zhí)行路徑,并且要跨越單元邊界例:模塊執(zhí)行路徑:mep(a,1)=mep(a,2)=mep(a,3)=mep(b,1)=mep(b,2)=mep(c,1)=mep(c,2
9、)=跨三個單元的跨三個單元的mm-路徑路徑a124356b1234c12345a124356b1234c12345例:從上圖導(dǎo)出的從上圖導(dǎo)出的mm-路徑圖路徑圖mep(a,2)mep(b,1)mep(c,1)mep(b,2)mep(c,2)mep(a,3)mep(a,1)實(shí)線箭頭表示消息,實(shí)線箭頭表示消息,虛線箭頭表示返回。虛線箭頭表示返回。 mm-路徑的深度 mm-路徑末端點(diǎn)有兩點(diǎn)可觀察的行為準(zhǔn)則,即消息靜止和數(shù)據(jù)靜止 消息靜止 當(dāng)?shù)竭_(dá)不發(fā)送消息的結(jié)點(diǎn)時,消息靜止發(fā)生。例如圖中的模塊c 數(shù)據(jù)靜止 當(dāng)處理不立即使用的存儲數(shù)據(jù)的創(chuàng)建序列結(jié)束時,數(shù)據(jù)靜止發(fā)生。 mm-路徑圖的特點(diǎn) 優(yōu)點(diǎn) 功能性和結(jié)構(gòu)性的一種混合 表達(dá)上:功能性 標(biāo)識方式上:結(jié)構(gòu)性 集成測試和系統(tǒng)測試無逢連接 缺點(diǎn) 標(biāo)識mm-路徑的工作量很大mm-路徑復(fù)雜度 v(g)= e n + 2p v(g)= e n + 2 (對于結(jié)構(gòu)化過程代碼,p=1)mm-路徑有向圖abcmainvalidatepingetpinforpanscreendrivergetpinkeysensorwv(g1)= 4-3+2 =3wv(g2) =24-6+2 =
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋裝修費(fèi)用預(yù)算協(xié)議范本
- 2024裝修公司承包合同協(xié)議
- 大連市混凝土生產(chǎn)銷售合同
- 離婚協(xié)議書格式:子女撫養(yǎng)權(quán)分配
- 建筑施工安全協(xié)議書
- 二手房交易資金監(jiān)管協(xié)議書
- 房屋貸款合同中的還款賬戶管理
- 旅游規(guī)劃設(shè)計(jì)合同樣本
- 房屋租賃中介合同范本
- 企業(yè)外部承包合同樣本
- 兒童早期的認(rèn)知發(fā)展-皮亞杰前運(yùn)算階段(三座山實(shí)驗(yàn))
- 國開一體化平臺01588《西方行政學(xué)說》章節(jié)自測(1-23)試題及答案
- 2024年極兔速遞有限公司招聘筆試參考題庫附帶答案詳解
- 2024年度年福建省考評員考試題庫附答案(基礎(chǔ)題)
- 2024年威士忌酒相關(guān)公司行業(yè)營銷方案
- 網(wǎng)絡(luò)游戲危害課件
- 2024供電營業(yè)規(guī)則學(xué)習(xí)課件
- 鐵路給水排水設(shè)計(jì)規(guī)范(TB 10010-2016)
- GINA2023-哮喘防治指南解讀-課件
- 2024年上海市第二十七屆初中物理競賽初賽試題及答案
- 寢室設(shè)計(jì)方案方法與措施
評論
0/150
提交評論