測試方法
灰盒測試
灰盒測試,确實是介于 白盒測試與 黑盒測試之間的,可以這 樣理解,灰盒測試關注輸出對于輸入的正确性,同時也關注内部表現,但這種關注不象白盒那樣詳細、完整,隻是通過一些表征性的現象、事件、标志來判斷内部的運行狀态,有時候輸出是正确的,但内部其實已經錯誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會很低,因此需要采取這樣的一種灰盒的方法。
白盒測試
白盒測試,又稱結構測試。他的前提是可以把程序看成在一個透明的白盒子裡,測試者完全知道程序的結構和處理算法。這種方法按照程序内部 邏輯設計 測試用例,檢測程序中的主要執行通路是否能按照預定要求正确工作。
白盒測試根據軟件的内部 邏輯設計設施用例,常用的技術是 邏輯複蓋,即考察用測試數據運行被測程序是對程序邏輯的複蓋程度。主要的複蓋标準有: 語句複蓋、 判定複蓋、 條件複蓋、判定/條件複蓋、組合條件複蓋和 路徑複蓋。
黑盒測試
黑盒測試根據關鍵需求說明書所規定的功能來設計 測試用例,它不考慮軟件的内部結構和處理算法。常用的 黑盒測試技術包括等價類劃分、邊值分析、錯誤推測和因果圖等。
測試工作流程
從測試流程的角度看,軟件測試可分為 單元測試、 集成測試和 确認測試。
單元測試
單元測試(unit testing),也稱 模塊測試,通常可放在編程階段,由 程序員對自己編寫的模塊自行測試,檢查模塊是否實現了 詳細設計說明書中規定的功能和算法。 單元測試主要發現編程和 詳細設計中産生的錯誤,單元測試計劃應該在詳細設計階段制定。
單元測試期間着重從以下幾個方面對模塊進行測試:模塊接口、局部 數據結構、重要的執行通路、出錯處理通路及邊界條件等。
集成測試
集承測試(integration testing),也稱 組裝測試,它是對由各模塊組裝而成的程序進行測試,主要目标是發現模塊間的接口和通信問題。集成測試主要發現設計階段産生的錯誤,集成 測試計劃應該在 概要設計階段制定。集成的方式可分為非漸增式和漸增式。
确認測試
确認測試(validation testing),主要依據 軟件需求說明書檢查軟件的功能、性能及其他特征是否與用戶的需求一緻。确認測試計劃應該在 需求分析階段制定。