1.整合測試也叫組裝測試、聯合測試、子系統測試或部件測試。
2.整合測試是在單元測試的基礎上,將所有模組按照概要設計要求(如根據結構圖)組裝成為子系統或系統,進行整合測試。
1.找出模組介面以及整體體系結構上的問題;
2.確保各元件組合在一起後能夠按照既定意圖協作執行,並確保增量的行為正確;
3.整合測試屬於灰盒測試;
1)驗證介面是否與設計相符合;
2)發現設計和需求中存在的錯誤。
一些模組雖可以單獨正常工作,但不能保證連線起來也能正常工作,程式在某些區域性反映不出來的問題,在全域性上就很有可能暴露出來,影響功能的實現。
因此,整合測試應當考慮一下兩個問題:
1)在把各個模組連線起來的時候,穿越模組介面的資料是否會丟失;
2)全域性資料結構是否有問題,會不會被異常修改。
1)各個子功能組合起來,能否達到預期要求的父功能;
2)乙個模組的功能是否會對另乙個模組的功能產生不利的影響;
3)單個模組的誤差積累起來,是否會放大,從而達到不可接受的程度。
乙個產品的開發過程包括了乙個分層的設計和逐步細化的過程,從最初的產品到最小的單元可以劃分為:產品——>子系統——>硬體子系統、軟體子系統——>軟體模組——軟體程式——>單元。
一般單元測試針對最小的單元結構,系統測試對應於產品級,而當中的所有各層測試都需要通過整合測試來完成,由於整合的力度不同,因此將整合測試劃分為3個級別:
1.模組內整合測試(單元測試完成後)
2.子系統內整合測試,即模組間整合測試
3.子系統間整合測試
整合測試策略是在測試物件分析的基礎上,描述軟體模組整合(組裝)的方式、方法,分類如下:
是屬於非增值式整合(non-incremental integration)的一種方法,也叫一次性組裝或整體拼裝。該整合把所有系統元件一次性集合到被測系統中,不考慮元件之間的相互依賴性或者可能存在的風險。應用乙個系統範圍內的測試包來證明系統最低限度的可操作性。
1)方法(策略)
a.在這種整合方式中,首先對每個模組分別進行單元測試
b.然後再把所有單元組裝在一起進行測試
c.最後得到要求的軟體系統
2)目的
在最短時間內把系統組裝出來,並且通過最少的測試來驗證整個系統
3)優點
a.在有利的情況下,大**整合可以迅速完成整合測試,並且只要極少數的驅動和樁模組設計(如果需要的話);
b.它需要的測試用例也是很少的;
c.該方法比較簡單;
d.多個測試人員可以並行工作,對人力,物力資源利用率較高。
4)缺點
a.這種一次性組裝方式試圖在輔助模組的協助下,在模組單元測試的基礎上,將所測模組連線起來進行測試,但是由於程式中不可避免地存在模組間介面、全域性資料結構等方面的問題,所以一次試執行成功的可能性並不很大;
b.在發現錯誤的時候,其問題定位和修改都比較困難;
c.即使被測系統能夠被一次性整合,但還是會有很多介面錯誤很容易的躲過測試而進入到系統範圍測試內。
5)適用範圍
a.維護型專案(或功能增強型專案),其以前的產品已經很穩定,並且新增的專案只有少數幾個元件被增加和修改;
b.被測系統比較小,並且它的每個元件都經過了充分的單元測試;
c.產品使用了嚴格的淨室軟體工程過程,並且每個開發階段的質量和單元測試質量都非常高。
採用了和設計一樣的順序對系統進行測試,在第一時間內對系統的控制介面進行了驗證。
1)方法(策略)
a. 以主模組為所測模組兼驅動模組,所有直屬於主模組的下屬模組全部用樁模組替換,對主模組進行測試;
b.採用深度優先(depth-first)或者寬度優先(breath-first)的策略,用實際模組替換相應樁模組,再用樁替代它們的直接下屬模組,與已測試的模組或子系統組裝成新的子系統;
c.進行回歸測試,排除組裝過程中引起的錯誤的可能;
d.判斷所有的模組是否都已組裝到系統中?如果是,則結束測試,否則轉到b步驟去執行。
2)目的
從頂層控制開始,採用同設計順序一樣的思路對被測系統進行測試,以驗證系統的介面穩定性。
3)優點
a.自頂向下的增殖方式在測試過程中較早的驗證了主要的控制和判斷點;
b.功能可行性較早得到證實,還能夠給開發者和使用者帶來成功的信心;
c.最多隻需要乙個驅動模組,減少了驅動器開發的費用;
d.由於和設計順序的一致性,可以和設計並行進行,如果目標環境可能存在改變,該方法可以靈活的適應;
e.支援故障隔離。
4)缺點
a.樁的開發和維護是本策略的最大成本,隨著樁數目增加,成本急劇上公升;
b.底層元件中乙個無法預計的需求可能會導致許多頂層元件的修改,這破壞了部分先前構造的測試包;
c.底層元件行為的驗證被推遲;
d.隨著底層模組的不斷增加,整個系統越來越複雜。
5)適用範圍
適用於大部分採用結構化程式設計方法的軟體產品,且產品的結構相對比較簡單,對於具有以下屬性的產品,可以優先考慮該策略:
a.產品控制結構比較清晰和穩定;
b.產品的高層介面變化比較小;
c.產品底層介面未定義或經常可能被修改;
d.產品控制模組具有較大的技術風險,需要盡早被驗證;
e.希望盡早可以看到產品的系統功能行為;
f.在極端程式設計(extreme program)中使用探索式開發風格時,其整合策略可以採用自頂向下。
是從程式模組結構的最底層的模組開始組裝和測試,因為模組是自底向上進行組裝,對於乙個給定層次的模組,它的子模組(包括子模組下屬所有模組)已經組裝並測試完成,所有不在需要樁模組。在模組的測試過程中需要從子模組得到的資訊可以通過直接執行子模組得到。
也稱為混合式整合,集合了自頂向下和自底向上兩種策略的優點,它將系統劃分為3層,中間一層為目標層,測試的時候,對目標層上面的一層使用自頂向下的整合策略,對目標層下面的一層使用自底向上的整合策略,最後測試在目標層會合。
在很多系統中,尤其是嵌入式系統,一般劃分為兩個部分:內和部分(基幹部分)和外圍應用部分,這兩部分經常被不同的專案組並行開發,該策略首先要識別應用的控制項部分,基幹部分和應用子系統部分,然後進行測試。
結合自頂向下,自底向上和大**整合的元素,驗證緊密耦合的子系統之間的互操作性。
分層整合是針對分層模型使用的一種策略。
通過增量式整合的方法驗證乙個具有層次體系結構的應用系統的穩定性和可互操作性。
是從功能角度出發,按照功能的關鍵程度對模組的整合順序進行組織。
採用增值的方法,盡早的驗證系統關鍵功能。
考慮了專案的進度壓力,兼顧進度和質量,在兩者之間尋找均衡點進行測試,該整合的最基本策略是把最早可獲得的**拿來立即進行整合,必要的時候開發樁模組和驅動模組,在最大程度上保持與開發的並行性,從而縮短了專案整合的時間。
是基於假設:系統風險最高的模組間的整合往往是錯誤集中的地方,因此盡早的驗證這些介面有助於加速系統的穩定。所以該整合需在第一時間內驗證高危模組間的介面,保證系統的穩定性。
針對基於狀態機的系統(工作原理是基於狀態變遷,內部模組間的介面主要通過訊息來完成),因此該整合是從驗證訊息路徑的正確性角度出發,漸增式的把系統整合到一起,從而驗證系統的穩定性。
針對物件導向的系統,從分析類之間的依賴關係出發,通過從最小依賴關係的類開始整合,逐步擴大,最後整合到整個系統,通過該整合方法,可以驗證類之間介面的正確性。
針對可以有許多併發執行、沒有專門控制軌跡的元件、以及沒有專門伺服器層的分布式系統。
驗證鬆散耦合的同級元件之間互動的穩定性。
對於和單獨的伺服器元件進行鬆散耦合的客戶端元件,可以使用客戶/伺服器整合來完成。
驗證客戶和伺服器之間互動的穩定性。
快速迭代式開發和增量式開發可能會導致系統功能的遺漏和衝突,該整合主要是為了避免以上問題,同時控制可能出現的基線偏差。
軟體測試 整合測試方法
我想說起整合測試來大家一定都不陌生,但是如果說起整合測試的具體測試方法大家是否了解呢,那我來介紹一下有關整合測試的方法,希望對新手有所幫助。整合測試是單元測試的邏輯擴充套件。它的最簡單的形式是 兩個已經測試過的單元組合成乙個元件,並且測試它們之間的介面。從這一層意義上講,元件是指多個單元的整合聚合。...
軟體測試 整合測試策略
這是一種非增量整合方法,將所有系統元件一次性整合在一起,不考慮元件的依賴性和可能的風險。優點 整合測試可以快速完成,只需要很少的存根和驅動程式 多個測試人員可以並行工作,人力和物力資源利用率更高。缺點 一旦出現問題,問題的定位相對困難 許多介面錯誤直到系統測試後才會被發現。流程 首先集中在頂層元件,...
軟體測試 整合測試策略總結
整合測試策略 型別非漸增式整合 漸增式整合 基本方法 先進行單元測試,再將所有模組一起進行整合測試。把程式劃分成小段來構造和測試 自頂向下 自底向上 三明治特點 需要的用例少,比較簡單,效率較高 但不能處理複雜的程式,而且不容易一次成功。比較容易定位和改正錯誤,對介面可以進行更徹底測試。漸增式整合 ...