集成測試方法 集成測試方法
要想獲得穩定而功能正確的系統,僅進行單元測試是不夠的。許多缺陷與模塊的集成有關。如果需求沒有被正式描述,那么每個人就要對需求做出自己的解釋。只要這些解釋與其他模塊的交互無關,那就沒有什么問題。模塊之間的錯誤交互,通常都是由于各自對需求有不同的解釋而引起的。檢測這些缺陷的最好手段是集成測試。集成策略就用來確定如何將不同的模塊集成到一個完整的系統中。這里的集成包含硬件和軟件兩方面。由于不同的軟件模塊之間、不同的硬件之間以及硬件和軟件之間都存在依賴性,因而必須決定采用哪種集成策略。在特定時刻。所有這些部分都必須準備好以便集成。這個時刻依賴于集成策略。由于集成策略對于項目活動的時間安排有重大影響,應當盡可能早地確定采用哪種策略。自上向下集成、自下向上集成和混合(b培b蛐g)集成是三種不同的基本策略。因為這三種策略并不相互排斥,因此基于這三種策略的組合可以派生出多種策略。集成策略依賴于:
一集成部件的可用性(例如第三方軟件或硬件)。
一系統規模。
一是新系統還是在現有系統上增加,改變功能。
一體系架構。
混合集成
這一策略只能在下列條件下才能獲得成功:
■系統的絕大部分是穩定的,只需添加小部分新的模塊。
■系統規模相對較小。
一各模塊之間是緊耦合的,幾乎不可能逐步集成不同的模塊。
這一策略十分簡單,只需將所有的模塊集成在一塊,將系統當成一個整體進行測試就可以了。
其主要好處是不需要使用占位(stub)與驅動程序,而且策略也很簡單。不過比較難以發現引起缺陷的原因,而且只有在所有的模塊都準各好了的情況下,才能開始集成。
自下向上集成
對任何系統幾乎都可以采用這一策略。該策略是從低層次的、相互之間依賴性最步的模塊開始的,可以用驅動程序來測試這些模塊。這種策略能用來逐步建立系統,或者首先并行地建立起子系統,然后集成為一個完整系統。這種集成可以從開發過程的早期就開始進行。當然,如果項目計劃中模塊提交也是采用自下而上的方式,那么采用這種方法就能夠盡早檢測出接口問題,而且這些接口問題也比較容易被隔離,因此解決起來成本就低。其主要缺點是需要使用許多驅動程序來執行這一策略,而且因為測試需要迭代,所以也是一種非常耗時的策略。
自上向下集成
這種策略由系統的控制結構來引導??刂平Y構按照自上向下的順序開發,這也提供了從上層控制模塊開始,自上而下集成模塊的能力。對每一個新的層次,位于同一層次的相關模塊被集成起來并得到測試。還不存在的模塊角色可以用占位來實現。采用該集成策略的一個缺點是:如果需求發生了變化,變化對底層模塊產生影響,從而也將導致上層模塊需要更改。這可能導致需要(部分)重新開始集成以及測試過程。另一個缺點是用于測試每個集成步驟所必須用的占位數目很大。如果在早期從上層模塊開始集成測試,即使采用占位來替代系統的主要部件。仍然可以觀察到整個系統的概貌以及工作方式。
原文轉自:http://www.anti-gravitydesign.com