從測試架構的演進看 DevOps 的 5 個優點

一、測試架構的演進

質量模型演化進程

二、DevOps 是什麼

DevOps(Development 和 Operations 的組合)是一組過程、方法與系統的統稱,用於促進開發(RD)、產品運營(PM)和質量保障(QA)部門之間的溝通、協作與整合。

三、DevOps 解決了什麼問題

1. 標準化的流程

如果需要做到 DevOps,重要的前提是把項目和代碼的流程標準化,各角色如何配合,各項目階段如何做到准入。同時需要把人爲的執行流程,使用工具管理起來。既保證了流程標準化,也同時對於項目的數據做到集中共享。推薦使用 jira。

2. 增加測試廣度寬度

DevOps 是一種框架,類似於一艘航母,需要裝備 “電磁炮”,“戰鬥機”,“核潛艇” 等等,才能發揮最大作用。從項目開始,DevOps 這艘航母就開始保障項目質量。從深度上講,單測、模塊自動化、集成自動化、系統自動化,多層覆蓋;從廣度上講,功能測試、性能測試、兼容性測試、靜(動)態代碼掃描,多維度覆蓋。這些測試組件,有的叫測試服務化,是 DevOps 最尖端的武器。在配合項目流程場景下,分別從代碼開發、提測准入、功能迴歸、全鏈路壓測、線上迴歸等等,對項目提供質量保障

3. 提升整體質量

沒有 DevOps 時,測試服務(工具 / 平臺)是遊離在項目之外的,即使有工具平臺,但缺少完善的使用場景,對於不同的業務,不同的端,不同的測試同學,所使用的工具平臺是不一樣的,同時對測試場景的制定,也需要線下制定,然後手動,非常費時成本較高。而 DevOps 是無需人力干預,從項目開始就在保障了,整個流程中,都是自動的,且在每個環節都有標準,保證質量的持續提升。此外,在不停地持續構建部署中,做到測試前置,在交付給 QA 的代碼,是保證高質量的。

4. 質量可度量

一般評估項目的質量,是從項目效率、代碼質量、服務穩定性、線上事故、用戶反饋等幾個維度來評估的。在 DevOps 中的各個武器,都需要對質量檢測做數據輸出,比如說自動化測試的代碼覆蓋度率、接口覆蓋率、bug 率等等;而項目管理工具,可以對項目的各階段效率數據化;從線上監控,可以拿到事故的數據指標,什麼級別,什麼原因,影響面等等;用戶反饋接口,獲取用戶的數據,並通過一定算法(後續文章可以解答),抽取有效信息並聚合。如此,線上、線下、用戶側多個場景拿到數據,評估整體項目的質量。

5. 提高研發測試比

基於高效,高質的持續部署方式,測試同學不用在執行重複低效的點點工作,而更多關注在如何提高 DevOps 的測試賦能(後續也會提到),這樣 DevOps 第一批幹掉了純測試的同學(說真的,這些同學前景堪憂),這時候從常規的比例提高(1:3 => 1:5),而測試賦能,把測試技能輸出給研發,這時候研發自測的效率和質量更高了,新功能測試的工作量降低了,測試的排期進一步壓縮(1:5 => 1:7),而 DevOps 的武器庫使得更多的項目,無需測試參與,極限情況下可以把比例壓縮到 1:10。這就是阿里之前提過的,幹掉 QA,正式通過 DevOps 方式

四、總結

現在大廠都在實施 DevOps,BAT 依託於各自的雲計算,優秀的團隊,快速地搭建地 DevOps。

作者:yushu_bd
鏈接:https://www.jianshu.com/p/dd4e09384a20

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/M02WNXbiYenSyQL-LQwgDQ