理解持續測試,才算理解DevOps

軟件產品的成功與否,在很大程度上取決于對市場需求的及時把控,采用DevOps可以加快產品交付速度,改善用戶體驗,從而有助于保持領先于競爭對手的優勢。

作為敏捷開發方法論的一種擴展,DevOps強調開發、測試和運維不同團隊間的協作與溝通。
?
持續集成和持續測試是一個在迭代中構建、測試產品并修復Bug的過程。它有助于團隊在開發階段的初期發現缺陷,這時的缺陷通常相對不那么復雜,并且更容易被解決。通過持續集成和持續測試,企業可以盡早地將錯誤風險降至最低,并加快交付更好質量的軟件。
?

DevOps中持續測試對產品開發的好處
●定期風險分析:你將擁有一個經歷了所有測試階段的構建版本,因為持續測試會標注出每個階段的潛在風險。
●改善用戶體驗:持續測試適應用戶的動態需求。團隊可以根據反饋不斷進行更新,讓產品更穩健、更靈活、更可靠。
●增強產品安全性:通過創建支持系統,可確保應用程序免受威脅和惡意軟件的影響。
●計劃反饋:評估交付管道的所有架構層,并與團隊共享可執行的反饋。
●更高的資源利用率:如前所述,及早發現Bug可以節省資金和資源。可以利用持續測試和缺陷預防策略的最佳實踐,并將有價值的資源重新部署到其他戰略開發計劃中。

持續測試在DevOps中的作用
在DevOps過程中,持續測試提供了持續的反饋機制,在整個產品交付管道中充當催化劑。每個階段的自動反饋確保缺陷在開發過程的早期就能被解決。

可操作的反饋是必要的,這決定著能否啟動交付鏈中的下一個流程。例如,如果反饋可以向前推進,則流程將繼續;如果反饋顯示存在問題,那么流程需要被暫停并采取糾正措施。
?
由專業的測試團隊進行的持續測試可以實時評估與軟件相關的業務風險。此外,它還提供基于風險的反饋,有助于幫助團隊做出更好的權衡決策。

DevOps中持續測試的實踐
1、測試的左移或右移
傳統測試主要集中在軟件開發周期的最后,產品發布之前。為了迎合不斷加快的交付頻率,越來越多團隊的測試活動開始向左右兩側移動。一般問題修復成本較高和面向企業收費的軟件,一旦生產環境中出現了問題會造成比較大的損失,通常采取測試左移的方式;對于具有展示功能的軟件產品,更容易在生產環境中發現問題,通常采取測試右移的方式。面對測試左右搖擺的問題,可從這張圖闡述DevOps中的測試具體應該如何實現。

?測試左移,是指測試人員更早地參與到軟件項目前期的各項活動中,在功能開發之前定義好相關的測試用例,提前發現質量問題。早期引入測試過程有助于防止缺陷,并為開發人員提供了在整個開發階段應用動態變更的靈活性。


測試右移,就是直接在生產環境中監控,并且實時獲取用戶反饋。在這種方法中,從用戶側收集反饋,根據用戶反饋持續改進產品的用戶體驗滿意度,提高產品質量。測試右移有助于更好地響應意外情況。
?

2、持續集成
理想的DevOps周期,是從代碼開發到生產環境運行的一鍵部署。顯然DevOps非常重視構建、測試和部署的自動化,使用持續集成成為了持續測試的基礎。實現持續測試的重要一步,是創建全面的自動化測試套件以在持續集成構建中使用,代碼提交后會立刻經過這套自動化測試套件得以驗證。常見的自動化測試套件由單元測試、組件檢測和驗收測試組成,其中每種測試的代碼或功能覆蓋率至少要達到80%以上才能保證不引入回歸問題。

3、讓提高測試覆蓋率高效化
DevOps的實踐要求提高代碼覆蓋率,增加低層級可用性的覆蓋率,以便在部署到更高級的可用性時不會出現與代碼覆蓋率有關的問題。

一些組織默認「每次運行所有的測試」來保證代碼覆蓋率。這不但浪費資源還延長了測試周期,而且沒有真正的保證代碼覆蓋率。 測試那些需要測試的部分,以節省時間、金錢和資源。可視化模型可以讓各種路徑被探索優化,以便只用少量的測試用例就能提供最大化的覆蓋率。 可以借助 Rally,、HP ALM和 禪道ZTF等工具導入測試用例、移除重復用例、分發優化過的用例。

4、跨部門協作

DevOps中質量保證不再是測試人員的專屬責任,而是全體人員都要為之努力的方向。持續測試的成功實施離不開團隊內、團隊間及跨團隊的協作。測試人員需提前介入到開發工作中,與開發人員一起制定測試計劃;開發人員可以參與配置部署;運維人員可以向自動化測試用例庫填寫測試用例;測試人員隨時將自動化測試用例配置到持續交付鏈中,所有成員的共同目的都是交付高效、高質量的產品。

DevOps打破了開發和運維之間的障礙,縮短了開發周期。其中,持續集成、持續測試、持續交付都是提高質量的關鍵催化劑,而持續測試則更具挑戰性。掌握DevOps生命周期的持續測試對于充分理解DevOps起著至關重要的作用。

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/39701.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/39701.shtml
英文地址,請注明出處:http://en.pswp.cn/news/39701.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

centos如何安裝libssl-dev libsdl-dev libavcodec-dev libavutil-dev ffmpeg

在 CentOS 系統上安裝這些包可以按照以下步驟進行: 打開終端,使用 root 或具有管理員權限的用戶登錄。 使用以下命令安裝 libssl-dev 包: yum install openssl-devel使用以下命令安裝 libsdl-dev 包: yum install SDL-devel使用以…

Go 安裝配置

介紹Ubuntu20.04 安裝和配置Go 1.安裝Go 去這個地方下載Go https://go.dev/doc/install 如果之前安裝過,可以參考這個(沒有可以忽略) 下載完成后執行 sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz 然后修改環境變量 sudo ge…

css3-grid:grid 布局 / 基礎使用

一、理解 grid 二、理解 css grid 布局 CSS Grid布局是一個二維的布局系統,它允許我們通過定義網格和網格中每個元素的位置和尺寸來進行頁面布局。CSS Grid是一個非常強大的布局系統,它不僅可以用于構建網格布局,還可以用于定位元素&#xf…

ahooks.js:一款強大的React Hooks庫及其API使用教程(一)

一、ahooks.js簡介二、ahooks.js安裝三、ahooks.js API介紹與使用教程1. useRequest2. useAntdTable3. useSize4. useBoolean5. useToggle6. useHover7. useDebounce8. useEventListener9. useFusionTable10. useKeyPress11. useLoading12. usePrevious13. useForm14. useUpdat…

代碼審計-ASP.NET項目-未授權訪問漏洞

代碼審計必備知識點: 1、代碼審計開始前準備: 環境搭建使用,工具插件安裝使用,掌握各種漏洞原理及利用,代碼開發類知識點。 2、代碼審計前信息收集: 審計目標的程序名,版本,當前環境(系統,中間件…

Flink源碼之State創建流程

StreamOperatorStateHandler 在StreamTask啟動初始化時通過StreamTaskStateInitializerImpl::streamOperatorStateContext會為每個StreamOperator 創建keyedStatedBackend和operatorStateBackend,在AbstractStreamOperator中有個StreamOperatorStateHandler成員變量…

Web framework-Gin

一、Gin Go Web--Go Module 軟件框架(software framework),通常指的是為了實現某個業界標準或完成特定基本任務的軟件組件規范,也指為了實現某個軟件組件規范時,提供規范所要求之基礎功能的軟件產品。 框架就是&#…

機器學習|Softmax 回歸的數學理解及代碼解析

機器學習|Softmax 回歸的數學理解及代碼解析 Softmax 回歸是一種常用的多類別分類算法,適用于將輸入向量映射到多個類別的概率分布。在本文中,我們將深入探討 Softmax 回歸的數學原理,并提供 Python 示例代碼幫助讀者更好地理解和…

HarmonyOS NEXT新能力,一站式高效開發HarmonyOS應用

2023年8月6日華為開發者大會2023(HDC.Together)圓滿收官,伴隨著HarmonyOS 4的發布,華為向開發者發布了匯聚所有最新開發能力的HarmonyOS NEXT開發者預覽版,并分享了圍繞“一次開發,多端部署” “可分可合&a…

代碼隨想錄算法訓練營第60天|動態規劃part17| 647. 回文子串、516.最長回文子序列、動態規劃總結篇

代碼隨想錄算法訓練營第60天|動態規劃part17| 647. 回文子串、516.最長回文子序列、動態規劃總結篇 647. 回文子串 647. 回文子串 思路: 暴力解法 兩層for循環,遍歷區間起始位置和終止位置,然后還需要一層遍歷判斷…

【mysql】—— 表的增刪改查

目錄 序言 (一)Create操作 1、單行數據 全列插入 2、多行數據 指定列插入 3、插入否則更新 4、直接替換 (二)Retrieve操作 1、SELECT 列 1??全列查詢 2??指定列查詢 3??查詢字段為表達式 4??為查詢結果指定…

數據結構——堆

數據結構——堆 堆堆簡介堆的分類 二叉堆過程插入操作 刪除操作向下調整: 增加某個點的權值實現參考代碼:建堆方法一:使用 decreasekey(即,向上調整)方法二:使用向下調整 應用對頂堆 其他&#…

Python Flask+Echarts+sklearn+MySQL(評論情感分析、用戶推薦、BI報表)項目分享

Python FlaskEchartssklearnMySQL(評論情感分析、用戶推薦、BI報表)項目分享 項目背景: 隨著互聯網的快速發展和智能手機的普及,人們越來越傾向于在網上查找餐廳、購物中心、酒店和旅游景點等商戶的點評和評分信息,以便做出更好的消費決策。…

YOLOv8 : 網絡結構

一. YOLOv8網絡結構 1. Backbone YOLOv8的Backbone同樣參考了CSPDarkNet-53網絡,我們可以稱之為CSPDarkNet結構吧,與YOLOv5不同的是,YOLOv8使用C2f(CSPLayer_2Conv)代替了C3模塊(如果你比較熟悉YOLOv5的網絡結構,那YOLOv8的網絡…

【GitHub】Pycharm本地項目打包上傳到Github倉庫的操作步驟

文章目錄 1、Pycharm端的設置操作2、Github端的設置操作3、Pycharm上配置Github4、Git本地項目至GitHub倉庫5、前往Github中查看確認6、常見報錯 1、Pycharm端的設置操作 通過CtrlAltS快捷組合鍵的方式,打開設置,導航到版本控制一欄中的Git,…

Gin安裝解決國內go 與 熱加載

get 方式安裝超時問題,國內直接用官網推薦的下面這個命令大概率是安裝不成功的 go get -u github.com/gin-gonic/gin 可以在你的項目目錄下執行下面幾個命令: 比如我的項目在E:\Oproject\zl cmd E:\Oproject\zl>就在目錄下執行 go env -w GO111…

回歸預測 | MATLAB實現GRU門控循環單元多輸入多輸出

回歸預測 | MATLAB實現GRU門控循環單元多輸入多輸出 目錄 回歸預測 | MATLAB實現GRU門控循環單元多輸入多輸出預測效果基本介紹程序設計往期精彩參考資料 預測效果 基本介紹 MATLAB實現GRU門控循環單元多輸入多輸出,數據為多輸入多輸出預測數據,輸入10個…

pytorch安裝VAE項目詳解

安裝VAE項目 一、 基本環境二、代碼來源三、搭建conda環境四、下載數據集五、啟動項目六、其他相關問題 一、 基本環境 工具版本號OSwin 11pycharm2020.1GPU3050 二、代碼來源 github地址為: https://github.com/AntixK/PyTorch-VAE/blob/8700d245a9735640dda458d…

ZooKeeper的應用場景(集群管理、Master選舉)

5 集群管理 隨著分布式系統規模的日益擴大,集群中的機器規模也隨之變大,因此,如何更好地進行集群管理也顯得越來越重要了。 所謂集群管理,包括集群監控與集群控制兩大塊,前者側重對集群運行時狀態的收集,后…

08 - 追加commit和修改最新的commit message

查看所有文章鏈接:(更新中)GIT常用場景- 目錄 文章目錄 1. 追加提交2. 修改最新的commit message 1. 追加提交 將改動追加到上一次的commit 現在我已經修改了Readme文件并且已經add、commit操作,但是還沒有push到遠程倉庫&#x…