天天看點

軟體測試基礎理論雜記一



軟體測試,在軟體項目開發活動中為保證送出物品質符合要求而進行的一系列過程的集合。

軟體測試生命周期(software testing lifecycle),指整個軟體生命周期中的測試活動是如何完成的。例如,測試計劃--測試設計--測試實作--測試執行,就是一個典型的軟體測試生命周期。

軟體測試生命周期中的各種活動可以串行,也可以并行。有的項目的測試活動非常簡單,甚至隻包括測試用例的設計與測試用例的執行。通常,一個項目采取的測試生命周期越複雜說明測試活越成熟。

軟體系統測試生命周期,通常分為軟體系統測試計劃--軟體系統測試設計--軟體系統測試實作--軟體系統測試執行,四個階段。

軟體測試階段劃分,也可以說是幾種不同類型的軟體測試,或者對軟體的不同部分進行的測試,也是幾種目的不同的測試或測試過程。

單元測試(Unit Testing) 以《詳細設計說明書》LLD(low level design)為基準,驗證軟體基本組成單元被實作的正确性。主要測試單元内部的資料結構、邏輯控制、異常處理。測試評估基準主要是邏輯覆寫率

內建測試(Integration Testing) 以《概要設計說明書》HLD(high level design)為基準,驗證軟體子產品與子產品組成的子系統被實作的正确性。主要測試子產品之間的接口資料傳遞以及子產品組合後的子系統整體功能。測試評估基準主要是接口覆寫率。

系統測試(System Testing) 把軟體系統與周邊要素(人,硬體等)結合後,驗證其是否正确實作了SRS(software requirements pecifacation)的測試過程。測試整個系統的需求符合度。測試評估基準主要是需求規格覆寫率。

回歸測試(Regression Testing)驗證缺陷是否得到了正确的修複,同時確定修複缺陷造成的系統變更沒有引入新的缺陷。是以回歸測試的标的是以上三種測試中對缺陷修複之後的部分及可能會因缺陷修複而被影響的部分。回歸測試的政策:覆寫修改政策、名額達成政策、周邊影響政策、完全重複政策。

驗收測試 如果産品是針對特定使用者開發的,需要進行一系列的驗收測試,讓使用者驗證軟體産品是否滿足要求。

α測試 使用者在受控環境下(通常開發人員坐在使用者旁,随時記錄下錯誤和使用者的使用情況)。目的主要是評價軟體産品的功能、本地化、可用性、可靠性、性能等(FLURPS)。

β測試 一個或多個使用者在實際使用環境下進行測試,這些使用者是與公司簽訂了支援産品預發行合同的外部使用者,他們願意測試該産品,并願意傳回所有錯誤資訊給開發者。

測試過程模型

規範系統的測試過程,是生産出高品質軟體的基本保證。軟體測試過程是有軟體生命周期中一系列的測試過程組成。這些測試過程應有明确的過程要素,包括輸入輸出、入口及出口準則、角色、活動、評審、可管理和受控的工作産品、度量、書面規程、教育訓練、合适的工具。

目前,v&v模型是一種使用比較廣泛的測試過程模型。v&v代表validation與verification,即确認(validation)與驗證(verification)。

确認 指保證所生産的軟體可以追溯到使用者需求的一系列活動。

驗證 指保證軟體正确的實作了特定功能的一系列活動。驗證提供證據,表明軟體及相關産品與所有生命周期活動的要求(正确性、完整性、一緻性、準确性)相一緻;驗證是否滿足生命周期過程中的标準,時間和約定;判斷每一個生命周期是否已經完成,以及為是否可以啟動其他生命周期活動建立一個準則。