原創|行業資訊|編輯:鄭恭琳|2020-05-25 15:22:43.820|閱讀 1015 次
概述:嚴格的軟件開發過程的基石是需求管理以及這些需求對實施的可追溯性,以及隨后對正確實施的證明。跟蹤需求不僅是將文檔中的段落鏈接到代碼或測試部分。當需求體現在設計、架構和實施中時,必須在整個開發階段中保持可追溯性。考慮軟件的典型“V”圖。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
嚴格的軟件開發過程的基石是需求管理以及這些需求對實施的可追溯性,以及隨后對正確實施的證明。
需求可追溯性由作者Gotel和Finkelstein定義為“具有在向前和向后的方向(即從需求的起源、發展、規范到隨后的部署和描述)中描述和跟蹤需求壽命的能力。使用,以及在任何這些階段進行不斷完善和迭代的階段。”
跟蹤需求不僅是將文檔中的段落鏈接到代碼或測試部分。當需求體現在設計、架構和實施中時,必須在整個開發階段中保持可追溯性。考慮軟件的典型“V”圖。
圖1:經典的V圖顯示了可追溯性如何在開發的每個階段前進和后退。
每個階段都驅動下一個階段。反過來,這些階段中的工作項必須滿足上一階段的要求。系統設計從需求出發。系統設計滿足要求,依此類推。
需求可追溯性管理(RTM)證明每個階段都滿足每個后續階段的需求。但是,這只是圖片的一半。這些可追溯性都不能證明已滿足要求。那需要測試。
圖2:需求可追溯性的另一個重要部分是驗證和確認測試,以從相應的設計階段證明規范的實施。驗證通常在與客戶進行最終驗收測試的開發周期結束時進行。
在圖2所示的V圖中,每個測試階段都會驗證與相應的設計/實施階段相關的規范是否滿足。在該示例中,驗收測試驗證需求,集成測試驗證架構設計,單元測試驗證模塊設計,等等。驗證通常發生在與客戶進行驗收測試的開發生命周期末期。
需求可追溯性既需要實現和驗證的鏈接,也需要開發過程中的所有相關工件。任何現實規模的軟件開發都將有許多需求,復雜的設計和體系結構,并可能有成千上萬的單元和單元測試。測試中RTM的自動化是必要的,特別是對于要求對證書和審核進行追溯的文檔的安全性至關重要的軟件而言。
需求可追溯性矩陣是一個文檔,它說明了對相應工作項(例如單元測試、模塊源代碼、體系結構設計元素等)的滿足。該矩陣通常顯示為表格,該表格顯示了產品的相應部分如何“檢查”每個需求。這些矩陣的創建和維護通常是使用需求管理工具自動進行的,能夠以多種形式可視化顯示它們,甚至在需要時以硬拷貝顯示。
以下是Intland codeBeamer的需求可追溯性矩陣示例。它顯示了分解為高級和低級需求的系統級別需求,以及驗證每個需求的測試用例。
圖3:Intland codeBeamer中的需求可追溯性矩陣示例。
從最簡單的意義上講,需要具有需求可追溯性,以準確跟蹤您在編寫軟件時正在構建的內容。這意味著確保該軟件能夠實現預期的功能,并且僅在構建所需的功能。
可追溯性既可以證明您滿足要求,又可以找出不滿足要求的地方。如果存在無法追溯到需求的體系結構元素或源代碼,則存在風險,不應存在。好處不只是提供實施證明。嚴格的可追溯性是開發進度的重要可見性。
可追溯性在企業軟件應用程序中不一定嚴格,盡管這種情況肯定會有所改善。但是,這是安全和關鍵任務軟件中的必需活動。
安全關鍵軟件的要求是產品設計和開發的關鍵驅動力。這些要求包括功能安全、應用要求和完全定義產品的非功能要求。對文件要求的依賴是一個喜憂參半的問題,因為糟糕的需求是軟件中安全事件的關鍵原因之一。換句話說,實施過程沒有錯,但是需求不佳或缺失。
重要的是要認識到,對安全至關重要的軟件中的許多要求都源于安全分析和風險管理。當然,該系統必須執行其預期的功能,但它還必須減輕風險,以大大降低受傷的可能性。此外,為了記錄和證明這些安全功能已得到完全正確的實施和測試,可追溯性至關重要。
保持任何規模的可追溯性記錄都需要自動化。應用程序生命周期管理工具包括成熟的需求管理功能,并且往往成為可追溯性的中心。諸如Parasoft之類的集成軟件測試工具通過提供對可執行測試用例的自動化雙向可追溯性來完成對需求的驗證和確認,其中包括通過或失敗結果,并追溯到實現需求的源代碼。
Parasoft集成了市場領先的需求管理和敏捷計劃系統,例如Intland codeBeamer,西門子的Polarion,Atlassian Jira,CollabNet VersionOne和TeamForge。
如下圖所示,Parasoft的每個測試自動化工具(C/C++test,Jtest,dotTEST,SOAtest和)都支持將測試與這些系統中定義的工作項(例如需求、案例、缺陷、測試用例定義)關聯起來。可追溯性通過Parasoft的中央報告和分析儀表板(Parasoft DTP)進行管理。
圖4:Parasoft提供了從工作項到測試用例以及測試結果的雙向可追溯性——既顯示了使用Parasoft DTP的可追溯性報告,又將結果報告回了需求管理系統。
Parasoft DTP將管理系統中的唯一標識符與靜態分析結果、代碼覆蓋率以及單元、集成和功能測試的測試結果相關聯。結果顯示在Parasoft DTP的可追溯性報告中,并發送回需求管理系統。它們提供了完整的雙向可追溯性,并作為系統可追溯性矩陣的一部分進行報告。
Parasoft DTP中的可追溯性報告是高度可定制的。下圖顯示了Jira中編寫的故事的需求可追溯性矩陣模板,該故事可追溯到測試用例、靜態分析結果、源代碼文件和手動代碼審查。
圖5:集成了Altassian Jira的Parasoft DTP的需求可追溯性矩陣模板。
測試結果與工作項之間的雙向關聯為需求可追溯性提供了基礎。Parasoft DTP添加了測試和代碼覆蓋率分析,以評估測試的完整性。在需求、測試和實現需求的工件之間保持這種雙向關聯是可追溯性的重要組成部分。
Parasoft DTP還可以幫助將缺陷和問題的產生分類到新的工作項中。測試自動化和靜態分析會消耗大量數據。幫助管理這些數據的工具對于確定工作項目的優先級并防止工具壓倒團隊很重要。
使用如下所示的Parasoft DTP中的違規和測試瀏覽器,團隊可以在對測試失敗和靜態分析違規進行分類之后,有效地創建新的工作項。可追溯性與分類問題/缺陷創建的結合為工作流提供了完整的反饋循環。
圖6:在VersionOne中創建新的缺陷,同時對Parasoft DTP中的測試失敗進行分類。
需求可追溯性是軟件開發中需求管理的關鍵部分。可追溯性的形式級別因應用程序類型而異,但是對于安全性至關重要的軟件,這種做法是絕對必要的。
雙向可追溯性很重要,因此需求管理工具和其他生命周期工具可以將結果關聯起來并使它們與需求和相關的工作項保持一致。
現代軟件項目的復雜性要求自動化以擴展需求的可追溯性。Parasoft工具旨在與同類最佳的需求管理工具集成,以幫助將追溯性納入測試自動化結果,并完成軟件測試驗證和需求確認。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn