1.根據測試階段分類
單元測試:是對軟件中基本組成單位進行的測試,例如:在JavaScript中單元測試就是指一個函數的測試,Java中指的是一個類的測試。
集成測試:是在軟件集成的過程中進行的測試,主要是針對接口的測試。
系統測試:在測試環境下進行的對已經繼承好的系統進行完整的測試。分為功能測試、性能測試、安全性測試、兼容性測試。
驗收測試:在系統上線前的最后一個測試,根據合同中的規定,測試系統是否滿足。基本內容包括功能性、 安全可靠性、易用性、可擴充性、兼容性、效率測試、資源占有率、用戶文檔審核測試八個方面。
2.根據測試方法分類
黑盒測試:著眼于程序外部結構,不考慮內部邏輯結構,主要針對軟件界面和軟件功能進行測試。
白盒測試:按照程序內部的結構測試程序,檢驗程序中的每條通路是否都能按預定要求正確工作。
灰盒測試:介于黑盒測試與白盒測試之間,在關注外部展示的時候同樣也關注代碼內部是如何實現的。
3.根據被測試對象是否運行的角度分類
動態測試:是指通過運行被測程序,檢查運行結果與預期結果的差異,并分析運行效率、正確性和健壯性等性能指標。
靜態測試:不運行被測程序本身,僅通過分析或檢查代碼的語法、結構、過程、接口等來檢查程序的正確性。
4.其他
功能測試:主要檢查實際的功能是否符合用戶的需求。
性能測試:又分為壓力測試和負載測試。負載測試是指:不斷的對系統施加壓力,來觀察不同負載下系統響應速度。壓力測試指的是:在超負載的情況下,查看系統在峰值下的使用情況,并且來獲得系統能提供的最大服務級別。
冒煙測試:在一個新版本出來的時候,將軟件的全部功能過一遍,看有沒有什么大問題。如果功能可以正常運行,不會影響測試進行,那么這個版本就可以真正開始測試了。
回歸測試:主要測試的是在舊版本中發現的bug會不會對新版本引發其他的bug。