在整個軟件開發(fā)生命周期和所有開發(fā)工件中定義和雙向跟蹤需求的能力是開發(fā)高保證軟件不可或缺的方面。在許多情況下,這也是讓監(jiān)管機構認證代碼的一部分。它是確保當今關鍵軟件可靠、安全和可靠的關鍵要素。所有這三個方面,尤其是作為其他兩個基礎的安全性,必須從頭開始構建到代碼中。它變得過于復雜,無法像繃帶一樣固定。
為了完成所有這三個要素,開發(fā)人員必須能夠清楚地說明系統(tǒng)的功能、安全和安保要求,然后能夠驗證軟件和系統(tǒng)是否滿足這些要求。他們需要需求可追溯性,包括將需求從其文檔跟蹤到執(zhí)行它的代碼的能力,以及從該代碼追溯到需求的能力。

曾經有一段時間,可以通過走查等非正式方法來實現(xiàn)可追溯性,但如今的代碼已經變得如此龐大和復雜——更不用說至關重要了——以至于這些方法根本不再值得信任。自動化工具既可以測試代碼是否存在以執(zhí)行既定要求,也可以確保此類代碼不會受到細微編碼錯誤的影響。第一步是建立雙向需求可追溯性,可以跟蹤從每個需求的代碼到實現(xiàn)該功能的源代碼,并且同樣能夠從該源代碼追溯到需求。
通過驗證實現(xiàn)軟件質量目標所需的工具包括靜態(tài)和動態(tài)分析。靜態(tài)分析工具使用未編譯的源代碼來分析它的各種質量方面,例如清晰度、一致性和復雜性,并根據編碼規(guī)則檢查它以符合特定的安全或安全相關編碼標準。此外,靜態(tài)分析可用于建立數據和控制流的基礎知識,這對于了解代碼中的潛在弱點和漏洞至關重要。也就是說,誰或哪些人或軟件實體可以訪問哪些數據以及它們如何影響控制?這有助于確定給定的所需功能是否正在獲得所需的訪問權限,或者未經授權的實體是否也可能正在這樣做。
另一方面,動態(tài)分析在編譯和執(zhí)行的代碼上運行。動態(tài)分析利用靜態(tài)分析過程中產生的信息對編譯后的代碼進行測試,并與源代碼協(xié)調,自動生成一套測試。然后可以通過從需求文檔派生的手動創(chuàng)建的測試來補充這些測試。這些可以包括功能安全測試,例如通過向設備提供錯誤數據來獲得對設備的控制的模擬嘗試。
覆蓋分析提供了對代碼執(zhí)行了多少的度量,但更具體地說,通過圖形可視化提供了分支/決策覆蓋和過程/函數調用覆蓋,從而更深入地了解代碼對給定刺激的響應。這不僅會告訴您需求是否已得到解決,而且還會告訴您它們是否已正確執(zhí)行而沒有隱藏的危險。需求可追溯性與覆蓋分析的結合還可能出現(xiàn)“死代碼”或從未執(zhí)行過的代碼區(qū)域。這段代碼可能會給您帶來不便,但如果黑客能夠獲得訪問權限并從中獲得控制權,它也可能構成安全威脅。它是無法追蹤的代碼,因此應該被淘汰。
在整個生命周期和整個開發(fā)工件(包括執(zhí)行代碼)中定義和跟蹤需求的能力是能夠驗證代碼的不可或缺的方面,并且在許多情況下,對于獲得監(jiān)管機構認證的代碼而言。在當今軟件日益復雜的世界中,必須使用自動化工具來完成。需求跟蹤既支持也支持其他測試活動以構成整體,但它代表了追求其他活動的基礎,例如標準合規(guī)性、正確編碼、單元系統(tǒng)和集成測試等。
審核編輯:郭婷
-
源代碼
+關注
關注
96文章
2953瀏覽量
69932 -
代碼
+關注
關注
30文章
4956瀏覽量
73516
發(fā)布評論請先 登錄
半導體供應鏈信任革命:從可追溯到全鏈路可信的升級之路
汽車軟件質量躍遷的系統(tǒng)性路徑:基于ISO 26262標準的單元測試體系重構與中日實踐深度對比(2026學術研究報告)
嵌入式軟件單元測試中AI自動化與人工檢查的協(xié)同機制研究:基于專業(yè)工具的實證分析
H200的“合規(guī)閘口”:高端AI芯片供應鏈中的可追溯性生命線
東莞MES系統(tǒng)助力企業(yè)實現(xiàn)生產過程透明化與可追溯
為什么可追溯性是汽車制造的關鍵
IATF16949 認證保障:合粵車規(guī)電容品質全程可追溯
嵌入式軟件測試與專業(yè)測試工具的必要性深度解析
普迪飛 Exensio?數據分析平臺 | 助力提升半導體制造的可追溯性
半導體可追溯性和供應鏈韌性的未來
Perforce ALM產品簡介:一站式需求與測試管理平臺(已通過SO 26262認證)
嵌入式系統(tǒng)測試必備:9大理由解析報告與可追溯性的重要性(附工具推薦TESSY)
Jama Connect:需求管理與可追溯性領域的頂尖解決方案(四)
Jama Connect是需求管理和可追溯性方面的領先解決方案(三)
Jama Connect:需求管理與可追溯性領域的頂尖解決方案
需求可追溯性為徹底的軟件測試奠定了基礎
評論