集成測試010的課件知識_第1頁
集成測試010的課件知識_第2頁
集成測試010的課件知識_第3頁
集成測試010的課件知識_第4頁
集成測試010的課件知識_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第三章集成測試3.1基本概念3.2集成測試目的3.3集成測試層次3.4集成測試方法3.5集成靜態(tài)測試3.6集成策略3.7集成測試流程3.8案例分析13.1基本概念定義集成測試又稱組裝測試、聯(lián)合測試、子系統(tǒng)測試或部件測試。集成測試是在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求(如根據(jù)結(jié)構(gòu)圖)組裝成子系統(tǒng)或系統(tǒng)進(jìn)行的測試活動。單元測試完成后便進(jìn)入集成測試階段。23.1.1集成測試與單元測試的區(qū)別測試對象有所區(qū)別;集成測試關(guān)注的是模塊間的接口,接口之間的數(shù)據(jù)傳遞關(guān)系,單元組合后是否實(shí)現(xiàn)預(yù)計(jì)的功能。集成測試組裝的對象比單元測試的對象級別要高。33.1.2集成測試與系統(tǒng)測試的區(qū)別系統(tǒng)測試對象是整個系統(tǒng)以及與系統(tǒng)交互的硬件和軟件平臺。系統(tǒng)測試更多程度上是站在用戶的角度上對系統(tǒng)做功能性的驗(yàn)證,同時還對系統(tǒng)進(jìn)行一些非功能性的驗(yàn)證,包括系統(tǒng)測試測試、壓力測試、安全性測試、恢復(fù)性測試等。系統(tǒng)測試的依據(jù)來自用戶的需求規(guī)格說明書和行業(yè)的已成文的或事實(shí)上的標(biāo)準(zhǔn)。集成測試所測試的對象是模塊間的接口,其目的是要找出在模塊接口上面,包括整體體系結(jié)構(gòu)上的問題。其測試的依據(jù)來自系統(tǒng)的高層設(shè)計(jì)(架構(gòu)設(shè)計(jì)或概要設(shè)計(jì))。軟件的集成測試工作最好由不屬于該軟件開發(fā)組的軟件設(shè)計(jì)人員承擔(dān),以提高集成測試的效果。43.2集成測試目的在把各個模塊連接起來的時侯,穿越模塊接口的數(shù)據(jù)是否會丟失;一個模塊的功能是否會對另一個模塊的功能產(chǎn)生不利的影響;各個子功能組合起來,能否達(dá)到預(yù)期要求的父功能;全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問題;單個模塊的誤差累積起來,是否會放大,從而達(dá)到不能接受的程度。在單元測試的同時可進(jìn)行集成測試,發(fā)現(xiàn)并排除在模塊連接中可能出現(xiàn)的問題,最終構(gòu)成要求的軟件系統(tǒng)。53.3集成測試的層次子系統(tǒng)內(nèi)集成測試(模塊)子系統(tǒng)間集成測試(可執(zhí)行程序)63.3集成測試的層次模塊與子系統(tǒng)的區(qū)別例子配用電監(jiān)測與管理系統(tǒng)由很多個子系統(tǒng)組成,如通訊子系統(tǒng)、數(shù)據(jù)采集子系統(tǒng)、報(bào)警服務(wù)子系統(tǒng)、前置機(jī)應(yīng)用子系統(tǒng)等。而每個子系統(tǒng)又由多個功能模塊組成,如數(shù)據(jù)采集子系統(tǒng)由檔案參數(shù)模塊、任務(wù)處理模塊、規(guī)約解析模塊等組成73.3集成測試的層次83.4集成測試方法靜態(tài)測試概要設(shè)計(jì)的測試動態(tài)測試黑盒測試,但有時候需了解內(nèi)部細(xì)節(jié)并結(jié)合白盒測試,所以更多的資料將黑盒和白盒相結(jié)合的測試稱為灰盒測試。集成測試的依據(jù)是需求規(guī)格說明書、概要設(shè)計(jì)及詳細(xì)設(shè)計(jì)說明書。93.5集成靜態(tài)測試測試內(nèi)容主要測試概要設(shè)計(jì)同需求的一致性,以及概要設(shè)計(jì)的合理性。測試方法采用同行評審的形式是審查或小組評審概要設(shè)計(jì)是將軟件需求轉(zhuǎn)換為軟件的系統(tǒng)體系結(jié)構(gòu)、程序界面和數(shù)據(jù)結(jié)構(gòu)的過程,及開發(fā)語言和工具的選擇。因此概要設(shè)計(jì)的測試主要從這幾個方面進(jìn)行。103.5.1系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)測試體系結(jié)構(gòu)的“4+1”視圖描述用例視圖:用例視圖定義系統(tǒng)的外部行為,是最終用戶、分析人員和測試人員所關(guān)注的。用例視圖定義了系統(tǒng)的功能,是描述系統(tǒng)設(shè)計(jì)和構(gòu)建的其它視圖的基礎(chǔ),即用例驅(qū)動。邏輯視圖:邏輯視圖描述邏輯結(jié)構(gòu),該邏輯結(jié)構(gòu)支持用例視圖描述的功能,它描述了問題空間中的概念以及實(shí)現(xiàn)系統(tǒng)功能的機(jī)制,如類(抽象類)、包、子系統(tǒng)等,因而是編程人員最關(guān)心的。實(shí)現(xiàn)視圖:實(shí)現(xiàn)描述用于組建系統(tǒng)的物理組件,如可執(zhí)行文件、DLL、.java文件、.cpp文件代碼和數(shù)據(jù)庫等系統(tǒng)程序員所看到的軟件產(chǎn)物,是和配置管理以及系統(tǒng)集成相關(guān)的信息。進(jìn)程視圖:進(jìn)程視圖描述將系統(tǒng)分解為過程和任務(wù),以及這些并發(fā)元素之間的通信與同步。部署視圖:描述系統(tǒng)的物理網(wǎng)絡(luò)布局及程序分布,是系統(tǒng)工程師和網(wǎng)絡(luò)工程師所感興趣的。113.5.2數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)測試數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)確定軟件涉及的文件系統(tǒng)的結(jié)構(gòu)以及數(shù)據(jù)庫的模式、子模式,進(jìn)行數(shù)據(jù)完整性和安全性的設(shè)計(jì)。它包括:確定輸入、輸出文件的詳細(xì)的數(shù)據(jù)結(jié)構(gòu);結(jié)合算法設(shè)計(jì),確定算法所必須的邏輯數(shù)據(jù)結(jié)構(gòu)及操作;內(nèi)部模塊之間的接口數(shù)據(jù)格式設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)合理性。具體數(shù)據(jù)庫設(shè)計(jì)合理性見數(shù)據(jù)庫相關(guān)專業(yè)書籍。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)測試主要依據(jù)以上標(biāo)準(zhǔn)。123.5.3程序界面設(shè)計(jì)測試目前流行的界面風(fēng)格有三種方式:多窗體、單窗體以及資源管理器風(fēng)格,無論那種風(fēng)格,以下規(guī)則是應(yīng)該被重視的。規(guī)則133.5.4開發(fā)語言和工具選擇與當(dāng)前主流技術(shù)一致性;與公司目前掌握技術(shù)一致性;對客戶業(yè)務(wù)滿足性14概要設(shè)計(jì)檢查單例子153.6集成策略集成策略就是在測試對象分析的基礎(chǔ)上,描述軟件模塊集成(組裝)的方式、方法。集成的基本策略比較多,分類比較復(fù)雜,但不管怎樣分,所以分類分類方法都可以歸結(jié)為非增值式和增值式兩大類,其余的很多方法都是在此基礎(chǔ)上的細(xì)分。163.6.1非增值式策略先分別測試每個模塊,再把所有模塊按設(shè)計(jì)要求放在一起結(jié)合成所要的程序。優(yōu)點(diǎn):一是方法簡單,二是允許多個測試人員并行工作,對人力、物力資源利用率較高。缺點(diǎn):必須為每個模塊準(zhǔn)備相應(yīng)的驅(qū)動模塊和輔助樁模塊,故測試成本較高;其次,一旦集成后的系統(tǒng)包含多種錯誤,難以對錯誤定位和糾正。173.6.2增值式策略這種集成方式又稱漸增式組裝。首先對一個個模塊進(jìn)行模塊測試,然后將這些模塊逐步組裝成較大的系統(tǒng),在組裝的過程中邊連接邊測試,以發(fā)現(xiàn)連接過程中產(chǎn)生的問題。通過增值逐步組裝成為要求的軟件系統(tǒng)。相對非增值式策略,可以較早發(fā)現(xiàn)模塊間的接口錯誤;發(fā)現(xiàn)問題也易于定位。它的缺點(diǎn)是測試周期比較長,可以同時投入的人力物力受限。183.6.2增值式策略增值方式有兩種方式:自頂向下(TopDownTesting)自底向上(BottomUpTesting)19自頂向下(TopDownTesting)從主控模塊(“主程序”)開始,沿著軟件的控制層次向下移動,從而逐漸把各個模塊結(jié)合起來。這種測試方法不需要驅(qū)動模塊。在組裝過程中,可以使用深度優(yōu)先的策略,或?qū)挾葍?yōu)先的策略。20自頂向下(TopDownTesting)

—深度優(yōu)先AS1S2S3ABS2S3S4ABS2S3EABCS3ES5ABCDES5ABCDEF測試A加入B加入E加入C加入D加入F21自頂向下(TopDownTesting)

—寬度優(yōu)先AS1S2S3ABS2S3S4ABCS3S4ABCDS4S5ABCDES5ABCDEF測試A加入B加入C加入D加入E加入F22自頂向下(TopDownTesting)步驟:對主控模塊進(jìn)行測試,測試時用存根程序代替所有直接附屬于主控模塊的模塊根據(jù)選定的結(jié)合策略(深度優(yōu)先或?qū)挾葍?yōu)先),每次用一個實(shí)際模塊代替一個存根程序(新結(jié)合進(jìn)來的模塊往往又需要新的存根程序)在結(jié)合下一個模塊的同時進(jìn)行測試為了保證加入模塊沒有引進(jìn)新的錯誤,可能需要進(jìn)行回歸測試(即,全部或部分地重復(fù)以前做過的測試)從第2步開始不斷地重復(fù)進(jìn)行上述過程,直至完成。23自底向上(BottomUpTesting)這種組裝的方式是從程序模塊結(jié)構(gòu)的最底層的模塊開始組裝和測試。24自底向上(BottomUpTesting)具體策略是:把低層模塊組合成實(shí)現(xiàn)某個特定的軟件子功能的族。寫一個驅(qū)動程序(用于測試的控制程序),協(xié)調(diào)測試數(shù)據(jù)的輸入和輸出。對由模塊組成的子功能族進(jìn)行測試。去掉驅(qū)動程序,沿軟件結(jié)構(gòu)自下向上移動,把子功能族組合起來形成更大的子功能族。循環(huán)(2)-(4)步253.6.2增值式策略自頂向下和自底向上法的比較“自頂向下”法的主要優(yōu)點(diǎn):不需要測試驅(qū)動程序,能夠在測試階段的早期實(shí)現(xiàn)并驗(yàn)證系統(tǒng)的主要功能,而且能在早期發(fā)現(xiàn)上層模塊的接口錯誤?!白皂斚蛳隆狈ǖ闹饕秉c(diǎn):需要存根程序,可能遇到與此相聯(lián)系的測試?yán)щy,低層關(guān)鍵模塊中的錯誤發(fā)現(xiàn)較晚,而且用這種方法在早期不能充分展開人力。“自底向上”法的優(yōu)缺點(diǎn)與“自頂向下”法剛好相反。263.6.3混合增值式策略對軟件結(jié)構(gòu)中較上層,使用的是“自頂向下”法;對軟件結(jié)構(gòu)中較下層,使用的是“自底向上”法,兩者相結(jié)合273.6.4基于事件(消息)集成策略從驗(yàn)證消息路徑的正確性出發(fā),漸增式把系統(tǒng)集成在一起,從而驗(yàn)證系統(tǒng)的穩(wěn)定性。,面向?qū)ο笙到y(tǒng)中,每個功能路徑對應(yīng)于一系列事件,可以將對應(yīng)于系統(tǒng)的一個輸入或者是事件所需要的類集成到一起,然后分別進(jìn)行測試。測試的步驟如下:從系統(tǒng)的外部看,分析系統(tǒng)可能輸入消息集。選取一條消息,根據(jù)序列圖或協(xié)作圖中的事件交互關(guān)系,將相關(guān)類集成在一起進(jìn)行測試。選取下一條消息,根據(jù)序列圖或協(xié)作圖中的事件交互關(guān)系,將相關(guān)類集成在一起進(jìn)行測試。直到所有類都被集成到系統(tǒng)中。主要測試依據(jù)是序列圖或協(xié)作圖283.6.5基于使用集成策略針對面向?qū)ο笙到y(tǒng),通過類之間的使用關(guān)系來集成系統(tǒng),從而驗(yàn)證系統(tǒng)的穩(wěn)定性。在一個面向?qū)ο笙到y(tǒng)中,存在一些獨(dú)立的類和一些相互耦合的類?;谑褂玫募蓮姆治鲱愔g的依賴關(guān)系或包含關(guān)系出發(fā),通過最小依賴關(guān)系/包含關(guān)系的類開始集成,逐步擴(kuò)大有相互關(guān)系的類,最后集成到整個系統(tǒng)。通過該集成方法,可以驗(yàn)證類之間接口的正確性。測試步驟如下:劃分類之間耦合關(guān)系;測試獨(dú)立的類;逐步增加具有依賴或包含關(guān)系的類(既使用獨(dú)立類的類),直到構(gòu)造完整個系統(tǒng)。主要測試依據(jù)是類關(guān)系圖。293.6.6分層集成策略分層模型在通信系統(tǒng)中是很常見的。分層集成就是針對這個特點(diǎn)使用的一種集成策略。系統(tǒng)的層次劃分可以通過邏輯的或物理的手段進(jìn)行。在邏輯上,一般通過功能把系統(tǒng)劃分成不同層次的功能單元,功能單元內(nèi)部具有較高的耦合性,相互之間的關(guān)系具有線性層次關(guān)系。層次集成可能是自頂向下或自底向上的。一個自頂向下的方法采用下列步驟:首先單獨(dú)測試每一層。對于頂層而言,需要構(gòu)造樁;對于底層,需要構(gòu)造驅(qū)動;對于中間層,需要構(gòu)造驅(qū)動和樁。執(zhí)行層次的自頂向下集成。結(jié)果測試包/驅(qū)動器應(yīng)該被設(shè)計(jì)為可復(fù)用/可重運(yùn)行于隨后的集成。在接下來的一層中使用自頂向下的方法。去掉第二層的樁并實(shí)現(xiàn)接口。擴(kuò)充控制測試包以達(dá)到所有新實(shí)現(xiàn)的構(gòu)件再運(yùn)行測試。每層的接口通過以后,去掉所有樁并實(shí)現(xiàn)到下一層的接口。303.7集成測試流程集成測試計(jì)劃集成測試分析與設(shè)計(jì)集成測試實(shí)現(xiàn)集成測試執(zhí)行集成測試評估軟件體系結(jié)構(gòu)初步分析集成測試對象分析集成測試工具開發(fā)建立集成測試環(huán)境集成測試數(shù)據(jù)分析關(guān)鍵特性分析集成策略選擇集成測試代碼開發(fā)執(zhí)行集成測試集成測試評估工作量估計(jì)集成測試工具選擇和設(shè)計(jì)集成測試用例開發(fā)測試結(jié)果記錄資源安排集成測試代碼設(shè)計(jì)進(jìn)度安排集成測試用例設(shè)計(jì)313.7.1制定集成測試計(jì)劃集成測試計(jì)劃應(yīng)在概要設(shè)計(jì)階段完成,一般情況下,概要設(shè)計(jì)結(jié)束并完成評審后一個星期,集成測試計(jì)劃應(yīng)完成。集成測試計(jì)劃的輸入有(制定依據(jù)):需求規(guī)格說明書;概要設(shè)計(jì)說明書;產(chǎn)品開發(fā)計(jì)劃書323.7.1制定集成測試計(jì)劃集成測試計(jì)劃的內(nèi)容有:確定集成測試對象和測試范圍;確定集成測試階段性時間進(jìn)度;確定測試角色和分工;考慮外部技術(shù)支援的力度和深度,以及相關(guān)培訓(xùn)安排;初步考慮測試環(huán)境和所需資源;集成測試活動風(fēng)險(xiǎn)分析和應(yīng)對;定義測試完成標(biāo)準(zhǔn);333.7.2集成測試分析和設(shè)計(jì)集成測試分析和設(shè)計(jì)的主要目的是制定測試大綱(測試方案)。集成測試大綱規(guī)定了今后的集成測試內(nèi)容、測試方法以及可測性接口,以后所有集成測試均在該大綱的框架下進(jìn)行,所有,制定一份完善的集成測試大綱非常重要。343.7.2集成測試分析和設(shè)計(jì)具體工作內(nèi)容:確定測試需求確定集成策略評估測試風(fēng)險(xiǎn)確定測試優(yōu)先級確定測試方法集成代碼設(shè)計(jì)集成測試用例設(shè)計(jì)集成測試工具和資源353.7.2.1測試需求體系結(jié)構(gòu)分析363.7.2.1測試需求確定集成測試層次373.7.2.1測試需求測試對象分析即集成測試模塊的劃分明顯輸入輸出被集成的幾個模塊關(guān)系緊密,能夠完成某種或某部分功能。外圍模塊便于屏蔽,外圍模塊與集成模塊之間沒有太多、太頻繁的調(diào)用關(guān)系,如果實(shí)在無法避免,將不得不考慮編寫樁程序,以代替被屏蔽部分的功能。模擬外圍模塊發(fā)往被集成模塊的消息容易構(gòu)造,修改。外圍模塊發(fā)往被測試模塊的消息能夠模擬大部分實(shí)際情況。

383.7.2.1測試需求集成測試接口的確定接口的劃分。接口的劃分是以概要設(shè)計(jì)為基礎(chǔ)的,其方法與相關(guān)的結(jié)構(gòu)設(shè)計(jì)技術(shù)類似。一般可以通過下面幾個步驟來完成:確定系統(tǒng)的邊界、子系統(tǒng)(進(jìn)程)邊界和模塊的邊界;確定模塊內(nèi)部的邊界;確定子系統(tǒng)內(nèi)模塊間接口;確定子系統(tǒng)(進(jìn)程)間接口;確定系統(tǒng)與操作系統(tǒng)的接口;確定系統(tǒng)與硬件的接口;確定系統(tǒng)與第三方軟件的接口。393.7.2.1測試需求集成測試接口的確定(續(xù))接口的分類。主要包括以下幾種:函數(shù)接口。通過函數(shù)的調(diào)用和別調(diào)用關(guān)系來確定。關(guān)于函數(shù)接口的集成測試比較成熟。類接口。在面向?qū)ο蟮南到y(tǒng)中,類接口是最基本的接口。類接口一般可以通過繼承、參數(shù)類、不同類方法調(diào)用等策略來實(shí)現(xiàn)。組件接口。這類組件主要通過ORB(對象請求代理)來相互交換信息。ORB是一種中間件技術(shù),負(fù)責(zé)管理和支持分布式對象或組件之間的通信。ORB有三個主要的標(biāo)準(zhǔn):a)OMGCORBA標(biāo)準(zhǔn);b)JavaRMI和RMI-IIOP;c)MicrosoftCOM/DCOM/COM+。Webservice:子系統(tǒng)(進(jìn)程)間的接口。這類接口主要有:a)中間文件;b)數(shù)據(jù)庫;c)socketd)消息隊(duì)列;e)管道;f)信號;g)信號量;h)共享內(nèi)存;i)遠(yuǎn)程過程調(diào)用等。403.7.2.2確定集成策略主要依據(jù)軟件體系結(jié)構(gòu)分析來選擇合適的集成策略。一個好的集成策略應(yīng)該具有以下特點(diǎn):使被測對象能夠得到比較充分的測試,尤其是其包含的關(guān)鍵特性。能夠使模塊與接口的劃分清晰明了,盡可能減少后繼操作難度,同時使需要做的輔助工作量最小;整體工作量對于投入測試的資源來說大致相當(dāng),參加測試的人力、環(huán)境、時間等資源能夠得到充分利用。413.7.2.2確定集成策略對于面向?qū)ο笤O(shè)計(jì)技術(shù)的程序,選擇策略的大體思路是:第一種稱為基于序列圖的測試,將對應(yīng)系統(tǒng)的一個功能的一個輸入或者是事件所需要的類集成在一起,然后分別測試;第二種稱為基于使用的測試,首先測試那些獨(dú)立類,然后將那些與獨(dú)立類的依賴類集成進(jìn)來測試一直到構(gòu)造整個系統(tǒng)。在這個測試過程中盡量使用真實(shí)代碼完成操作而不是使用測試代碼來替代真實(shí)操作。423.7.2.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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論