小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

軟件測試之

 t涂鴉 2021-02-23

1、集成測試概念

1.集成測試也叫組裝測試、聯(lián)合測試、子系統(tǒng)測試或部件測試。

2.集成測試是在單元測試的基礎(chǔ)上,將所有模塊按照概要設(shè)計要求(如根據(jù)結(jié)構(gòu)圖)組裝成為子系統(tǒng)或系統(tǒng),進行集成測試。

2、集成測試的目的

1.找出模塊接口以及整體體系結(jié)構(gòu)上的問題;

2.確保各組件組合在一起后能夠按照既定意圖協(xié)作運行,并確保增量的行為正確;

3.集成測試屬于灰盒測試;

1)驗證接口是否與設(shè)計相符合;

2)發(fā)現(xiàn)設(shè)計和需求中存在的錯誤。

3、集成測試關(guān)注的重點

一些模塊雖可以單獨正常工作,但不能保證連接起來也能正常工作,程序在某些局部反映不出來的問題,在全局上就很有可能暴露出來,影響功能的實現(xiàn)。

因此,集成測試應(yīng)當考慮一下兩個問題:

1.模塊間的接口(需要考慮的有兩點)

1)在把各個模塊連接起來的時候,穿越模塊接口的數(shù)據(jù)是否會丟失;

2)全局數(shù)據(jù)結(jié)構(gòu)是否有問題,會不會被異常修改。

2.集成后的功能(需要考慮三點)

1)各個子功能組合起來,能否達到預(yù)期要求的父功能;

2)一個模塊的功能是否會對另一個模塊的功能產(chǎn)生不利的影響;

3)單個模塊的誤差積累起來,是否會放大,從而達到不可接受的程度。

4、集成測試的層次

一個產(chǎn)品的開發(fā)過程包括了一個分層的設(shè)計和逐步細化的過程,從最初的產(chǎn)品到最小的單元可以劃分為:產(chǎn)品——>子系統(tǒng)——>硬件子系統(tǒng)、軟件子系統(tǒng)——>軟件模塊——軟件程序——>單元。

一般單元測試針對最小的單元結(jié)構(gòu),系統(tǒng)測試對應(yīng)于產(chǎn)品級,而當中的所有各層測試都需要通過集成測試來完成,由于集成的力度不同,因此將集成測試劃分為3個級別:

1.模塊內(nèi)集成測試(單元測試完成后)

2.子系統(tǒng)內(nèi)集成測試,即模塊間集成測試

3.子系統(tǒng)間集成測試

5、集成測試策略

集成測試策略是在測試對象分析的基礎(chǔ)上,描述軟件模塊集成(組裝)的方式、方法,分類如下:

1.大爆炸集成(Big Bang Integration)

是屬于非增值式集成(Non-Incremental Integration)的一種方法,也叫一次性組裝或整體拼裝。該集成把所有系統(tǒng)組件一次性集合到被測系統(tǒng)中,不考慮組件之間的相互依賴性或者可能存在的風險。應(yīng)用一個系統(tǒng)范圍內(nèi)的測試包來證明系統(tǒng)最低限度的可操作性。

1)方法(策略)
a.在這種集成方式中,首先對每個模塊分別進行單元測試
b.然后再把所有單元組裝在一起進行測試
c.最后得到要求的軟件系統(tǒng)

2)目的
在最短時間內(nèi)把系統(tǒng)組裝出來,并且通過最少的測試來驗證整個系統(tǒng)

3)優(yōu)點
a.在有利的情況下,大爆炸集成可以迅速完成集成測試,并且只要極少數(shù)的驅(qū)動和樁模塊設(shè)計(如果需要的話);
b.它需要的測試用例也是很少的;
c.該方法比較簡單;
d.多個測試人員可以并行工作,對人力,物力資源利用率較高。

4)缺點
a.這種一次性組裝方式試圖在輔助模塊的協(xié)助下,在模塊單元測試的基礎(chǔ)上,將所測模塊連接起來進行測試,但是由于程序中不可避免地存在模塊間接口、全局數(shù)據(jù)結(jié)構(gòu)等方面的問題,所以一次試運行成功的可能性并不很大;
b.在發(fā)現(xiàn)錯誤的時候,其問題定位和修改都比較困難;
c.即使被測系統(tǒng)能夠被一次性集成,但還是會有很多接口錯誤很容易的躲過測試而進入到系統(tǒng)范圍測試內(nèi)。

5)適用范圍
a.維護型項目(或功能增強型項目),其以前的產(chǎn)品已經(jīng)很穩(wěn)定,并且新增的項目只有少數(shù)幾個組件被增加和修改;
b.被測系統(tǒng)比較小,并且它的每個組件都經(jīng)過了充分的單元測試;
c.產(chǎn)品使用了嚴格的凈室軟件工程過程,并且每個開發(fā)階段的質(zhì)量和單元測試質(zhì)量都非常高。

2.自頂向下的集成策略(Top-Down Integration)

采用了和設(shè)計一樣的順序?qū)ο到y(tǒng)進行測試,在第一時間內(nèi)對系統(tǒng)的控制接口進行了驗證。

1)方法(策略)
 a. 以主模塊為所測模塊兼驅(qū)動模塊,所有直屬于主模塊的下屬模塊全部用樁模塊替換,對主模塊進行測試;
 b.采用深度優(yōu)先(Depth-First)或者寬度優(yōu)先(Breath-First)的策略,用實際模塊替換相應(yīng)樁模塊,再用樁替代它們的直接下屬模塊,與已測試的模塊或子系統(tǒng)組裝成新的子系統(tǒng);
        c.進行回歸測試,排除組裝過程中引起的錯誤的可能;
 d.判斷所有的模塊是否都已組裝到系統(tǒng)中?如果是,則結(jié)束測試,否則轉(zhuǎn)到b步驟去執(zhí)行。

2)目的
從頂層控制開始,采用同設(shè)計順序一樣的思路對被測系統(tǒng)進行測試,以驗證系統(tǒng)的接口穩(wěn)定性。

3)優(yōu)點
a.自頂向下的增殖方式在測試過程中較早的驗證了主要的控制和判斷點;
    b.功能可行性較早得到證實,還能夠給開發(fā)者和用戶帶來成功的信心;
c.最多只需要一個驅(qū)動模塊,減少了驅(qū)動器開發(fā)的費用;
d.由于和設(shè)計順序的一致性,可以和設(shè)計并行進行,如果目標環(huán)境可能存在改變,該方法可以靈活的適應(yīng);
e.支持故障隔離。

4)缺點
a.樁的開發(fā)和維護是本策略的最大成本,隨著樁數(shù)目增加,成本急劇上升;
b.底層組件中一個無法預(yù)計的需求可能會導致許多頂層組件的修改,這破壞了部分先前構(gòu)造的測試包;
c.底層組件行為的驗證被推遲;
d.隨著底層模塊的不斷增加,整個系統(tǒng)越來越復(fù)雜。

5)適用范圍
適用于大部分采用結(jié)構(gòu)化編程方法的軟件產(chǎn)品,且產(chǎn)品的結(jié)構(gòu)相對比較簡單,對于具有以下屬性的產(chǎn)品,可以優(yōu)先考慮該策略:
a.產(chǎn)品控制結(jié)構(gòu)比較清晰和穩(wěn)定;
b.產(chǎn)品的高層接口變化比較??;
c.產(chǎn)品底層接口未定義或經(jīng)??赡鼙恍薷?;
d.產(chǎn)品控制模塊具有較大的技術(shù)風險,需要盡早被驗證;
e.希望盡早可以看到產(chǎn)品的系統(tǒng)功能行為;
f.在極端編程(Extreme Program)中使用探索式開發(fā)風格時,其集成策略可以采用自頂向下。

3.自底向上的集成策略(Bottom-Up Integration)

是從程序模塊結(jié)構(gòu)的最底層的模塊開始組裝和測試,因為模塊是自底向上進行組裝,對于一個給定層次的模塊,它的子模塊(包括子模塊下屬所有模塊)已經(jīng)組裝并測試完成,所有不在需要樁模塊。在模塊的測試過程中需要從子模塊得到的信息可以通過直接運行子模塊得到。

4.三明治集成(Sandwich Integration)

也稱為混合式集成,集合了自頂向下和自底向上兩種策略的優(yōu)點,它將系統(tǒng)劃分為3層,中間一層為目標層,測試的時候,對目標層上面的一層使用自頂向下的集成策略,對目標層下面的一層使用自底向上的集成策略,最后測試在目標層會合。

5.基干集成(Backbone Integration)

在很多系統(tǒng)中,尤其是嵌入式系統(tǒng),一般劃分為兩個部分:內(nèi)和部分(基干部分)和外圍應(yīng)用部分,這兩部分經(jīng)常被不同的項目組并行開發(fā),該策略首先要識別應(yīng)用的控制組件部分,基干部分和應(yīng)用子系統(tǒng)部分,然后進行測試。
結(jié)合自頂向下,自底向上和大爆炸集成的元素,驗證緊密耦合的子系統(tǒng)之間的互操作性。

6.分層集成(Layers Integration)

分層集成是針對分層模型使用的一種策略。
通過增量式集成的方法驗證一個具有層次體系結(jié)構(gòu)的應(yīng)用系統(tǒng)的穩(wěn)定性和可互操作性。

7.基于功能的集成(Function-Based Integration)

是從功能角度出發(fā),按照功能的關(guān)鍵程度對模塊的集成順序進行組織。
采用增值的方法,盡早的驗證系統(tǒng)關(guān)鍵功能。

8.基于進度的集成(Schedule-Based Integration)

考慮了項目的進度壓力,兼顧進度和質(zhì)量,在兩者之間尋找均衡點進行測試,該集成的最基本策略是把最早可獲得的代碼拿來立即進行集成,必要的時候開發(fā)樁模塊和驅(qū)動模塊,在最大程度上保持與開發(fā)的并行性,從而縮短了項目集成的時間。

9.基于風險的集成(Risk-Based Integration)

是基于假設(shè):系統(tǒng)風險最高的模塊間的集成往往是錯誤集中的地方,因此盡早的驗證這些接口有助于加速系統(tǒng)的穩(wěn)定。所以該集成需在第一時間內(nèi)驗證高危模塊間的接口,保證系統(tǒng)的穩(wěn)定性。

10.基于事件(消息)的集成(Event/Message-Based Integration)

針對基于狀態(tài)機的系統(tǒng)(工作原理是基于狀態(tài)變遷,內(nèi)部模塊間的接口主要通過消息來完成),因此該集成是從驗證消息路徑的正確性角度出發(fā),漸增式的把系統(tǒng)集成到一起,從而驗證系統(tǒng)的穩(wěn)定性。

11.基于使用的集成(Use-Based Integration)

針對面向?qū)ο蟮南到y(tǒng),從分析類之間的依賴關(guān)系出發(fā),通過從最小依賴關(guān)系的類開始集成,逐步擴大,最后集成到整個系統(tǒng),通過該集成方法,可以驗證類之間接口的正確性。

12.分布式集成(Distributed Services Integration)

針對可以有許多并發(fā)運行、沒有專門控制軌跡的組件、以及沒有專門服務(wù)器層的分布式系統(tǒng)。
驗證松散耦合的同級組件之間交互的穩(wěn)定性。

13.客戶/服務(wù)器的集成(Client/Server Integration)

對于和單獨的服務(wù)器組件進行松散耦合的客戶端組件,可以使用客戶/服務(wù)器集成來完成。
驗證客戶和服務(wù)器之間交互的穩(wěn)定性。

14.高頻集成(High-frequency Integration)

快速迭代式開發(fā)和增量式開發(fā)可能會導致系統(tǒng)功能的遺漏和沖突,該集成主要是為了避免以上問題,同時控制可能出現(xiàn)的基線偏差。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多