軟件測試方法和技術包括軟件測試基礎、軟件測試方法、軟件測試過程與規范、單元測試與集成測試、系統測試、驗收測試、軟件本地化測試、測試自動化及其框架、白盒測試與黑盒測試等。
1.單元測試(模塊測試)
單元測試是對軟件組成單元進行測試。其目的是檢驗軟件組成單位的正確性。測試對象是:模塊。測試內容:模塊接口測試(測試模塊里面的參數傳遞是否正確)、局部數據結構測試(測試變量的作用域范圍)、路徑測試(if-else 判斷必須覆蓋所有分支)、錯誤處理測試、邊界測試( for 循環)
2.集成測試
集成測試也稱聯合測試,將程序模塊采用適當的集成策略組裝起來,對系統的接口(白盒測試)以及集成后的功能(黑盒測試進行正確性檢測的一種測試。集成主要目的是檢查軟件單位之間的接口是否正確。測試內容:模塊之間數據傳輸、模塊之間功能沖突、模塊組裝功能正確性、全局數據結構、單個模塊缺陷對系統的影響
3.系統測試
將軟件系統看成是一個系統的測試。包括對功能、性能以及軟件所運行的軟硬件環境進行測試。時間大部分在系統測試執行階段,包括回歸測試和冒煙測試。測試內容:功能、界面、可靠性、易用性、性能、兼容性、安全性等
4.回歸測試
回歸測試是指修改了舊代碼后,重新進行測試以確認修改沒有引入新的錯誤或導致其他代碼產生錯誤。有了代碼修改后就進行回歸測試,根據測試階段確定回歸范圍。
5.冒煙測試
對一個硬件或硬件組件進行更改或修復后,直接給設備加電。如果沒有冒煙,則該組件就通過了測試。也可以理解為該種測試耗時短,冒煙測試的對象是每一個新編譯的需要正式測試的軟件版本,目的是確認軟件基本功能正常,可以進行后續的正式測試工作。冒煙測試的執行者是版本編譯人員。
6.驗收測試
驗收測試是部署軟件之前的一個測試操作,也稱為交付測試。驗收測試的目的是確保軟件準備就緒,按照項目合同、任務書、雙方約定的驗收依據文檔,向軟件購買都展示該軟件系統滿足原始需求。
7.靜態測試
靜態測試是指不運行被測程序本身,僅通過分析或檢查源程序的語法、結構、過程、接口等來檢查程序的正確性。‘對需求規格說明書、軟件設計說明書、源程序做結構分析、流程圖分析、符號執行來找錯。
8.動態測試
動態測試方法是指通過運行被測程序,檢查運行結果與預期結果的差異,并分析運行效率、正確性和健壯性等性能。大多數軟件測試工作都屬于動態測試。
9.手工測試
就是由人去一個一個的輸入測試用例,然后觀察結果,和機器測試相對應,屬于比較原始但是不可缺少的一個步驟。
10.自動化測試
就是在預設條件下運行系統或應用程序,評估運行結果,預先條件應包括正常條件和異常條件。簡單說自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。