一、從是否運行被測軟件這個程序來分: 1、靜態(tài)測試:不實際運行被測軟件,而只是靜態(tài)地檢查程序代碼、界面或文檔中可能存在的錯誤的過程。它包括代碼測試、界面測試和文檔測試。 2、動態(tài)測試:實際運行被測程序,輸入相應的測試數(shù)據(jù),檢查實際輸出結果和預期結果是否相符的過程。 二、按測試階段來分:單元測試、集成測試、確認測試、系統(tǒng)測試、驗收測式。 1、單元測試:也叫模塊測試,是指對軟件中的最小可測試單元進行檢查和驗證。 2、集成測試:也叫組裝測試或聯(lián)合測試,它是單元測試的基礎,只有在數(shù)據(jù)能正確流入、流出模塊的前提下,其他測試才有意義。 3、確認測試:也稱為有效性測試,在模擬的環(huán)境下運用黑盒測試的方法驗證被測軟件是否滿足需求規(guī)格說明書列出的需求。 4、系統(tǒng)測試:將經過集成測試的軟件,作為系統(tǒng)計算機的一個部分,與系統(tǒng)中其他部分結合起來,在實際運行環(huán)境下對計算機系統(tǒng)進行的一系列嚴格有效地測試。 5、驗收測試:部署軟件之前的最后一個測試操作,在軟件產品完成了單元測試、集成測試和系統(tǒng)測試之后、產品發(fā)布之前所進行的軟件測試活動。也稱為交付測試。驗收測試又可分為開發(fā)方測試、用戶測試、第三方測試。 (1)開發(fā)方測試:“驗證測試”,“α測試”,是否滿足規(guī)定的需求。 (2)用戶測試:“β測試”,軟件公司外部展開的測試,免費使用、評價、檢查軟件,信息反饋、進行修改。 (3)第三方測試:獨立測試。技術、管理和財務上相對獨立的組織進行的測試 三、按測試方法不同分類 1、黑盒測試:也稱為功能測試,是將程序看作一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,對程序進行的測試。 2、白盒測試:也稱結構測試,是指基于一個應用代碼的內部邏輯知識即基于覆蓋全部代碼、分支、路徑、條件的測試。 3、灰盒測試:介于白盒測試與黑盒測試之間的一種測試,灰盒測試多用于集成測試階段,不僅關注輸出、輸入的正確性,同時也關注程序內部的情況。 四、其他分類 用戶界面測試、安全測試、性能測試、回歸測試、冒煙測試、隨機測試等。 五、重點介紹 1、單元測試,也叫模塊測試,是指對軟件中的最小可測單元進行檢查和驗證的活動。單元就是人為規(guī)定的最小的被測功能模塊。它是在軟件開發(fā)過程中要進行的最低級別的測試活動。單元測試是由程序員自己來完成,程序員有責任編寫代碼,同時也有責任為自己的代碼進行單元測試。單元測試的依據(jù)主要是詳細設計說明書。 (1)模塊接口測試:也叫組裝測試或聯(lián)合測試,它是單元測試的基礎,只有在數(shù)據(jù)能正確流入、流出模塊的前提下,其他測試才有意義。比如,輸入的實際參數(shù)與形式參數(shù)的個數(shù)是否相同;輸入的實際參數(shù)與形式參數(shù)的屬性是否匹配等。 (2)模塊局部數(shù)據(jù)結構測試:檢查局部數(shù)據(jù)結構是為了保證臨時存儲在模塊內的數(shù)據(jù)在程序執(zhí)行過程中完整、正確。比如,不合適或不相容的類型說明、變量無初值、變量初始化或省缺值有錯、不正確的變量名(拼錯或不正確地截斷)、出現(xiàn)上溢、下溢和地址異常等問題。 (3)模塊中所有獨立執(zhí)行路徑測試。設計測試用例是為了發(fā)現(xiàn)錯誤。 (4)模塊的各條錯誤處理路徑測試。比如輸出的出錯信息難以理解、記錄的錯誤與實際遇到的錯誤不相符、在程序自定義的出錯處理段運行之前,系統(tǒng)已介入、異常處理不當、錯誤陳述中未能提供足夠信息來定位錯誤。 (5)模塊邊界條件測試,(采用邊界值分析技術)。 2、集成測試。 單個模塊具有高質量但不足以保證整個系統(tǒng)的質量。因此在單元測試完成后,還需要進行集成測試。它也叫組裝測試或聯(lián)合測試。在單元測試基礎上,將所有模塊按照設計說明書的要求組裝成子系統(tǒng)或系統(tǒng)的過程,并檢查各部分工作是否達到或實現(xiàn)相應技術指標及要求的活動。 (1)功能性測試:即使用黑盒測試技術針對被測模塊的接口規(guī)格說明進行測試。 (2)非功能性測試:對模塊的性能或可靠性進行測試。 集成測試的任務 在將各個模塊連接起來的時候穿越模塊接口的數(shù)據(jù)是否會丟失;一個模塊的功能是否會對另一個模塊的功能產生不利的影響;各個子功能組合起來能否達到預期要求的父功能;全局數(shù)據(jù)結構是否有問題;單個模塊的誤差累積起來是否會放大,從而達到不能接受的程度。 集成測試的策略 非增量式集成:又稱大爆炸測試、一次性集成。首先對每個模塊分別進行模塊測試,然后將所有模塊集成起來,再一起進行測試,最終得到要求的軟件系統(tǒng)。 增量式集成:自底向上集成測試、自頂向下集成測試、Big-Bang集成測試、三明治集成測試等。 自底向上集成測試::最常使用的方法,這種方式從程序模塊結構中最底層的模塊開始,按照由底向上的順序構造系統(tǒng)并進行集成測試。 自頂向下集成測試::是一個遞增的組裝軟件結構的方法,從主控模塊(主程序)開始沿控制層向下移動將模塊一一組合起來。 |
|