原創|行業資訊|編輯:況魚杰|2020-11-24 11:14:07.640|閱讀 264 次
概述:確保嵌入式軟件的正確操作,質量,安全性和安全性是嵌入式系統軟件活動的重要組成部分。在很大程度上,團隊通過軟件測試以及整個開發過程中的分析,可追溯性,文檔等來完成此任務。關鍵安全軟件具有嚴格的驗證和確認方法,這些方法通常被編入行業標準。這就引出了一個問題:有什么區別?
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
確保嵌入式軟件的正確運行、質量、安全和保障,是嵌入式系統軟件活動的重要組成部分。在很大程度上,團隊通過軟件測試以及在整個開發過程中通過分析、可追溯性、文檔等方式來完成。安全關鍵型軟件有嚴格的驗證和確認方法,這些方法通常被編入行業標準。這就引出了一個問題:有什么區別?
驗證和審定的官方定義在《IEEE標準軟件工程術語表》中進行了定義。
這些定義抓住了這兩個測試關鍵方面的區別的核心。
最終目標是打造正確的產品。更多的是要確保產品的質量、安全和保障,確保它仍然是正確的產品。
驗證是軟件開發過程的一部分,它可以確保工作的正確性。軟件核查通常包括:
審定是證明最終產品符合要求。這些要求包括功能加上可靠性、性能、安全和保障。
對于物理產品來說,審定包括客戶親自看到、試用和測試產品。但對于軟件來說,審定包括軟件的執行和軟件運行的演示。它通常包括:
理解驗證和審定目標之間的區別很重要,軟件開發需要這兩個目標。這些活動是軟件開發工作的主要部分。組織一直在尋求在不影響安全、保安或質量的情況下簡化它們。
V模型顯示了開發安全關鍵型軟件所使用的更正式的驗證和審定方法。它說明了開發的每個階段的活動以及它們之間的關系。
V模型很好地說明了開發階段和審定階段之間的關系。在每一個測試階段,軟件中更完整的部分都要對照定義它的階段進行審定。然而,V模型可能意味著瀑布式開發方法。有一些方法可以將敏捷、DevOps和CI/CD融入到這種類型的產品開發中。另一方面,審定可以確保每個階段都是完整的、正確的。
驗證包括審查、演練、分析、可追溯性、測試和代碼覆蓋率等活動,以確保團隊正確構建流程和產品。舉個例子,單元測試的執行是驗證活動,確保單元測試的可追溯性、代碼覆蓋率和測試進度就是驗證。驗證的關鍵作用是確保構建交付的工件從上一階段到規范,并符合公司和行業準則。
各個組織可能會以稍微不同的方式使用驗證和審定。通常的做法是將審定視為軟件開發接近尾聲時發生的活動,在這一過程中,團隊向客戶(或作為其代理的測試人員)展示產品并證明滿足所有需求。嵌入式開發仍然使用工廠驗收測試(FAT)的概念。
另一個顯著的理念差異是DO-178B/C和相關標準,用于開發安全關鍵型航空電子軟件,審定不是一個已知的術語。事實上,如果驗證完成,審定被認為是多余的。
"審定是確定軟件需求是正確和完整的過程。DO-178C沒有為軟件驗證測試提供指導,因為按理說,經過驗證正確的軟件,理論上在軟件集成測試中應該不會出現審定問題,除非軟件需求不完整或不正確。" - 根據DO-178C和DO-278A對安全關鍵軟件進行認證,Stephen A. Jacklin,NASA艾姆斯研究中心。
用于安全關鍵型軟件的混合型DevOps管道
在許多嵌入式軟件組織中,完全敏捷流程的實施與行業安全保障標準對其的限制并不兼容。工件、代碼、測試結果和文檔通常有要求和設定的交付日期。進展是基于這些可交付成果(里程碑)。
在某些情況下,如大型軍事和國防項目,里程碑式的交付成果被納入合同和付款安排中。雖然這意味著瀑布法,但沒有理由將軟件開發局限于此。團隊可以使用混合模式,在內部使用迭代和敏捷方法來實現交付物的里程碑。
在討論驗證和審定時提出這個問題的原因是,團隊可以在復雜的安全關鍵型應用上使用持續集成和測試的許多好處。其中一部分是將左驗證和審定轉移到開發過程中盡可能早的位置。例如,沒有理由將單元測試推遲到所有單元都編碼完畢,也沒有理由等著用靜態分析來分析代碼,直到它準備好進行集成。
同樣,一旦有單元測試的組件準備好,開發人員就應該盡快嘗試集成測試。將自動化與持續、迭代的方法結合起來,可以為軟件驗證和審定帶來巨大的好處。Parasoft擁有在SDLC的所有階段解決測試、質量和安全問題的工具,如下所示。
V模型顯示了開發安全關鍵軟件所使用的更正式的驗證和審定的方法。
驗證包括確保開發的每個階段都滿足上一步的規范的工作。在軟件編碼和測試方面,驗證就是確保代碼滿足模塊設計,最終滿足高層設計和上面的要求。
此外,驗證還要確保滿足項目級需求。這些要求包括符合行業標準、風險管理、可追溯性和指標(代碼覆蓋率和合規性)。Parasoft的軟件測試自動化工具通過自動化記錄保存、文檔、報告、分析和報告等許多繁瑣的環節來加速驗證:
審定是證明產品符合其要求,在這里,代碼的執行是必要的,無論是在單元測試中的隔離,還是在集成的各個階段。自動化這些測試套件對于嵌入式軟件的開發來說是一個巨大的時間節省。
審定需要在目標硬件上執行。優化回歸測試可以充分利用現有的資源、人員和硬件。Parasoft測試自動化工具通過減少對手動測試的依賴性來加速審定--保持所有結果的可追溯性和代碼覆蓋率。
軟件審定可確保團隊構建正確的軟件,以滿足客戶和市場的需求。驗證是您滿足要求的證明,并且您的產品可靠,安全,可靠,可以保護客戶。
軟件驗證可確保團隊根據組織自身的流程和標準以及市場要求的標準來構建產品。換句話說,驗證可證明產品有效,而驗證可確保您劃過所有t并加點所有i。
驗證和審定會消耗嵌入式產品開發中的大部分資源。Parasoft的軟件測試自動化套件提供了一套統一的工具來加速測試,方法是幫助團隊將測試移至開發的早期階段,同時保持可追溯性,測試結果記錄保留,代碼覆蓋率詳細信息,報告生成和合規性文檔。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn