版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
實用
軟件測試方法與應(yīng)用(集成測試)第5章集成測試本章著重講述集成測試的整個過程——集成測試的基本理論、測試計劃的編制、測試過程中的注意事項。
集成測試,也叫組裝測試或聯(lián)合測試。在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計要求(如根據(jù)結(jié)構(gòu)圖)集成為子系統(tǒng)或系統(tǒng),進行集成測試。2006-9-195.1集成測試基本理論集成測試的目的和意義考慮以下問題:1.在把各個模塊連接起來的時候,穿越模塊接口的數(shù)據(jù)是否會丟失;2.各個子功能組合起來,能否達到預(yù)期要求的父功能;3.一個模塊的功能是否會對另一個模塊的功能產(chǎn)生不利的影響;4.全局數(shù)據(jù)結(jié)構(gòu)是否有問題5.單個模塊的誤差積累起來,是否會放大,從而達到不可接受的程度。要想發(fā)現(xiàn)并排除在模塊連接中可能發(fā)生的上述問題,就需要進行集成測試。集成測試有以下不可替代的特點:單元測試具有不徹底性,對于模塊間接口信息內(nèi)容的正確性、相互調(diào)用關(guān)系是否符合設(shè)計無能為力。只能靠集成測試來進行保障。同系統(tǒng)測試相比,由于集成測試用例是從程序結(jié)構(gòu)出發(fā)的,目的性、針對性更強,測試項發(fā)現(xiàn)問題的效率更高,定位問題的效率也較高;能夠較容易地測試到系統(tǒng)測試用例難以模擬的特殊異常流程,從純理論的角度來講,集成測試能夠模擬所有實際情況;定位問題較快,由于集成測試具有可重復(fù)強、對測試人員透明的特點,發(fā)現(xiàn)問題后容易定位,所以能夠有效地加快進度,減少隱患。2006-9-195.1.2聯(lián)調(diào)與集成測試的區(qū)別
集成和聯(lián)調(diào)都是對系統(tǒng)模塊的裝配過程,只不過是兩個級別的裝配和集成過程。集成測試是:測試人員在開發(fā)人員的協(xié)助下,制定集成測試計劃;集成測試主要關(guān)注的是集成模塊接口上消息的覆蓋、異常流程、性能指標等深入的測試,集成測試不一定依賴于物理平臺的支撐(如:機架);集成測試是分層次的,某模塊集成測試通過后,可以按照集成方案的策劃開始著手下一個(組)模塊或更高級別的模塊的集成,即從(2)再開始,直至按照集成方案的要求將所有的部件集成完畢;當(dāng)按照集成測試計劃全部完成后,就可以進行系統(tǒng)聯(lián)調(diào)了一般意義上,聯(lián)調(diào)是指軟件系統(tǒng)和硬件平臺之間的聯(lián)調(diào),聯(lián)調(diào)完畢后,一個將交付的系統(tǒng)就搭建完成了,因此,聯(lián)調(diào)可以說是更高級別的集成。開發(fā)經(jīng)理在開發(fā)測試相關(guān)人員的協(xié)助下,制定系統(tǒng)聯(lián)調(diào)計劃。相關(guān)人員將已經(jīng)經(jīng)過集成測試軟件系統(tǒng)和硬件平臺集成在一起,構(gòu)成將交付的系統(tǒng),并調(diào)通該系統(tǒng)的基本功能特性,可以用系統(tǒng)與此項或聯(lián)調(diào)方案所規(guī)定的檢驗方法確定基本功能特性是否實現(xiàn),聯(lián)調(diào)在系統(tǒng)聯(lián)調(diào)環(huán)境上進行,是一個反復(fù)調(diào)試的過程;在系統(tǒng)聯(lián)調(diào)調(diào)通后,將系統(tǒng)聯(lián)調(diào)調(diào)通后的版本提交系統(tǒng)預(yù)測試組進行系統(tǒng)預(yù)測試,系統(tǒng)預(yù)測試基于的系統(tǒng)預(yù)測試項是取自系統(tǒng)測試項的系統(tǒng)基本功能項,系統(tǒng)預(yù)測試的目的是確保提交一個可系統(tǒng)測試的版本。在系統(tǒng)比較龐大、接口關(guān)系十分復(fù)雜的產(chǎn)品上,如果因爭取時間或過于自信的原因忽略集成,而直接跨越到聯(lián)調(diào),往往導(dǎo)致模塊間接口問題難以發(fā)現(xiàn)或發(fā)現(xiàn)問題后查錯十分困難,或反復(fù)更改模塊內(nèi)部代碼和接口協(xié)議,造成語速則不達的后果。完整的測試流程是:單元測試-〉集成測試-〉聯(lián)調(diào)-〉系統(tǒng)預(yù)測試-〉系統(tǒng)測試
2006-9-195.1.3集成測試、單元測試與系統(tǒng)測試的差別由以上可以看出,整個軟件系統(tǒng)的測試過程是:先對各個軟件模塊進行單元測試,然后把經(jīng)過單元測試的各個模塊組裝起來進行集成測試,最后把經(jīng)過集成測試的子系統(tǒng)合成軟件版本,對照需求規(guī)格,在實際環(huán)境下,進行系統(tǒng)功能驗證。
測試類型對象目的測試依據(jù)測試方法單元測試模塊內(nèi)部的程序錯誤消除局部模塊的邏輯和功能上的錯誤和缺陷模塊邏輯設(shè)計,模塊外部說明大量采用白盒測試方法集成測試模塊間的集成和調(diào)用關(guān)系找出與軟件設(shè)計相關(guān)的程序結(jié)構(gòu),模塊調(diào)用關(guān)系,模塊間接口方面的問題程序結(jié)構(gòu)設(shè)計結(jié)合使用白盒與黑和測試方法,采用較多黑盒方法構(gòu)造測試用例系統(tǒng)測試整個系統(tǒng),包括系統(tǒng)中的硬件等對整個系統(tǒng)進行一系列的整體、有效性測試系統(tǒng)結(jié)構(gòu)設(shè)計,目標說明書,需求說明書等黑盒測試2006-9-195.2集成測試的基本方案一般來說,按測試過程中組合模塊的方式,有兩種不同的集成方式:一次性集成方式和增值式集成方式。1.一次性集成方式一次性集成方式是一種非增殖集成方式,也叫整體拼裝。按這種集成方式,首先對每個模塊分別進行模塊測試,然后再把所有模塊集成在一起進行測試,最終得到要求的軟件系統(tǒng)。例如,有一塊系統(tǒng)結(jié)構(gòu),如圖(a)所示,其單元測試和集成順序如圖(b)所示。
(a)(b)模塊d1、d2、d3、d4、d5是對各個模塊做單元測試時建立的驅(qū)動模塊,s1、s2、s3、s4、s5是為單元測試而建立的樁模塊。這種一次性集成方式將所測模塊連接起來進行測試,但是一次試運行成功地可能性并不大。其結(jié)果發(fā)現(xiàn)有錯誤,但茫然找不到原因,差錯和改錯都會遇到困難。ABCDEFd5d4d3d2d1BDCEFS1S2AS5S4S3ADCBFE2006-9-192.增殖式集成方式增殖式集成方式也稱為遞增集成法,即逐次將未曾測試的模塊和已測試的模塊(或子系統(tǒng))結(jié)合成程序包,然后將這些模塊集成為較大系統(tǒng),在集成的過程中邊連接邊測試,以發(fā)現(xiàn)連接過程中產(chǎn)生的問題。最后增殖逐步集成為要求的軟件系統(tǒng)。根據(jù)集成的過程又可以分為自頂向下集成自底向上集成“三明治”集成法定向冒險集成法功能定向集成法等2006-9-192.1自頂向下的增殖方式這種集成方式是將模塊按系統(tǒng)的程序結(jié)構(gòu),沿控制層次自頂向下進行集成。步驟:(1)以主模塊為所測模塊兼驅(qū)動模塊,所有直屬于主模塊的下屬模塊全部用樁模塊對主模塊進行測試。(2)采用深度優(yōu)先或?qū)挾葍?yōu)先的策略,用實際模塊替換相應(yīng)樁模塊,再用樁代替它們的直接下屬模塊,與已測試的模塊或子系統(tǒng)集成為新的子系統(tǒng)。如下圖(3)進行回歸測試(即重新執(zhí)行以前做過的全部測試或部分測試),排除集成過程中引起錯誤的可能。(4)判斷是否所有的模塊都已集成到系統(tǒng)中,是則結(jié)束測試,否則轉(zhuǎn)到(2)去執(zhí)行。1.在測試過程中較早地驗證了主要的控制和斷點。2.可以首先實現(xiàn)和驗證一個完整的軟件功能,可先對邏輯輸入的分支進行集成和測試,檢查和克服潛藏的錯誤和缺陷。3.功能可行性較早得到證實,還能給開發(fā)者和用戶帶來成功地信心。ACBAs3s1Es2s3ABs4s3s2AEs3s2BADCBS5EABCDEF加入B加入E加入C加入D加入F按深度方向組裝2006-9-19
自頂向下的集成和測試存在一個邏輯次序問題。在為了充分測試較高層的處理而需要較低層的處理信息時,就會出現(xiàn)這類問題。在自頂向下集成階段,還需要用樁模塊代替較低層的模塊,所以關(guān)于樁模塊的編寫,根據(jù)情況可能有所不同,有如下幾種選擇。
為了能夠準確地實施測試,應(yīng)當(dāng)讓樁模塊正確而有效地模擬子模塊的功能和合理的接口,不能是只包含返回語句或只顯示該模塊已調(diào)用信息、不執(zhí)行任何功能的啞模塊。如果不能使樁模塊正確地向上傳遞有用的信息,可以采用以下解決辦法:(1)將很多測試推遲到樁模塊用實際模塊替代了之后進行;(2)進一步開發(fā)能模擬實際模塊功能的樁模塊;(3)自底向上集成和測試軟件樁模塊stubA樁模塊stubD樁模塊stubC樁模塊stubB顯示跟蹤信息顯示傳遞的信息從一個表(或外部文件)返回一個值進行一項表查詢以根據(jù)輸入?yún)?shù)返回輸出參數(shù)表示傳遞的數(shù)據(jù)消息2006-9-192.2自底向上的增殖方式這種集成的方式是從程序模塊結(jié)構(gòu)的最底層的模塊開始集成和測試。因為模塊是自底向上進行集成,對于一個給定的模塊,它的子模塊(包括子模塊的所有下屬模塊)已經(jīng)集成并測試完成,所以不再需要樁模塊。自底向上增殖的步驟如下:(1)由驅(qū)動模塊控制最底層模塊的并行測試,也可以把最底層模塊組合成實現(xiàn)某一特定軟件功能的簇,由驅(qū)動模塊控制它進行測試。(2)用實際模塊代替驅(qū)動模塊,與它已測試的直屬子模塊集成為子系統(tǒng)。(3)為子系統(tǒng)配備驅(qū)動模塊,進行新的測試。(4)判斷是否已集成到達主模塊,是否結(jié)束測試,否則執(zhí)行(2)。下圖說明自底向上集成和測試的順序:d1Ed2Cd3Fd4DBd5FEAFEDCB2006-9-19自底向上進行集成和測試時,需要為所測模塊或子系統(tǒng)編制相應(yīng)的驅(qū)動模塊。常見的幾種類型的驅(qū)動模塊如圖所示:隨著集成層次的向上移動,驅(qū)動模塊將大為減少。如果對程序模塊結(jié)構(gòu)的最上面兩層模塊采用自頂向下進行集成和測試,可以明顯地減少驅(qū)動模塊的數(shù)目,而且可以大大減少把幾個系統(tǒng)集成起來所需要做的工作。驅(qū)動程序DriverA驅(qū)動程序DriverB驅(qū)動程序DriverC驅(qū)動程序DriverD調(diào)用從屬模塊從表(或外部文件)中傳遞參數(shù)顯示參數(shù)兼有驅(qū)動程序B、C的功能表示傳送的參數(shù)信息2006-9-19
優(yōu)缺點自頂向下增殖的方式和自底向上增殖的方式各有優(yōu)缺點。一般來講,一種方式的優(yōu)點是另一種方式的缺點。1.自頂向下增殖方式的缺點是需要建立樁模塊。要使樁模塊能夠模擬實際子模塊的功能十分困難,同時涉及復(fù)雜算法,真正輸入/輸出的模塊一般在底層,他們是最容易出問題的模塊,到測試和集成的后期才遇到這些模塊,一旦發(fā)現(xiàn)問題導(dǎo)致過多的回歸測試。優(yōu)點是能夠較早地發(fā)現(xiàn)在主要控制方面的問題。2.自底向上增殖方式的缺點是“程序一直未能作為一個實體存在,直到最后一個模塊加上去后才形成一個實體”。就是說,在自底向上集成和測試的過程中,對主要的控制直到最后才接觸到。
優(yōu)點是不需要樁模塊,而建立驅(qū)動模塊一般比建立樁模塊容易,同時由于涉及到復(fù)雜算法和真正輸入/輸出的模塊最先得到集成和測試,可以把最容易出問題的部分在早期解決。此外,自底向上增值的方式可以實施多個模塊的并行測試,提高測試效率。2006-9-19
2.3混合增殖式測試
混合增殖式測試就是把以上兩種方式結(jié)合起來進行集成和測試。這樣可以兼具兩者的優(yōu)點下面介紹3種常見的混合式增殖方式:(1)衍變的自頂向下的增殖方式:它的基本思想是強化對輸入/輸入模塊和引入新算法模塊的測試,并自底向上集成為功能相當(dāng)完整且相對獨立的子系統(tǒng),然后由主模塊開始自頂向下進行增殖測試。(2)自底向上-自頂向下的增殖測試:它首先對含讀操作的子系統(tǒng)自底向上直至根結(jié)點模塊進行集成和測試,然后對含寫操作的子系統(tǒng)作自頂向下的繼承與測試。(3)回歸測試:這種方式采取自頂向
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江省寧波市寧波十校2026屆高二上數(shù)學(xué)期末調(diào)研試題含解析
- 2026屆吉林一中 語文高三第一學(xué)期期末復(fù)習(xí)檢測試題含解析
- 黑龍江省哈爾濱市六校2026屆英語高三上期末教學(xué)質(zhì)量檢測模擬試題含解析
- 2026屆甘肅省慶陽市慶城縣隴東中學(xué)生物高三上期末質(zhì)量檢測試題含解析
- 梧州市三支一扶考試真題2025
- 2025年榆林市橫山區(qū)網(wǎng)格員招聘考試真題
- 政治山東濟南市名校聯(lián)考2025-2026學(xué)年高一年級上學(xué)期1月階段性檢測(1.20-1.21)
- 2026中國科學(xué)院上海生命科學(xué)研究院分子細胞卓越中心金明梁組招聘助理研究員備考題庫及答案詳解(新)
- 罕見病基因檢測與患者賦能策略
- 2026北京中國氣象局地球系統(tǒng)數(shù)值預(yù)報中心博士后科研工作站招收7人備考題庫完整答案詳解
- 《養(yǎng)老服務(wù)政策法規(guī)與標準》智慧健康養(yǎng)老服務(wù)專業(yè)全套教學(xué)課件
- 知識付費商業(yè)模式設(shè)計
- 無錫車聯(lián)天下信息技術(shù)有限公司智能網(wǎng)聯(lián)汽車車載顯示模組研發(fā)及智能化生產(chǎn)項目環(huán)評資料環(huán)境影響
- 抹灰層陰陽角方正度控制技術(shù)
- 【SA8000標準(社會責(zé)任標準)對我國勞動密集型產(chǎn)業(yè)的影響及應(yīng)對措施研究12000字(論文)】
- 醫(yī)療行業(yè)知識產(chǎn)權(quán)教育的必要性
- 2024-2025學(xué)年滬教版(五四學(xué)制)(2024)初中英語六年級下冊(全冊)知識點歸納
- 五年級數(shù)學(xué)下冊寒假作業(yè)每日一練
- 傳染病院感防控課件
- 實習(xí)生醫(yī)德醫(yī)風(fēng)培訓(xùn)
- 橫穿公路管道施工方案
評論
0/150
提交評論