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

聲明:本網站尊重并保護知識產權,根據《信息網絡傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個月內通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:2.977秒