根據2022年的DevOps全球調查報告顯示,主流軟體企業採用或部分採用DevOps且已獲得良好成效的占比已達70%,DevOps儼然成為當下軟體開發研究的重要方向。 測試作為軟體開發的必要過程,是提升軟體可靠性、保證軟體質量的關鍵環節。然而,從過往研究文獻來看,希望通過DevOps提升軟體交付效 ...
根據2022年的DevOps全球調查報告顯示,主流軟體企業採用或部分採用DevOps且已獲得良好成效的占比已達70%,DevOps儼然成為當下軟體開發研究的重要方向。
測試作為軟體開發的必要過程,是提升軟體可靠性、保證軟體質量的關鍵環節。然而,從過往研究文獻來看,希望通過DevOps提升軟體交付效率、保證軟體質量的國內企業往往缺乏輕量級的測試改進路徑。
本文將從軟體研發最關鍵的質量與效率兩個目標出發,對採用DevOps的軟體測試需要關註的重點因素進行分析並提出改進框架及實踐建議。
DevOps成熟度模型分析
綜合對比現有的相關文獻,由荷蘭烏得勒支大學的Feijter教授提出的DevOps成熟度模型相對更為全面、系統,共涉及三大模塊及16個因數,具體如下:
上表中,成熟度按因數等級劃分為1-8級;每個因數按是否更符合DevOps理念劃分為2—6個等級。以“利益一致性”因數為例,僅與內部產品規劃保持一致節奏的團隊被劃分為能力A級,而能與外部利益相關者的需求保持一致發佈節奏、適應能力更強的團隊為能力D級,越貼近DevOps理念,等級越高。
為更明確“利益相關者”的概念,可參照“內部開發運營的能力模型”,如下圖所示:
構建適合企業自身性能的測試過程改進框架
逐一分析DevOps成熟度模型因數中與軟體測試相關的內容,並按測試文化、測試過程及測試基礎三個方面進行劃分,可將DevOps模式下的軟體測試影響因素劃分如下:
影響因素所涉及的各測試因數與不同的DevOps成熟度等級相對應,選擇其中最為重要的產品質量和測試效率作為評價依據,對測試因數進行重要性分析,得到結果如下
按照上述結果,可將不同性能組織的測試情況進行如下區分:
並得出DevOps模式下的測試改進框架:
在選定適合自己的DevOps測試改進框架後,也需要對工具軟體進行選擇,以確保整體方案的落實。天目全數字實時模擬軟體SkyEye可與眾多工具(如禪道、Jenkins、GitHub、極狐Gitlab等)聯合打造持續集成全鏈路一站式平臺,專為嵌入式DevOps提供解決方案。
在持續集成流水線中,代碼提交至倉庫後將觸發流水線運行,由持續集成伺服器自動拉取代碼進行靜態分析、編譯並載入至SkyEye模擬環境進行測試,工程師可快速獲取測試報告,大大提升嵌入式軟體研發效率,助力提高組織性能。
▲DevOps中的持續集成流水線
參考鏈接:
[1] Feijter R. Towards the adoption of DevOps in software product organizations: a maturity model approach[D]. 2017.
[2]胡鵬. 面向DevOps模式的軟體測試優化研究[D]. 戰略支援部隊信息大學. 2022.