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

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