天天看點

Smoke testing and Ad-hoc testing

冒煙測試

冒煙測試(smoke testing),據說是微軟起的名字。在《微軟項目求生法則》一書第14章“建構過程”關于冒煙測試,就是開發人員在個人版本的軟體上執行目前的冒煙測試項目,确定新的程式代碼不出故障。

冒煙測試的名稱可以了解為該種測試耗時短,僅用一袋煙功夫足夠了。也有人認為是形象地類比新電路闆功基本功能檢查。任何新電路闆焊好後,先通電檢查,如果存在設計缺陷,電路闆可能會短路,闆子冒煙了。

冒煙測試的對象是每一個新編譯的需要正式測試的軟體版本,目的是确認軟體基本功能正常,可以進行後續的正式測試工作。冒煙測試的執行者是版本編譯人員。

在一般軟體公司,軟體在編寫過程中,内部需要編譯多個版本(Builds),但是隻有有限的幾個版本需要執行正式測試(根據項目開發計劃),這些需要執行的 中間測試版本,在剛剛編譯出來後,軟體編譯人員需要進行基本性能确認測試,例如是否可以正确安裝/解除安裝,主要功能是否實作,是否存在嚴重當機或資料嚴重丢 失等Bug。如果通過了該測試,則可以根據正式測試文檔進行正式測試。否則,就需要重新編譯版本,再次執行版本可接收确認測試,直到成功。

新版本的基本功能确認檢查的測試,有的公司稱為版本健康檢查(Build Sanity Check)。對于編譯的本地化軟體新版本,除了進行上面提到的各種測試檢查,還要檢查是否在新的本地化版本中正确包含了全部應該本地化的檔案。可以通過 采用檔案和目錄結構比較工具,首先比較源語言版本和本地化版本的檔案和目錄中的檔案數目、檔案名稱和檔案日期等,這個過程稱為版本鏡像檢查(Build Image Check)。其次,分别安裝源語言版本和本地化版本,比較安裝後的檔案和目錄結構中的檔案數目、檔案名稱和檔案日期等,這個過程稱為版本安裝檢查 (Build Installing Check)。

随機測試

在軟體測試中除了根據測試樣例和測試說明書進行測試外,還需要進行随機測試(Ad-hoc testing),主要是根據測試者的經驗對軟體進行功能和性能抽查。随機測試是根據測試說明書執行樣例測試的重要補充手段,是保證測試覆寫完整性的有效方式和過程。

随機測試主要是對被測軟體的一些重要功能進行複測,也包括測試那些目前的測試樣例(TestCase)沒有覆寫到的部分。另外,對于軟體更新和新增加的功能 要重點測試。重點對一些特殊點情況點、特殊的使用環境、并發性、進行檢查。尤其對以前測試發現的重大Bug,進行再次測試,可以結合回歸測試 (Regressive testing)一起進行。

理論上,每一個被測軟體版本都需要執行随機測試,尤其對于最後的将要釋出的版本更要重視随機測試。随機測試最好由具有豐富測試經驗的熟悉被測軟體的測試人員 進行測試。對于被測試的軟體越熟悉,執行随機測試越容易。隻有不斷的積累測試經驗,包括具體的測試執行和對缺陷跟蹤記錄的分析,不斷總結,才能提高。