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