為什么要做冒煙測試呢?如果不做冒煙測試,版本轉測試后,所有測試人員拿該版本去部署環境,去執行自己負責模塊的用例,如果某個關鍵功能有bug,會阻塞一批測試用例的執行,測試工作無法順利開展。
舉個簡單的例子,某某團購APP測試,無法正常提交訂單,那提交訂單后的一系列功能點都無法測試。此時需要將版本打回,解決提交訂單的問題后,再轉測試。版本不可用,在這個過程中,所有測試人員的工作相當于是無效的。
為了避免浪費測試人力,所以在轉測試前,先部署一套環境,由一個或兩個測試人員做一下基本功能的測試,比如購物APP的話,從選商品,提交訂單,發貨,收貨,評價,全流程功能正常后,再所有的測試人員投入測試,部署多套環境,做功能、性能測試。這樣極大避免了測試的無效投入。
冒煙測試一般都是最基礎的一些功能,如果能做到自動化,可以集成到持續集成中,版本構建結束后,立即去執行冒煙測試,根據持續集成以及冒煙腳本的執行結果,判斷版本是不是可用,是不是繼續開展測試。
如果無法做到自動化,那冒煙測試可以由測試人員之間輪流負責,避免一個人長期重復做這件事情,產生慣性或者疲勞。
當然,也可以由開發人員負責冒煙測試,將交付可用版本作為開發轉測試的基本要求,由開發構建版本后,執行冒煙用例,當然,冒煙用例是由測試人員提供的,除此之外,測試環境搭建、冒煙用例執行,測試人員也會給予一定的指導。
冒煙測試的用例是定期刷新的,根據版本現狀持續的優化。比如購物APP訂單流程已經非常穩定,當前在做直播類的需求,那我們會把訂單這部分用例從冒煙測試中去掉,將直播類的基本用例加入進來。
此外,可以將冒煙測試失敗的次數、失敗的原因記錄下來,開發周期結束后,反向推動開發質量的改進。