設計和實作來源、Bug 和品質可追蹤性
在 DevOps 的內容中,可追蹤是指追蹤整個軟體開發生命週期中的變更和動作的能力。 此概念適用於該生命週期的不同層面,包括原始程式碼的變更、Bug 解決和維護品質控制。 其實作對於確保產品可靠性、可維護性和客戶滿意度至關重要。
來源可追蹤性可讓開發人員追蹤共同作業案例中的程式代碼變更。 Bug 追蹤性有助於識別、優先排序和解決原始程式碼中的問題。 品質可追蹤性藉由將測試活動、計量和意見反應連結至開發工作,確保軟體符合品質標準和使用者期望。
設計
概括而言,可追蹤性與工具無關,但方法取決於其設計目標軟體開發生命周期的層面。 同樣地,原始程式碼、Bug 和品質可追蹤性之間的目標和設計考慮也不同。
特別是,來源可追蹤涉及追蹤程式碼變更的歷程記錄,包括誰進行了變更、何時進行的變更,以及變更的目的。 它有助於程式代碼檢閱、偵錯,以及瞭解程式代碼基底隨著時間的演進。 從設計觀點來看,這項功能與組織開發工作的 Git 分支和合併策略密切相關。 開發人員會為新工作建立功能分支,將變更提交到分支,並提交合併請求以進行審核。 他們的同儕會進行程式碼審查,一旦順利完成,批准變更並合併到主分支。
缺陷追溯性涉及將在測試或生產期間報告的缺陷或瑕疵追溯至代碼的根源。 它也通常會依賴擷取資訊,例如錯誤報告詳細數據、重現步驟、受影響的元件和相關程式代碼變更。 其目標包括有效率地排定和解決 Bug,以解決軟體不足問題。
品質可追溯性包含追蹤整個軟體開發程序的品質相關活動和成品。 這包括將品質計量、測試案例、測試結果和其他品質保證活動連結至需求、使用者劇本和程式代碼變更。 品質可追蹤性有助於評估軟體變更對其質量的影響,並找出改進的領域。
實作可追蹤性
的可追蹤實作詳細數據會根據 DevOps 平臺而有所不同。
來源可追蹤性
由於 GitHub 和 Azure DevOps 都支援 Git 作為其原始檔控制機制,因此一些來源可追蹤技術適用於兩者。 因此,在這兩種情況下實作原始程式碼追蹤需要採用最佳做法,例如撰寫描述性認可訊息、使用定義完善的分支策略,以及要求提交程式碼檢閱請求。
不過,它們之間也有一些差異。 在 GitHub 存放庫中實作來源可追蹤性通常牽涉到利用分支保護規則等功能來強制執行程式碼檢閱程式,並確保在合併之前先檢閱變更。 GitHub 與問題整合可讓您將程式代碼變更連結至對應問題,以提供程式碼修改與專案需求之間的可追蹤性。 Azure DevOps 提供分支策略和拉取請求策略,以強制執行程式碼質量檢查,並將變更連結至工作專案,使程式代碼變更可追溯到使用者故事或任務。 此外,相較於 GitHub 的問題追蹤,Azure DevOps 提供更深入的工作項目追蹤系統整合,以實現更深層次的可追溯性和報告功能。
Bug 可追蹤性
在 Azure DevOps 中,錯誤的可追溯性可以透過 Azure Boards 來強化,其中錯誤會被追蹤為工作專案,並可連結至程式碼變更、提交和拉取要求。 Azure Boards 可讓您建立自定義的 Bug 管理工作流程,並定義新的、作用中、已解決和已關閉等狀態,以提供 Bug 生命週期的可見度。 此外,Azure DevOps 提供除錯與其他工作專案之間的豐富整合,讓除錯與使用者故事、工作和大型工作集之間的可追溯性。
在 GitHub 中,bug 的追蹤性依賴於問題與程式碼變更之間的整合,其中回報為問題的 bug 可以連結至提交和拉取請求。 GitHub Actions 可讓您實作可自定義的工作流程,包括與 Bug 可追蹤相關的工作流程。 使用 GitHub Actions,您可以定義工作流程,以自動化 GitHub 存放庫中事件所觸發的程式,例如建立或修改問題。 這可讓您建立自定義工作流程來管理 Bug,包括定義狀態、指派工作,以及根據特定條件自動執行動作。 實際上,雖然 GitHub Actions 在工作流程自動化方面提供彈性,但相較於 Azure DevOps 中的 Azure Boards 內建功能,它們通常需要更多精力和自定義。
品質可追蹤性
在 Azure DevOps 中,您可以使用 Test Plans 來管理品質可追蹤性,讓小組能夠組織、執行及追蹤測試案例。 測試計劃提供完整的品質計量,包括測試案例通過率、測試結果和測試涵蓋範圍報告。 此外,Azure DevOps 也提供與程式代碼涵蓋範圍工具的整合,以測量測試涵蓋範圍,並識別需要額外測試的程式代碼基底區域。
GitHub 透過 GitHub Actions 提供類似的功能,讓小組能夠自動化各種類型的測試,例如單元測試、整合測試和端對端測試。 在這裡,GitHub Actions 也提供設定測試工作流程並與第三方測試工具整合的彈性,但它們通常需要額外的設定,才能達到與 Azure DevOps Test Plans 相同的全面品質計量和測試涵蓋範圍報告層級。