軟件產品的成功與否,在很大程度上取決于對市場需求的及時把控郑诺,采用DevOps可以加快產品交付速度,改善用戶體驗苗胀,從而有助于保持領先于競爭對手的優(yōu)勢乳绕。
作為敏捷開發(fā)方法論的一種擴展,DevOps強調開發(fā)公给、測試和運維不同團隊間的協(xié)作與溝通借帘。
持續(xù)集成和持續(xù)測試是一個在迭代中構建、測試產品并修復Bug的過程淌铐。它有助于團隊在開發(fā)階段的初期發(fā)現(xiàn)缺陷肺然,這時的缺陷通常相對不那么復雜,并且更容易被解決腿准。通過持續(xù)集成和持續(xù)測試际起,企業(yè)可以盡早地將錯誤風險降至最低,并加快交付更好質量的軟件吐葱。
DevOps中持續(xù)測試對產品開發(fā)的好處
●定期風險分析:你將擁有一個經歷了所有測試階段的構建版本街望,因為持續(xù)測試會標注出每個階段的潛在風險。
●改善用戶體驗:持續(xù)測試適應用戶的動態(tài)需求唇撬。團隊可以根據(jù)反饋不斷進行更新它匕,讓產品更穩(wěn)健、更靈活窖认、更可靠豫柬。
●增強產品安全性:通過創(chuàng)建支持系統(tǒng),可確保應用程序免受威脅和惡意軟件的影響扑浸。
●計劃反饋:評估交付管道的所有架構層烧给,并與團隊共享可執(zhí)行的反饋。
●更高的資源利用率:如前所述喝噪,及早發(fā)現(xiàn)Bug可以節(jié)省資金和資源础嫡。可以利用持續(xù)測試和缺陷預防策略的最佳實踐酝惧,并將有價值的資源重新部署到其他戰(zhàn)略開發(fā)計劃中榴鼎。
持續(xù)測試在DevOps中的作用
在DevOps過程中,持續(xù)測試提供了持續(xù)的反饋機制晚唇,在整個產品交付管道中充當催化劑巫财。每個階段的自動反饋確保缺陷在開發(fā)過程的早期就能被解決。
可操作的反饋是必要的哩陕,這決定著能否啟動交付鏈中的下一個流程平项。例如赫舒,如果反饋可以向前推進,則流程將繼續(xù)闽瓢;如果反饋顯示存在問題接癌,那么流程需要被暫停并采取糾正措施。
由專業(yè)的測試團隊進行的持續(xù)測試可以實時評估與軟件相關的業(yè)務風險扣讼。此外缺猛,它還提供基于風險的反饋,有助于幫助團隊做出更好的權衡決策届谈。
DevOps中持續(xù)測試的實踐
1枯夜、測試的左移或右移
傳統(tǒng)測試主要集中在軟件開發(fā)周期的最后弯汰,產品發(fā)布之前艰山。為了迎合不斷加快的交付頻率,越來越多團隊的測試活動開始向左右兩側移動咏闪。一般問題修復成本較高和面向企業(yè)收費的軟件曙搬,一旦生產環(huán)境中出現(xiàn)了問題會造成比較大的損失,通常采取測試左移的方式鸽嫂;對于具有展示功能的軟件產品纵装,更容易在生產環(huán)境中發(fā)現(xiàn)問題,通常采取測試右移的方式据某。面對測試左右搖擺的問題橡娄,可從這張圖闡述DevOps中的測試具體應該如何實現(xiàn)。
測試左移癣籽,是指測試人員更早地參與到軟件項目前期的各項活動中挽唉,在功能開發(fā)之前定義好相關的測試用例,提前發(fā)現(xiàn)質量問題筷狼。早期引入測試過程有助于防止缺陷瓶籽,并為開發(fā)人員提供了在整個開發(fā)階段應用動態(tài)變更的靈活性。
測試右移埂材,就是直接在生產環(huán)境中監(jiān)控塑顺,并且實時獲取用戶反饋。在這種方法中俏险,從用戶側收集反饋严拒,根據(jù)用戶反饋持續(xù)改進產品的用戶體驗滿意度,提高產品質量竖独。測試右移有助于更好地響應意外情況裤唠。
2、持續(xù)集成
理想的DevOps周期预鬓,是從代碼開發(fā)到生產環(huán)境運行的一鍵部署巧骚。顯然DevOps非常重視構建赊颠、測試和部署的自動化,使用持續(xù)集成成為了持續(xù)測試的基礎劈彪。實現(xiàn)持續(xù)測試的重要一步竣蹦,是創(chuàng)建全面的自動化測試套件以在持續(xù)集成構建中使用,代碼提交后會立刻經過這套自動化測試套件得以驗證沧奴。常見的自動化測試套件由單元測試痘括、組件檢測和驗收測試組成,其中每種測試的代碼或功能覆蓋率至少要達到80%以上才能保證不引入回歸問題滔吠。
3纲菌、讓提高測試覆蓋率高效化
DevOps的實踐要求提高代碼覆蓋率,增加低層級可用性的覆蓋率疮绷,以便在部署到更高級的可用性時不會出現(xiàn)與代碼覆蓋率有關的問題翰舌。
一些組織默認「每次運行所有的測試」來保證代碼覆蓋率。這不但浪費資源還延長了測試周期冬骚,而且沒有真正的保證代碼覆蓋率椅贱。 測試那些需要測試的部分,以節(jié)省時間只冻、金錢和資源庇麦。可視化模型可以讓各種路徑被探索優(yōu)化,以便只用少量的測試用例就能提供最大化的覆蓋率喜德。 可以借助 Rally山橄、HP ALM和禪道ZTF等工具導入測試用例、移除重復用例舍悯、分發(fā)優(yōu)化過的用例航棱。
4、跨部門協(xié)作
DevOps中質量保證不再是測試人員的專屬責任贱呐,而是全體人員都要為之努力的方向丧诺。持續(xù)測試的成功實施離不開團隊內、團隊間及跨團隊的協(xié)作奄薇。測試人員需提前介入到開發(fā)工作中驳阎,與開發(fā)人員一起制定測試計劃;開發(fā)人員可以參與配置部署馁蒂;運維人員可以向自動化測試用例庫填寫測試用例呵晚;測試人員隨時將自動化測試用例配置到持續(xù)交付鏈中,所有成員的共同目的都是交付高效沫屡、高質量的產品饵隙。
DevOps打破了開發(fā)和運維之間的障礙,縮短了開發(fā)周期沮脖。其中金矛,持續(xù)集成芯急、持續(xù)測試、持續(xù)交付都是提高質量的關鍵催化劑驶俊,而持續(xù)測試則更具挑戰(zhàn)性娶耍。掌握DevOps生命周期的持續(xù)測試對于充分理解DevOps起著至關重要的作用。