自頂向下集成測(cè)試 自頂向下集成(Top-Down Integration)方式是一個(gè)遞增的組裝軟件結(jié)構(gòu)的方法。
從主控模塊(主程序)開(kāi)始沿控制層向下移動(dòng),把模塊一一組合起來(lái)。分兩種方法: 第一:先深度:按照結(jié)構(gòu),用一條主控制路徑將所有模塊組合起來(lái); 第二:先寬度:逐層組合所有下屬模塊,在每一層水平地 集成測(cè)試 沿著移動(dòng)。
組裝過(guò)程分以下五個(gè)步驟: 步驟一:用主控模塊作為測(cè)試驅(qū)動(dòng)程序,其直接下屬模塊用承接模塊來(lái)代替; 步驟二:根據(jù)所選擇的集成測(cè)試法(先深度或先寬度),每次用實(shí)際模塊代替下屬的承接模塊 步驟三:在組合每個(gè)實(shí)際模塊時(shí)都要進(jìn)行測(cè)試; 步驟四:完成一組測(cè)試后再用一個(gè)實(shí)際模塊代替另一個(gè)承接模塊; 步驟五:可以進(jìn)行回歸測(cè)試(即重新再做所有的或者部分已做過(guò)的測(cè)試),以保證不引入新的錯(cuò)誤。 自底向上集成測(cè)試 自底向上的集成(Bottom-Up Integration)方式是最常使用的方法。
其他集成方法都或多或少地繼承、吸收了這種集成方式的思想。自底向上集成方式從程序模塊結(jié)構(gòu)中最底層的模塊開(kāi)始組裝和測(cè)試。
因?yàn)槟K是自底向上進(jìn)行組裝的,對(duì)于一個(gè)給定層次的模塊,它的子模塊(包括子模塊的所有下屬模塊)事前已經(jīng)完成組裝并經(jīng)過(guò)測(cè)試,所以不再需要編制樁模塊(一種能模擬真實(shí)模塊,給待測(cè)模塊提供調(diào)用接口或數(shù)據(jù)的測(cè)試用軟件模塊)。自底向上集成測(cè)試的步驟大致如下: 步驟一: 按照概要設(shè)計(jì)規(guī)格說(shuō)明,明確有哪些被測(cè)模塊。
在熟悉被測(cè)模塊性質(zhì)的基礎(chǔ)上對(duì)被測(cè)模塊進(jìn)行分層,在同一層次上的測(cè)試可以并行進(jìn)行,然后排出測(cè)試活動(dòng)的先后關(guān)系,制定測(cè)試進(jìn)度計(jì)劃。圖2給出了自底向上的集成測(cè)試過(guò)程中各測(cè)試活動(dòng)的拓?fù)潢P(guān)系。
利用圖論的相關(guān)知識(shí),可以排出各活動(dòng)之間的時(shí)間序列關(guān)系,處于同一層次的測(cè)試活動(dòng)可以同時(shí)進(jìn)行,而不會(huì)相互影響。 步驟二: 在步驟一的基礎(chǔ)上,按時(shí)間線(xiàn)序關(guān)系,將軟件單元集成為模塊,并測(cè)試在集成過(guò)程中出現(xiàn)的問(wèn)題。
這里,可能需要測(cè)試人員開(kāi)發(fā)一些驅(qū)動(dòng)模塊來(lái)驅(qū)動(dòng)集成活動(dòng)中形成的被測(cè)模塊。對(duì)于比較大的模塊,可以先將其中的某幾個(gè)軟件單元集成為子模塊,然后再集成為一個(gè)較大的模塊。
步驟三: 將各軟件模塊集成為子系統(tǒng)(或分系統(tǒng))。檢測(cè)各自子系統(tǒng)是否能正常工作。
同樣,可能需要測(cè)試人員開(kāi)發(fā)少量的驅(qū)動(dòng)模塊來(lái)驅(qū)動(dòng)被測(cè)子系統(tǒng)。 步驟四: 將各子系統(tǒng)集成為最終用戶(hù)系統(tǒng),測(cè)試是否存在各分系統(tǒng)能否在最終用戶(hù)系統(tǒng)中正常工作。
方案點(diǎn)評(píng): 自底向上的集成測(cè)試方案是工程實(shí)踐中最常用的測(cè)試方法。相關(guān)技術(shù)也較為成熟。
它的優(yōu)點(diǎn)很明顯: 管理方便、測(cè)試人員能較好地鎖定軟件故障所在位置。但它對(duì)于某些開(kāi)發(fā)模式不適用,如使用XP開(kāi)發(fā)方法,它會(huì)要求測(cè)試人員在全部軟件單元實(shí)現(xiàn)之前完成核心軟件部件的集成測(cè)試。
盡管如此,自底向上的集成測(cè)試方法仍不失為一個(gè)可供參考的集成測(cè)試方案。 核心系統(tǒng)先行集成測(cè)試 核心系統(tǒng)先行集成測(cè)試法的思想是先對(duì)核心軟件部件進(jìn)行集成測(cè)試,在測(cè)試通過(guò)的基礎(chǔ)上再按各外圍軟件部件的重要程度逐個(gè)集成到核心系統(tǒng)中。
每次加入一個(gè)外圍軟件部件都產(chǎn)生一個(gè)產(chǎn)品基線(xiàn),直至最后形成穩(wěn)定的軟件產(chǎn)品。核心系統(tǒng)先行集成測(cè)試法對(duì)應(yīng)的集成過(guò)程是一個(gè)逐漸趨于閉合的螺旋形曲線(xiàn),代表產(chǎn)品逐步定型的過(guò)程。
其步驟如下: 步驟一: 對(duì)核心系統(tǒng)中的每個(gè)模塊進(jìn)行單獨(dú)的、充分的測(cè)試,必要時(shí)使用驅(qū)動(dòng)模塊和樁模塊; 步驟二: 對(duì)于核心系統(tǒng)中的所有模塊一次性集合到被測(cè)系統(tǒng)中,解決集成中出現(xiàn)的各類(lèi)問(wèn)題。在核心系統(tǒng)規(guī)模相對(duì)較大的情況下,也可以按照自底向上的步驟,集成核心系統(tǒng)的各組成模塊。
步驟三: 按照各外圍軟件部件的重要程度以及模塊間的相互制約關(guān)系,擬定外圍軟件部件集成到核心系統(tǒng)中的順序方案。方案經(jīng)評(píng)審以后,即可進(jìn)行外圍軟件部件的集成。
步驟四: 在外圍軟件部件添加到核心系統(tǒng)以前,外圍軟件部件應(yīng)先完成內(nèi)部的模塊級(jí)集成測(cè)試。 步驟五: 按順序不斷加入外圍軟件部件,排除外圍軟件部件集成中出現(xiàn)的問(wèn)題,形成最終的用戶(hù)系統(tǒng)。
方案點(diǎn)評(píng): 該集成測(cè)試方法對(duì)于快速軟件開(kāi)發(fā)很有效果,適合較復(fù)雜系統(tǒng)的集成測(cè)試,能保證一些重要的功能和服務(wù)的實(shí)現(xiàn)。缺點(diǎn)是采用此法的系統(tǒng)一般應(yīng)能明確區(qū)分核心軟件部件和外圍軟件部件,核心軟件部件應(yīng)具有較高的耦合度,外圍軟件部件內(nèi)部也應(yīng)具有較高的耦合度,但各外圍軟件部件之間應(yīng)具有較低的耦合度。
高頻集成測(cè)試 高頻集成測(cè)試是指同步于軟件開(kāi)發(fā)過(guò)程,每隔一段時(shí)間對(duì)開(kāi)發(fā)團(tuán)隊(duì)的現(xiàn)有代碼進(jìn)行一次集成測(cè)試。如某些自動(dòng)化集成測(cè)試工具能實(shí)現(xiàn)每日深夜對(duì)開(kāi)發(fā)團(tuán)隊(duì)的現(xiàn)有代碼進(jìn)行一次集成測(cè)試,然后將測(cè)試結(jié)果發(fā)到各開(kāi)發(fā)人員的電子郵箱中。
該集成測(cè)試方法頻繁地將新代碼加入到一個(gè)已經(jīng)穩(wěn)定的基線(xiàn)中,以免集成故障難以發(fā)現(xiàn),同時(shí)控制可能出現(xiàn)的基線(xiàn)偏差。使用高頻集成測(cè)試需要具備一定的條件: 可以持續(xù)獲得一個(gè)穩(wěn)定的增量,并且該增量?jī)?nèi)部已被驗(yàn)證沒(méi)有問(wèn)題; 大部分有意義的功能增加可以在一個(gè)相對(duì)穩(wěn)定的時(shí)間間隔(如每個(gè)工作日)內(nèi)獲得; 測(cè)試包和代碼的開(kāi)發(fā)工作必須是并行進(jìn)行的,并且需要版本控制工具。
以下兩種測(cè)試技術(shù)是用于集成測(cè)試:
1)功能性測(cè)試。使用黑盒測(cè)試技術(shù)針對(duì)被測(cè)模塊的接口規(guī)格說(shuō)明進(jìn)行測(cè)試。
2)非功能性測(cè)試。對(duì)模塊的性能或可靠性進(jìn)行測(cè)試。
另外,集成測(cè)試的必要性還在于一些模塊雖然能夠單獨(dú)地工作,但并不能保證連接起來(lái)也能正常工作。程序在某些局部反映不出來(lái)的問(wèn)題,有可能在全局上會(huì)暴露出來(lái),影響功能的實(shí)現(xiàn)。此外,在某些開(kāi)發(fā)模式中,如迭代式開(kāi)發(fā),設(shè)計(jì)和實(shí)現(xiàn)是迭代進(jìn)行的。在這種情況下,集成測(cè)試的意義還在于它能間接地驗(yàn)證概要設(shè)計(jì)是否具有可行性。
集成測(cè)試是確保各單元組合在一起后能夠按既定意圖協(xié)作運(yùn)行,并確保增量的行為正確。它所測(cè)試的內(nèi)容包括單元間的接口以及集成后的功能。使用黑盒測(cè)試方法測(cè)試集成的功能。并且對(duì)以前的集成進(jìn)行回歸測(cè)試。
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請(qǐng)?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號(hào)-4 Copyright ? 2016 學(xué)習(xí)鳥(niǎo). 頁(yè)面生成時(shí)間:2.977秒