雙向追溯保障需求到程式碼的一致性

lily2024發表於2024-09-27

前言

軟體交付過程中從需求設計到程式碼交付要經歷多個不同的角色和環節加工,而使用者最終看到的結果經常和需求預期存在差異,導致頻繁返工。造成這一現象的根本原因是研發過程資訊載體不同、表達方式不同,從而導致資訊傳遞失真。換成人話就是:需求文件、程式碼、測試用例等都在表達對需求的理解,但是他們又相互獨立,從而造成資訊偏差。

軟體研發中的一致性:

解決需求、程式碼、測試用例之間的一致性問題,這不僅涉及到單個元件的準確性,還涉及到它們之間的協同和整合,因此保障一致性最重要的基礎上建立彼此之間的連線性。從三者關係來說,需求定義了目標,程式碼是實現這些目標的手段,而測試用例則驗證目標是否已實現。

雙向追溯如何保障一致性:

雙向追溯結合 DevOps 實踐可以顯著提高需求與程式碼一致性。雙向追溯提供了需求與程式碼之間的明確連結(不理解雙向追溯的請看《雙向追溯(bidirectional traceability) 的原理和應用》),而 DevOps 透過其自動化和快速迭代的能力,確保這些需求可以快速且準確地轉化為軟體功能。雙向追溯結合 DevOps 在研發流程節點上的作用包括如下幾點:
1. 需求管理

- 價值:確保需求的一致性和完整性,響應需求變更。
- 關鍵點:在 DevOps 平臺為每個需求或子需求建立需求分支,從而可以在研發交付過程中自動追蹤需求的變更及其在開發週期中的實現情況。

2. 持續整合(CI)

  • 價值:保證程式碼質量,確保新提交的程式碼與需求一致。
  • 關鍵點:每次程式碼提交都觸發自動化測試和構建,以確保程式碼的質量和需求的實現目標。

3. 持續部署(CD)

- 價值:快速且一致地將新特性從 Dev 部署到 SIT,UAT 和生產環境。
- 關鍵點:自動化部署流程將經過測試的程式碼更改部署到生產環境,同時自動更新需求的部署狀態。

4. 測試和自動化測試

- 價值:確保需求得到正確實現。
- 關鍵點:建立和執行與需求相關聯的自動化測試用例,驗證程式碼和需求的一致性。同時自動更新需求的狀態。

5. 配置管理

- 價值:保證系統配置支援需求實現。
- 關鍵點:需求分支,開發分支,測試分支的規範運用。

6. 故障排查與缺陷修復

- 價值:快速定位和修復各環境中的問題。
- 關鍵點:使用動態鏈路來確定問題的根源,快速進行修復,更新需求狀態。

7. 版本控制與釋出管理

- 價值:確保釋出版本的完整性和一致性。
- 關鍵點:使用雙向追溯來確認釋出版本包含了所有需求的實現。特別是程式包,檔案與需求的關聯正確性。

結束語

雙向追溯在保障軟體開發過程中需求與程式碼一致性方面發揮著關鍵作用。它確保了從需求定義到程式碼實現和測試驗證的每一步都緊密對應,減少了開發過程中偏離原始需求的風險。透過提高開發和測試過程的透明度,雙向追溯不僅提升了軟體產品的質量,還加強了團隊成員之間的溝通和協作,有助於更有效地滿足使用者需求和業務目標。

相關網站

1、Hi-CodeCaptain 軟體研發質量管控平臺(簡稱 Hi-CC 平臺)

2、Hi-CC 魔法球網頁

3、Hi-CC 魔法球線上演示地址(注意先安裝 Hi-CC 魔法球擴充套件)

相關文章