測試理念是實現DevOps不可或缺的重要環節
與敏捷和精益實踐的初期相比,當今的軟件測試實踐與理念已經產生了根本性的變化。軟件測試實踐與理念已經成為DevOps文化中不可分割的一部分。
Shirly Ronen-Harel是 Sisense 的敏捷教練及負責研發運作的總監,她近期撰寫了一系列 博客 文章,闡述了軟件測試理念在DevOps環境中的重要性。
DevOps的目標包括快速地進行無阻礙的合作式開發、持續測試、持續部署以及持續監控。而如果沒有建立起一種正確的理念,是不可能實現這些目標的,正是這種理念促成了全體成員的協作,共同加速交付價值的腳步。
Sanjeev Sharma來自 IBM ,他是一位DevOps方面的專家,還是一位敏捷傳教士和一名作者,他最近撰寫了一系列關于 理解DevOps 的博客文章,表達了持續測試是DevOps中一個必要的組成部分的觀點。
如果缺少了持續測試,那么持續集成與持續交付(幾乎)都是沒有意義的。缺乏對應用程序的監控,就無法了解它在生產環境中的表現情況,整個DevOps流程就完全失去了它的意義。
Shirly 說道 :DevOps存在的意義是為了打破開發者與運維人員之間的壁壘。同樣,它也必須打破開發者、測試人員與運維這三者之間的壁壘。如此一來,傳統測試中的過程都已不再適用。在DevOps文化中的測試過程經歷了一種顛覆性的變化。因此,對于測試來說,所有的一切也變得面目全非了。這些變化包括測試人員的技能、方法學、測試方式、測試的時機,以及測試的計劃與執行的方式。
但是,有了好用的工具,“優秀”的流程以及經過良好定義的職責,這些只是做好DevOps的一部分因素。如果我們期望在DevOps環境中實現高效的測試,那么必須建立起正確的理念。
Shirly 列舉 了為使測試與DevOps相容的文化的組成元素:
- 協作 —— DevOps意味著在產品負責人、開發者、測試人員、分析師與架構師之間的協作。
- 測試無處不在 —— 如果我們希望測試能夠覆蓋到每一個角落,那么實現這一目標需要所有人共同參與測試過程。
在敏捷與DevOps文化中,我們所關注的是整個生產線的運作,我們不會分別計算每個單元的成本,而是從頭至尾關注整個價值流。
Marc Hornbeek是 思博倫通信 (Spirent Communications)的DevOps持續測試方案的高級解決方案架構師,他在一篇 博文 中表示,DevOps使測試成為開發流程中的主流,并且避免了在傳統開發周期結束前才開始的“大爆炸”式測試方法所帶來的問題,例如發布的延遲及質量缺陷。
- 始終可用的軟件 —— 可用的軟件就意味著測試始終伴隨著開發過程。
- 我們齊心協力 —— 測試人員不再是唯一一個為最終產品中的bug負責的人,我們共同為問題承擔職責,并一起尋找解決方案。
- 精益思想 —— 減少封閉性、避免浪費、確定瓶頸、價值驅動的思考方式以及持續集成。
在敏捷與DevOps文化中,我們所關注的是整個生產線的運作,我們不會分別計算每個單元的成本,而是從頭至尾關注整個價值流。
Shirly還分享了一些其它DevOps文化的元素,包括共同責任、前期反饋、可見性以及持續改進。
Shirly將測試人員定義為一個促進者、一個熟練的開發者、以及一位盡責的業務代表。為了實現這一目標,她給出了以下幾點建議:
- 管理層的積極支持以及正確的理念
- 理解我們需要應對這種快速變化的環境這一事實
- 技術的轉變是其根本
- 需要技藝精湛的測試人員
- 需要技藝精湛的開發者
- 招聘善于團隊合作的人員
- 當理念還沒有充分開發時就開始適應新的文化,因為理念是隨著時間的推移而逐漸成型的
- 招聘一位敏捷教練