何為持續集成?借用百度的一段話:大師Martin Fowler對持續集成是這樣定義的:持續集成是一種軟件開發實踐,即團隊開發成員經常集成它們的工作,通常每個成員每天至少集成一次,也就意味着每天可能會發生多次集成。每次集成都通過自動化的構建(包括編譯,發布,自動化測試)來驗證,從而盡快地發現集成錯誤。許多團隊發現這個過程可以大大減少集成的問題,讓團隊能夠更快的開發內聚的軟件。
從字面意義,持續集成已經清楚的表達了它的含義,但我們從測試的角度去看待持續集成往往會產生困惑,即測試人員在持續集成中的工作內容中包含了哪些?
在回答這個問題之前,先深一點的挖掘一下持續集成的定義,上述持續集成的定義中的團隊開發成員中已經包含了測試人員,只不過這時的測試人員是測試代碼的開發者。我們再對持續集成定義進行一個形象點的說明:團隊中開發的角色負責開發代碼的編寫,編譯。測試角色負責相應測試代碼的編寫。開發和測試會頻繁的將各自的代碼合起來在搭建好的測試環境進行自動化的測試。自動化的測試過程中會反復進行測試代碼和開發代碼的錯誤反饋和調試,當開發代碼的質量和功能達到一定程度,就會對開發代碼進行發布。上述這段形象點的說明會在一天內發生一次或數次。從這里我們看到,測試人員在持續集成中的活動包括:測試代碼跟隨開發代碼的編寫,調試,對開發代碼在搭建好的測試環境中進行自動化測試執行(測試代碼選擇,調度分發,執行),問題的快速反饋。這些活動的每一個環節第一要快速,第二要准確,第三要穩定。所以持續集成的活動對測試人員(角色)要求非常高,因為開發很多時候可以把完成部分功能(我們姑且稱為不完整開發代碼)的開發代碼就可以進入自動化測試,但測試人員要及時准備好對應不完整開發代碼的完整的測試代碼,否則自動化測試意義不大。所以從這個意義上講持續集成中的測試活動決定着持續集成的成敗。
重新闡述一下,測試人員在持續集成中的工作內容中包含:快速,准確,穩定的完成——測試代碼跟隨開發代碼的編寫,調試,對開發代碼在搭建好的測試環境中進行自動化測試執行(測試代碼選擇,調度分發,執行),問題的反饋。所以一個支持持續集成的測試平台要具備強有力的支持測試人員的上述工作的能力。
雲效平台官網地址:http://yunxiao.aliyun.com/