1. 一次性集成方式(big bang)
它是一種非增殖式組裝方式。也叫做整體拼裝。
使用這種方式,首先對每個模塊分別進行模塊測試,然后再把所有模塊組裝在一起進行測試,最終得到要求的軟件系統(tǒng)。
2. 增殖式集成方式
這種集成方式又稱漸增式集成
首先對一個個模塊進行模塊測試,然后將這些模塊逐步組裝成較大的系統(tǒng)
在集成的過程中邊連接邊測試,以發(fā)現(xiàn)連接過程中產(chǎn)生的問題
通過增殖逐步組裝成為要求的軟件系統(tǒng)。
(1) 自頂向下的增殖方式
這種集成方式將模塊按系統(tǒng)程序結(jié)構(gòu),沿控制層次自頂向下進行組裝。
自頂向下的增殖方式在測試過程中較早地驗證了主要的控制和判斷點。
選用按深度方向組裝的方式,可以首先實現(xiàn)和驗證一個完整的軟件功能。
(2) 自底向上的增殖方式
這種集成的方式是從程序模塊結(jié)構(gòu)的最底層的模塊開始集成和測試。
因為模塊是自底向上進行組裝,對于一個給定層次的模塊,它的子模塊(包括子模塊的所有下屬模塊)已經(jīng)組裝并測試完成,所以不再需要樁模塊。在模塊的測試過程中需要從子模塊得到的信息可以直接運行子模塊得到。
自頂向下增殖的方式和自底向上增殖的方式各有優(yōu)缺點。
一般來講,一種方式的優(yōu)點是另一種方式的缺點。
(3) 混合增殖式測試
衍變的自頂向下的增殖測試
–首先對輸入/輸出模塊和引入新算法模塊進行測試;
–再自底向上組裝成為功能相當完整且相對獨立的子系統(tǒng);
–然后由主模塊開始自頂向下進行增殖測試。
自底向上-自頂向下的增殖測試
–首先對含讀操作的子系統(tǒng)自底向上直至根結(jié)點模塊進行組裝和測試;
–然后對含寫操作的子系統(tǒng)做自頂向下的組裝與測試。
回歸測試
–這種方式采取自頂向下的方式測試被修改的模塊及其子模塊;
–然后將這一部分視為子系統(tǒng),再自底向上測試。
關(guān)鍵模塊問題
在組裝測試時,應(yīng)當確定關(guān)鍵模塊,對這些關(guān)鍵模塊及早進行測試。
關(guān)鍵模塊的特征:
① 滿足某些軟件需求;
② 在程序的模塊結(jié)構(gòu)中位于較高的層次(高層控制模塊);
③ 較復(fù)雜、較易發(fā)生錯誤;
④ 有明確定義的性能要求。
確認測試(Validation Testing)
確認測試又稱有效性測試。任務(wù)是驗證軟件的功能和性能及其它特性是否與用戶的要求一致。
對軟件的功能和性能要求在軟件需求規(guī)格說明書中已經(jīng)明確規(guī)定。它包含的信息就是軟件確認測試的基礎(chǔ)。
1. 進行有效性測試(黑盒測試)
有效性測試是在模擬的環(huán)境 (可能就是開發(fā)的環(huán)境) 下,運用黑盒測試的方法,驗證被測軟件是否滿足需求規(guī)格說明書列出的需求。
首先制定測試計劃,規(guī)定要做測試的種類。還需要制定一組測試步驟,描述具體的測試用例。
通過實施預(yù)定的測試計劃和測試步驟,確定
–軟件的特性是否與需求相符;
–所有的文檔都是正確且便于使用;
–同時,對其它軟件需求,例如可移植性、兼容性、出錯自動恢復(fù)、可維護性等,也都要進行測試
在全部軟件測試的測試用例運行完后,所有的測試結(jié)果可以分為兩類:
–測試結(jié)果與預(yù)期的結(jié)果相符。這說明軟件的這部分功能或性能特征與需求規(guī)格說明書相符合,從而這部分程序被接受。
配置測試
這類測試是要檢查計算機系統(tǒng)內(nèi)各個設(shè)備或各種資源之間的相互聯(lián)結(jié)和功能分配中的錯誤。
它主要包括以下幾種:
–配置命令測試:驗證全部配置命令的可操作性(有效性);特別對最大配置和最小配置要進行測試。軟件配置和硬件配置都要測試。
-循環(huán)配置測試:證明對每個設(shè)備物理與邏輯的,邏輯與功能的每次循環(huán)置換配置都能正常工作。
–修復(fù)測試:檢查每種配置狀態(tài)及哪個設(shè)備是壞的。并用自動的或手工的方式進行配置狀態(tài)間的轉(zhuǎn)換。
安全性測試
安全性測試是要檢驗在系統(tǒng)中已經(jīng)存在的系統(tǒng)安全性、保密性措施是否發(fā)揮作用,有無漏洞。
力圖破壞系統(tǒng)的保護機構(gòu)以進入系統(tǒng)的主要方法有以下幾種:
-正面攻擊或從側(cè)面、背面攻擊系統(tǒng)中易受損壞的那些部分;
-以系統(tǒng)輸入為突破口,利用輸入的容錯性進行正面攻擊;
–申請和占用過多的資源壓垮系統(tǒng),以破壞安全措施,從而進入系統(tǒng);
–故意使系統(tǒng)出錯,利用系統(tǒng)恢復(fù)的過程,竊取用戶口令及其它有用的信息;
–通過瀏覽殘留在計算機各種資源中的垃圾(無用信息),以獲取如口令,安全碼,譯碼關(guān)鍵字等信息;
–瀏覽全局數(shù)據(jù),期望從中找到進入系統(tǒng)的關(guān)鍵字;
–瀏覽那些邏輯上不存在,但物理上還存在的各種記錄和資料等。
可使用性測試
可使用性測試主要從使用的合理性和方便性等角度對軟件系統(tǒng)進行檢查,發(fā)現(xiàn)人為因素或使用上的問題。
要保證在足夠詳細的程度下,用戶界面便于使用;對輸入量可容錯、響應(yīng)時間和響應(yīng)方式合理可行、輸出信息有意義、正確并前后一致;出錯信息能夠引導(dǎo)用戶去解決問題;軟件文檔全面、正規(guī)、確切。
安裝測試
安裝測試的目的不是找軟件錯誤,而是找安裝錯誤。
在安裝軟件系統(tǒng)時,會有多種選擇。
–要分配和裝入文件與程序庫
–布置適用的硬件配置
–進行程序的聯(lián)結(jié)。
而安裝測試就是要找出在這些安裝過程中出現(xiàn)的錯誤。
安裝測試是在系統(tǒng)安裝之后進行測試。它要檢驗:
–用戶選擇的一套任選方案是否相容;
–系統(tǒng)的每一部分是否都齊全;
–所有文件是否都已產(chǎn)生并確有所需要的內(nèi)容;
–硬件的配置是否合理,等等。
容量測試
容量測試是要檢驗系統(tǒng)的能力最高能達到什么程度。例如,
–對于編譯程序,讓它處理特別長的源程序;
–對于操作系統(tǒng),讓它的作業(yè)隊列“滿員”;
–對于信息檢索系統(tǒng),讓它使用頻率達到最大。
在使系統(tǒng)的全部資源達到“滿負荷”的情形下,測試系統(tǒng)的承受能力。
文檔測試
這種測試是檢查用戶文檔(如用戶手冊)的清晰性和精確性。
用戶文檔中所使用的例子必須在測試中一一試過,確保敘述正確無誤。
自動測試
認識自動測試
什么時候使用自動測試

–測試結(jié)果與預(yù)期的結(jié)果不符。這說明軟件的這部分功能或性能特征與需求規(guī)格說明不一致,因此要為它提交一份問題報告。
2. 軟件配置復(fù)查
軟件配置復(fù)查的目的是保證
軟件配置的所有成分都齊全;
各方面的質(zhì)量都符合要求;
具有維護階段所必需的細節(jié);
而且已經(jīng)編排好分類的目錄。
應(yīng)當嚴格遵守用戶手冊和操作手冊中規(guī)定的使用步驟,以便檢查這些文檔資料的完整性和正確性。