持續整合 (Continuous Integration, CI),相信是個大家都不陌生的詞,現在幾乎所有軟體專案都會導入持續整合流程。
實行持續整合,仰賴團隊所有人的努力,如在測試是一門學問,關於自動化測試中,提到自動化測試必須要有執行策略。
身為品質工程師,必需經常思考一件事,自動化測試如何幫助團隊?
在本篇,將從自動化測試的執行時機、測試結果兩個方向,探討如何在持續整合的流程中,發揮自動化測試的價值。
執行時機
很多團隊有個問題,就是對於何時該執行自動化測試沒有個底。
有人是只要部署後就執行,有人是每天執行一次,有人甚至是有需要才執行。
思考幾個情形:
- 一天部署多次,每次部署後,都要執行自動化測試嗎?
- 三天部署一次,每天都要執行自動化測試嗎?
頻繁的執行自動化測試,不會是個好的做法。反之,沒有既定的原則,也不是個好的方式。
基於持續整合的精神,思考的方向應該是,要多頻繁的確認品質?每天確認,那就每天執行自動化測試。每三天確認一次,那就三天執行一次。當然部署的頻率,也必須要能夠配合。
原則上,在每天至少部署一次的前提下,建議自動化測試每天執行一次即可。
測試結果
執行自動化測試後,很重要的如何是呈現測試的結果。
測試框架通常都會產生報告,品質工程師再經由報告得知測試結果,一般關注的都是通過率是否為 100%。
但事實上,依據產品的性質,或是團隊中其它角色,都會有從不同角度來看測試結果的需求。譬如,專案經理想知道產品在不同平台的測試結果,RD 想比較不同版本間的測試結果,只依靠測試框架產生的報告往往是不足夠的。
持續整合做得成熟的團隊,會另外整理測試結果,甚至是用圖表的方式,讓團隊更容易清楚產品目前的狀況,這經常也是品質工程師很重要的課題。
上述兩點如何實踐,我在這篇中,分享了在持續整合流程中,發揮自動化測試價值的實務經驗。
總結來說,成熟的自動化測試,讓團隊快速得到回饋,對於程式碼的品質,有更可靠的數據標準,幫助團隊打造成功的產品。
品質工程師,不單撰寫自動化測試,也要持續思考如何發揮自動化測試的價值。