簡潔的分類
對軟件內部結構的深入程度
黑盒測試
- 又叫功能測試、數據驅動測試或基於需求規格說明書的功能測試。
- 該測試類別注重於測試軟件的功能性需求。
- 測試工程師無需了解程序代碼的內部構造,完全模擬軟件產品的最終端用戶使用該軟件,檢查軟件產品是否達到了用戶的需求。
- 黑盒測試能更好的從用戶角度來考察被測系統的功能性需求實現情況。
白盒測試
- 又稱結構測試、邏輯驅動測試或基於程序代碼內部構成的測試。
- 白盒測試需要測試工程師深入考查程序代碼的內部結構、邏輯設計等。
- 對於白盒測試工程師來說,軟件產品的內部結構是敞開的。
灰盒測試
- 通俗地講,灰盒測試就是白加黑。一般包含性能測試、自動化測試。
- 灰盒測試一方面考慮程序代碼的功能性表現,另一方面,又需要考慮程序代碼的內部結構。
是否執行被測對象的程序代碼
靜態測試
- 靜態的、不執行被測對象程序代碼而尋找缺陷的過程。
- 在進行靜態測試時可采用一些代碼走查工具。
動態測試
- 三種主要方法(黑盒測試、白盒測試和灰盒測試)
- 實際的執行被測對象的程序代碼,通過運行測試用例,檢查與判斷程序代碼運行的結果與測試用例的預期結果之間是否有差異。
- 動態測試有四部分組成:設計測試用例、執行測試用例、分析比較輸出結果、輸出測試報告。
是否使用自動化測試工具
手動測試
- 測試人員手工設計測試用例並執行測試用例,對比並記錄實際結果和預期結果,輸出測試報告的測試活動。
- 可充分發揮測試工程師的主觀能動性,將其智力體現在測試工作中,盡可能地發現缺陷,但同時又有一定的局限性和單調枯燥性。
自動化測試
- 利用測試工具,模擬用戶業務使用流程,自動運行來查找缺陷。
- 優點是:快速、廣泛、適用可重復性工作
- 缺點是只能夠檢查比較主要和固定的問題,難以發現新的異常。前期准備工作可能比較耗時,例如有時編寫腳本會超過手動測試時間。