思考如何將自動化測試加入持續整合中

freephp發表於2021-04-14

前段時間剛好部門老大也在問我如何把自動化測試加入到CI/CD裡面,當時沒有想清楚。在我思考了一段時間之後,我覺得還是可以通過部署流程中來新增自動化測試工作。我個人認為自動化測試需要在以下三點:

1.持久化儲存測試結果。
2.視覺化展示資料。
3.自動化回測。

例如在部署專案的時候,在部署指令碼里面增加執行測試用例的命令,然後根據測試用例的結果進行分析,,如果不達到標準則傳送郵件給研發和相關責任方。有時候測試結果非常不理想,還可以強制迴歸程式碼版本,當然這個是針對線上環境比較合理。因為如果是測試環境或者預釋出環境,可以有更多的容錯性。

關於測試用例,我思考的是,如果是前後端分離的專案,可以先針對後端介面來寫測試用例,可以是基於介面的單元測試,也可以是基於服務流程的業務性測試用例。聊到單元測試,很多人都會討論:到底這個應該測試人員來編寫,還是研發工程師來編寫。

各執一詞,都有一定道理。支援由研發工程師編寫的人認為,研發工程師對開發的相關業務最熟悉,那麼為了程式碼更加可靠,去編寫單元測試是非常合理的。另外一些人認為單元測試本身就屬於測試型別中的一種,理應測試人員來編寫。在我看來,成年人哪裡還要單選呢,兩個都要。這些都有一個前提,就是這些介面值得大家花時間精力編寫單元測試程式碼,否則這個討論就意義不大了。一方面研發工程師對程式碼質量和結果是有責任的,所以重要介面和功能,進行單元測試有助於把問題控制在最小範圍內。另一方面由於研發人員可能存在思維盲區,對邊界問題和特殊情況可能考慮不全面,所以測試人員也編寫單元測試相當於雙重驗證,豈不美哉?

=============== 華麗分割線 ==========================

俗話說,紙上得來終覺淺,不如系統地學習一波自動化測試。剛好本人新書正在熱銷中,歡迎對自動化測試感謝的同學去看看,安利一波自己的作品,嘿嘿,請見下圖,感謝支援。

相關文章