上次我們介紹了軟件測試的基本概念及基本原則,今天我們就來看看軟件測試的幾種基本方法吧。
首先,當然就是我們大家熟悉的黑盒測試和白盒測試,這是按是否查看程序內部結構分的。其次,還可以按是否運行程序分為靜態測試和動態測試,按階段可分為單元測試、集成測試、系統測試、驗收測試、回歸測試。除此之外還有冒煙測試、隨機測試等。接下來就詳細介紹一下以上幾種測試。
一、按是否查看程序內部結構分為:
1、黑盒測試(Black Box Testing):
黑盒測試是根據軟件的規格對軟件進行的測試,這類測試不考慮軟件內部的運作原理,因此軟件對用戶來說就像一個黑盒子。簡單來說,這種測試只關心輸入和輸出的結果,並不考慮程序的源代碼。黑盒測試分為功能測試和性能測試:
1)功能測試(function testing),是黑盒測試的一方面,它檢查實際軟件的功能是否符合用戶的需求。包括邏輯功能測試、界面測試、易用性測試和兼容性測試。
2)性能測試(performance testing),軟件的性能主要有時間性能和空間性能兩種。其中,時間性能主要指軟件的一個具體事務的響應時間,而空間性能主要指軟件運行時所消耗的系統資源。
2、白盒測試(White Box Testing):
白盒測試是把測試對象看作一個打開的盒子。利用白盒測試法進行動態測試時,需要測試軟件產品的內部結構和處理過程,不需測試軟件產品的功能。與黑盒測試相反,這種測試就要研究程序里面的源代碼和程序結構。
二、按是否運行程序分為:
1、靜態測試(static testing):
靜態測試指測試不運行的部分,只是靜態地檢查程序代碼、界面或文檔可能存在的錯誤的過程。例如測試產品說明書,對此進行檢查和審閱.。
2、動態測試(dynamic testing):
動態測試是指通過運行軟件來檢驗軟件的動態行為和運行結果的正確性。具體操作就是輸入相應的測試數據,檢查輸出結果和預期結果是否相符的過程。
三、按階段分為:
回歸測試是指在發生修改之后重新測試先前的測試以保證修改的正確性。理論上,軟件產生新版本,都需要進行回歸測試,驗證以前發現和修復的錯誤是否在新軟件版本上再次出現。
四、其他類型測試:
1、冒煙測試(smoke testing):
2、隨機測試(random testing):
隨機測試是指測試中所有的輸入數據都是隨機生成的,其目的是模擬用戶的真實操作,並發現一些邊緣性的錯誤。
以上就是幾種常用的軟件測試方法,當然還有很多其他的測試方法(比如逆向測試,極限測試等),在這里就不一一介紹了。下周預告:軟件測試的幾種常用工具。下周見~