[6] 持續整合,自動化測試的價值


持續整合 (Continuous Integration, CI),相信是個大家都不陌生的詞,現在幾乎所有軟體專案都會導入持續整合流程。

實行持續整合,仰賴團隊所有人的努力,如在測試是一門學問,關於自動化測試中,提到自動化測試必須要有執行策略。

身為品質工程師,必需經常思考一件事,自動化測試如何幫助團隊

在本篇,將從自動化測試的執行時機、測試結果兩個方向,探討如何在持續整合的流程中,發揮自動化測試的價值。


執行時機

很多團隊有個問題,就是對於何時該執行自動化測試沒有個底。

有人是只要部署後就執行,有人是每天執行一次,有人甚至是有需要才執行。

思考幾個情形:

  • 一天部署多次,每次部署後,都要執行自動化測試嗎?
  • 三天部署一次,每天都要執行自動化測試嗎?

頻繁的執行自動化測試,不會是個好的做法。反之,沒有既定的原則,也不是個好的方式。

基於持續整合的精神,思考的方向應該是,要多頻繁的確認品質?每天確認,那就每天執行自動化測試。每三天確認一次,那就三天執行一次。當然部署的頻率,也必須要能夠配合。

原則上,在每天至少部署一次的前提下,建議自動化測試每天執行一次即可。


測試結果

執行自動化測試後,很重要的如何是呈現測試的結果。

測試框架通常都會產生報告,品質工程師再經由報告得知測試結果,一般關注的都是通過率是否為 100%。

但事實上,依據產品的性質,或是團隊中其它角色,都會有從不同角度來看測試結果的需求。譬如,專案經理想知道產品在不同平台的測試結果,RD 想比較不同版本間的測試結果,只依靠測試框架產生的報告往往是不足夠的。

持續整合做得成熟的團隊,會另外整理測試結果,甚至是用圖表的方式,讓團隊更容易清楚產品目前的狀況,這經常也是品質工程師很重要的課題。


上述兩點如何實踐,我在這篇中,分享了在持續整合流程中,發揮自動化測試價值的實務經驗。

總結來說,成熟的自動化測試,讓團隊快速得到回饋,對於程式碼的品質,有更可靠的數據標準,幫助團隊打造成功的產品。

品質工程師,不單撰寫自動化測試,也要持續思考如何發揮自動化測試的價值。

#software development #continuous integration #quality assurance





對於品質工程師這個職務感到陌生的人們,此系列文將帶你了解產品開發中,QA 扮演的角色和工作內容,以及團隊應該如何看待品質這件事情。

留言討論