天天看點

CI/CD 中的自動化測試的概要知識

測試自動化是指在軟體開發過程中盡可能早、盡可能快地持續關注檢測缺陷、錯誤和 bug。這是通過使用那些追求品質為最高價值的工具完成的,它們旨在確定品質,而不僅僅是追求品質。

持續內建/持續傳遞(CI/CD)解決方案(也稱為 DevOps 管道)最引人注目的功能之一是可以更頻繁地進行測試,而又不會給開發人員或操作人員增加更多的手動工作。讓我們談談為什麼這很重要。

為什麼要在 CI/CD 中實作自動化測試?

靈活團隊要更快的疊代,以更高的速度傳遞軟體和客戶滿意度,而這些壓力可能會危及品質。全球競争制造了對缺陷的低容忍度,同時也增加了靈活團隊的壓力,要求軟體傳遞的疊代更快。減輕這種壓力的行業解決方案是什麼?是 DevOps。

DevOps 是一個大概念,有很多定義,但是對 DevOps 成功至關重要的一項技術是 CI/CD。通過軟體開發流程設計一個連續的改進循環,可以為測試帶來新的機會。

這對測試人員意味着什麼?

對于測試人員,這通常意味着他們必須:

  • 更早且更頻繁地進行測試(使用自動化)
  • 持續測試“真實世界”的工作流(自動和手動)

更具體地說,任何形式的測試,無論是由編寫代碼的開發人員運作還是由品質保證工程師團隊設計,其作用都是利用 CI/CD 基礎架構在快速推進的同時提高品質。

測試人員還需要做什麼?

具體點說,測試人員負責:

  • 測試新的和現有的軟體應用
  • 根據系統要求評估軟體來驗證和确認功能
  • 利用自動化測試工具來開發和維護可重複使用的自動化測試
  • 與 scrum 團隊的所有成員合作,了解正在開發的功能以及實施的技術設計,以設計和開發準确、高品質的自動化測試
  • 分析記錄在案的使用者需求,并針對中等到高度複雜的軟體或 IT 系統制定或協助設計測試計劃
  • 開發自動化測試,并與功能團隊一起審查和評估測試方案
  • 與技術團隊合作,确定在開發環境中自動化測試的正确方法
  • 與團隊合作,通過自動化測試來了解和解決軟體問題,并回應有關修改或增強的建議
  • 參與需求梳理、估算和其他靈活 scrum 儀式
  • 協助制定标準和流程,以支援測試活動和材料(例如腳本、配置、程式、工具、計劃和結果)

測試是一項艱巨的工作,但這是有效建構軟體的重要組成部分。

哪些持續測試很重要?

你可以使用多種測試。不同的類型并不是學科之間的牢固界限。相反,它們是表示如何測試的不同方式。比較測試類型不太重要,更重要的是對每一種測試類型都要有覆寫率。

  • 功能測試: 確定軟體具有其要求的功能
  • 單元測試: 獨立測試軟體的較小單元/元件以檢查其功能
  • 負載測試: 測試軟體在重負載或使用期間的性能
  • 壓力測試: 确定軟體承受壓力(最大負載)時的斷點
  • 內建測試: 測試組合或內建的一組元件的輸出
  • 回歸測試: 當修改任意元件(無論多麼小),測試整個應用的功能

總結

任何包含持續測試的軟體開發過程都将朝着建立關鍵回報環路的方向發展,以實作快速和建構有效的軟體。最重要的是,該實踐将品質内置到 CI/CD 管道中,并意味着了解在軟體開發生命周期中提高速度同時減少風險和浪費之間的聯系。