最近好不容易把先前所研究的E2E Testing(Cypress)上線了,今天就來討論一下關於E2E Testing的測試時機。

在說明之前先前情一下我們的上版環境,我們除了本機有自己的開發環境、線上的有包括SET、UAT以及Production。目前程式的所有上版也都交給CICD進行自動化佈署。

這次的測試時機間是選在UAT的Branch在執行CI時執行,大概的概行流程圖下圖。

UAT對我們來說,一般是最 “接近” 正式環境的環境,所以目前設定在執行將要更新Production環境時來檢查UAT的環境是否正常。

目前會這樣設計其原因在於,我認為在新版本的程式要上到正式環境給使用者使用前,如果有任何的程式有問題,就應該要停止上版。因為在之前的經驗中,常常我們跟UAT的USER在進行測試時,都只有針對「新」或是看的到的異動程式進行人工測試,往往會忽略,了其他的頁面,而因為系統越來越複雜,頁面也日益增加,基本上都不會進行其他頁面的檢視,而以我們的做法,也常常會將頁面上許多功能進行共用的做法(也就是整合成compoment),這樣一來就可能會出現偶合性的問題,因此當系統的複雜越高,出問題的機率也成正相關成長。

也因為UAT環境中不管是資料還是SERVER環境都是與正式環境相差無幾,所以每次上正式環境之前,就在最後一道防線中進行檢查,如果有遇到認何不符合測試的預期,則都立即停止,直到工程師排除後再行執行上版流程。