女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于功能安全的汽車嵌入式軟件單元驗證技術研究

jf_C6sANWk1 ? 來源: 智能汽車設計 ? 2024-01-07 11:27 ? 次閱讀

隨著汽車嵌入式軟件功能的不斷疊加,軟件復雜性不斷提升,對汽車嵌入式軟件的安全性提出了更高要求,基于功能安全的嵌入式軟件開發和測試已成為汽車行業非常重要的流程標準。本文基于ISO 26262標準,對滿足功能安全ASIL等級的汽車嵌入式軟件單元驗證技術進行詳細介紹,從而提高軟件質量,減少軟件安全隱患,對汽車嵌入式軟件開發和測試工作具有一定的指導意義。

1 研究背景

隨著汽車使用場景的增加和輔助駕駛功能的擴展,汽車嵌入式軟件的集成度和復雜性也隨之增加,愈加龐大的軟件系統意味著存在更多難以發現的安全風險。傳統的軟件開發和測試流程難以滿足現階段對汽車軟件安全性的要求[1-3]。ISO 26262《道路車輛功能安全》國際標準是為滿足道路車輛上特定電子電器系統的需求而編寫,適用于道路車輛上特定的由電子、電氣和軟件組件組成的安全相關系統在安全生命周期內的所有活動,目前已成為非常前沿的汽車安全相關標準。其主要基于汽車電子行業公認的“V模型”,強調通過各開發階段的測試和驗證來降低風險[4-5]。

軟件單元驗證作為軟件測試的第一道關卡,能夠盡早發現代碼漏洞、降低開發成本、縮短開發周期,能有效提高軟件質量,是軟件測試中最重要的部分。基于功能安全的軟件單元驗證是為了證明軟件最小單元滿足軟件設計,以及安全措施得到實施,并滿足根據所需ASIL等級分配的軟件要求而開展的活動,兼顧軟件安全要求和非安全要求。為了保證驗證的充分性和完整性,功能安全要求通過評審、分析和測試等組合方法對軟件進行單元驗證。

本文基于ISO 26262《道路車輛功能安全》國際標準第6部分第9章節“Software unit verification”中的要求,對符合功能安全的軟件單元驗證技術進行詳細研究,對汽車軟件開發和測試從業人員具有一定的參考意義。

2 軟件單元驗證流程

軟件單元驗證流程如圖1所示。按照靜態測試在先、動態測試在后的準則進行,每一步都需要有上一步的輸出資料作為輸入,且上一步未評審通過不可進入下一步,保證驗證過程可靠且閉環。開始前,需要有《軟件單元設計規范》 《軟件接口規范》 《軟件開發環境文檔》等文檔作為驗證過程的需求輸入。需要注意的是,功能安全側重于對活動過程的檢查和確認,因此對重要步驟的審查是非常有必要的。

f84fedca-ad02-11ee-8b88-92fbcf53809c.jpg

圖1 軟件單元驗證流程圖

2.1 編制和評審軟件單元測試計劃

測試負責人根據各模塊ASIL等級要求對單元測試的各項工作內容編制單元測試計劃,規定時間進度要求,確認測試的范圍、方法、測試用例設計方法、覆蓋率要求等,輸出《軟件單元測試計劃》。測試小組內部對《軟件單元測試計劃》內的各項工作安排進行評審,評審通過則開始靜態測試,若評審不通過,則修改計劃再次評審直到通過。

2.2 執行和評審靜態測試

根據要求對模型或代碼執行靜態測試,確認對建模規范、編碼規范、軟件質量度量以及相關文檔的符合性,記錄測試執行結果并輸出《軟件單元驗證靜態代碼分析報告》。對于需要修改的缺陷執行缺陷修正,對于不需要修改的缺陷進行分析說明。根據測試結果評審靜態測試是否通過,評審通過則進行動態測試,若評審不通過,通知開發組修改代碼直到再次評審通過。

2.3 編制和評審軟件單元測試說明

測試工程師依據《軟件詳細設計說明》 《軟件單元驗證測試策略》和ASIL等級要求編寫用例的ID、名稱、設計方法、預置條件、執行步驟、預期結果、判斷準則,輸出《軟件單元測試說明》,根據追溯一致性要求需要建立軟件詳細設計與軟件單元測試用例的追溯關系。評審小組評審通過,則開始執行單元測試,若評審不通過,測試組修改測試用例直至再次評審通過。

2.4 執行單元測試

測試工程師搭建測試環境并執行軟件單元測試,測試覆蓋率需達到要求。若覆蓋率未達標,測試發現缺陷,需按照《問題解決管理過程規范》流程執行分析、處理。對測試用例未通過的情形,測試工程師根據策略執行回歸測試并記錄結果。對不能通過測試驗證的非功能需求,進行評審或采用其他方法驗證。依據測試記錄和結果輸出《軟件單元測試記錄》。

2.5 編制和評審軟件單元測試報告

測試工程師依據軟件單元測試記錄和結果,編制《軟件單元測試報告》。報告內容主要包括:測試目標、測試結果、結果分析、測試結論和意見。評審小組評審《軟件單元測試報告》,評審內容主要包括:從技術角度檢查靜態驗證、測試用例的執行情況;確認測試執行符合策略要求;確保建立追溯關系的一致性。評審通過則結束軟件單元驗證活動。

3 軟件單元驗證方法

表1列出了目前常用的軟件單元驗證方法,大致可分為評審、分析、測試3大類,分別對應1a-1c、1d-1i和1j-1n。標準要求通過這些方法的適當組合,對軟件單元設計和已實現的軟件單元進行驗證,來證明軟件的功能和特性滿足軟件安全要求。不同ASIL等級對不同方法的推薦度不一樣,其中“++”為特別推薦,“+”為推薦,“o”為不推薦。為滿足單元驗證的完整性和充分性,通常會在不同大類中選擇所有無重復項目的“++”項進行組合測試。注意,如果代碼保留了模型特性,可以通過在模型層面執行驗證來替代在源碼層面執行驗證,但需要證明該模型具有足夠的置信度。

表1 軟件單元驗證方法

f85a1b9c-ad02-11ee-8b88-92fbcf53809c.jpg

以ASIL B等級為例,可選擇檢查+靜態代碼分析+基于需求的測試+接口測試方法進行組合驗證。

3.1 檢查

對開發文檔、代碼和設計的一致性、代碼執行標準的情況、代碼邏輯表達的正確性、代碼結構的合理性以及代碼的可讀性等進行檢查。將所有與文檔和代碼相關的檢查項列舉在《軟件單元驗證檢查審查單》中,根據檢查結果給予“通過”“建議”和“不通過”,審查通過率高于90%判定為通過。

3.2 靜態代碼分析

在不運行應用程序的情況下,對軟件的源代碼的語義、結構和行為進行分析,由此找出程序中的不規范、不合理或者可能造成程序運行異常的代碼。靜態代碼分析可借助軟件對源代碼進行靜態分析。圖2為HelixQAC軟件對某代碼進行靜態分析的結果示意圖,編碼規范遵守MISRA C++

f8678854-ad02-11ee-8b88-92fbcf53809c.jpg

圖2 HelixQAC靜態分析結果

3.3 基于需求的測試

基于需求的測試是根據單元設計文檔提取明確要求進行的測試活動。通過分析各接口具有的意義、值的范圍及算法,確認需求的輸入值和預期值,對單元代碼進行測試,從而實現基于設計需求的單元測試。

3.4 接口測試

根據所測單元代碼被調用的輸入參數與該單元的形式參數在個數、屬性、量綱、順序上是否一致等方面設計測試用例進行測試。

基于需求的測試和接口測試范圍存在重疊,通常以基于需求的測試為主,接口測試進行查缺補漏。此過程需要根據軟件詳細設計文檔、安全需求文檔和接口文檔進行測試用例設計,保證測試用例對功能、安全需求和接口的100%覆蓋。圖3為VectorCAST軟件對某源代碼進行單元測試的結果示意圖,測試結果和預期結果一致,測試通過。

f88afc1c-ad02-11ee-8b88-92fbcf53809c.jpg

圖3 VectorCAST單元測試結果

4 軟件單元測試用例得出方法

標準要求使用表2列出的軟件單元測試用例得出方法。

表2 軟件單元測試用例得出方法

f894e1dc-ad02-11ee-8b88-92fbcf53809c.jpg

1) 需求分析法。根據《軟件詳細設計文檔》中的功能描述來設計測試用例,每一個測試用例用來檢驗一個或者多個測試需求。每個測試用例需要與測試需求編號一一對應形成追溯關系,需求覆蓋率需要達到100%。所有功能安全等級均要求使用此方法。

2) 等價類劃分法。根據被測函數的輸入、輸出范圍劃分有效等價類和無效等價類。針對每一個等價類設計至少一個有效等價類和一個無效等價類測試用例來確保被測程序單元的處理是完整的。此方法適用于具有取值范圍或值為個數的函數輸入單元。

3) 邊界值分析法。邊界值分析法使用與等價類劃分法相同的劃分,但是邊界值分析假定錯誤更多地存在于兩個劃分的邊界上,需相應地為邊界上及兩側的情況設計測試用例。此方法適用于對接口、接近邊界的值與邊界交叉的值較為敏感的函數單元。

4) 錯誤推測法。根據以往測試經驗和其他一些測試技術,猜測錯誤的類型及在特定的軟件中錯誤發生的位置,并設計測試用例去發現它們。此方法適用于存在易錯代碼的函數單元,通常基于經驗學習和專家判斷中收集的數據。

5 軟件單元層面結構覆蓋率度量

對單元測試完整性的另一個重要評估標準是軟件單元層面的結構覆蓋率要求,結構覆蓋率分析可以發現測試用例的不足、需求的缺陷、無效代碼或非預期功能,因此標準要求按照表3列出的度量對結構覆蓋率進行測試。

表3 軟件單元層面結構覆蓋率度量

f89e5ad2-ad02-11ee-8b88-92fbcf53809c.jpg

1) 語句覆蓋率是指被測試到的語句數量/可執行的語句總數×100%。

2) 分支覆蓋率是指被測試到的分支數量/總分支總數×100%。

3) MC/DC(修改條件/決策覆蓋率) 要求在一個程序中每一種輸入輸出至少出現一次,每一個判定中的每一個條件必須產生所有輸出結果至少一次,每一個判定必須產生所有可能的輸出結果至少一次,并且每一個判定中的每一個條件都能獨立影響一個判定結果,因此MC/DC是最可靠的覆蓋率。但由于其時間成本過高,目前只在功能安全要求最高的ASIL D中實施。實際進行軟件單元測試用例設計時,可以將測試用例導出方法與MC/DC標準相結合,提高測試效率、測試力度和測試充分性。

當軟件只需要滿足ASIL B等級時,選擇語句覆蓋和分支覆蓋并滿足覆蓋率要求即可。圖4為VectorCAST軟件對某源代碼進行單元測試的覆蓋率統計結果。需要注意的是,無理由的覆蓋率無目標值或低目標值會被認為不滿足功能安全要求。

f8a83cf0-ad02-11ee-8b88-92fbcf53809c.jpg

圖4 VectorCAST單元測試覆蓋率統計結果

對于可接受的死代碼(用于調試的代碼) 或不同軟件配置的代碼區段,可以給出接受所達到的覆蓋率水平的理由,或使用補充方法(代碼走審查) 驗證未被覆蓋的代碼。如果認為已實現的結構覆蓋率不充分,需要定義額外的測試用例或提供基于其他方法可補充覆蓋率以達到要求的理由,此部分證據可在《軟件單元驗證測試報告》中提供。

6 結論

功能安全是當下汽車軟件行業的主流趨勢,根據功能安全開發流程對汽車軟件進行開發和測試可以大大提高軟件的質量,減少軟件安全隱患,提升汽車核心競爭力。本文基于ISO 26262標準結合不同功能安全等級從軟件單元驗證流程、軟件單元驗證方法的選擇、軟件單元測試用例得出方法的選擇和使用以及軟件單元測試結構覆蓋率度量4方面對滿足功能安全的汽車嵌入式軟件單元驗證技術進行了詳細闡述,對汽車嵌入式軟件開發和測試行業具有一定的指導意義。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 汽車電子
    +關注

    關注

    3035

    文章

    8243

    瀏覽量

    169408
  • 嵌入式軟件
    +關注

    關注

    4

    文章

    245

    瀏覽量

    27158
  • 驗證技術
    +關注

    關注

    0

    文章

    5

    瀏覽量

    6288
  • 功能安全
    +關注

    關注

    2

    文章

    118

    瀏覽量

    5910

原文標題:基于功能安全的汽車嵌入式軟件單元驗證技術研究

文章出處:【微信號:阿寶1990,微信公眾號:阿寶1990】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    “國家可信嵌入式軟件工程技術研究中心”落戶上海

    近日,“國家可信嵌入式軟件工程技術研究中心”正式落戶上海,中心的成立將有助于我國重大裝備制造業的轉型升級。
    發表于 05-16 10:32 ?1218次閱讀

    汽車電子嵌入式基礎軟件進入應用階段

    由于對汽車安全、舒適和復雜功能的需求劇增,汽車電子產品的重要性正不斷上升,而在上海,相關領域的自主研究已取得積極進展。目前,
    發表于 07-29 08:34

    怎么實現嵌入式WiFi技術研究與通信設計?

    怎么實現嵌入式WiFi技術研究與通信設計?
    發表于 05-28 07:01

    嵌入式機載軟件安全性的相關資料分享

    嵌入式軟件汽車、核能、航空等安全關鍵領域應用普遍,軟件中潛在的失效都有可能造成財產的損失、環境的破壞甚至人員的傷亡,保障
    發表于 12-24 08:22

    如何提高嵌入式軟件單元測試效率

    有用。 在為嵌入式系統開發軟件時,準確和高效的測試是必不可少的,特別是對于持續集成和功能安全流。 來自全面回歸測試套件的快速通過或失敗結果使團隊能夠開發高質量的
    發表于 08-28 06:31

    嵌入式視覺運動目標跟蹤技術研究

    嵌入式視覺運動目標跟蹤技術研究......
    發表于 01-06 13:43 ?18次下載

    嵌入式系統重構過程中功能構件提取技術研究

    嵌入式系統重構過程中功能構件提取技術研究_劉鐵銘
    發表于 01-07 18:56 ?0次下載

    嵌入式數字信號并行處理技術研究

    嵌入式數字信號并行處理技術研究
    發表于 02-07 14:58 ?9次下載

    基于嵌入式WiFi技術研究與通信設計

    基于嵌入式WiFi技術研究與通信設計
    發表于 09-01 14:19 ?8次下載
    基于<b class='flag-5'>嵌入式</b>WiFi<b class='flag-5'>技術研究</b>與通信設計

    基于模型檢查的嵌入式軟件驗證方法解析

    進行驗證十分重要。 對嵌入式軟件驗證一般依賴于形式化的方法。 形式化的方法可以對嵌入式軟件系統
    發表于 11-02 10:50 ?0次下載
    基于模型檢查的<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b><b class='flag-5'>驗證</b>方法解析

    嵌入式雙目視覺系統和三維重建技術研究

    嵌入式雙目視覺系統和三維重建技術研究(嵌入式開發方向)-該文檔為嵌入式雙目視覺系統和三維重建技術研究總結文檔,是一份很不錯的參考資料,具有較
    發表于 07-30 11:50 ?7次下載
    <b class='flag-5'>嵌入式</b>雙目視覺系統和三維重建<b class='flag-5'>技術研究</b>

    基于嵌入式系統的圖像處理技術研究

    基于嵌入式系統的圖像處理技術研究(單片機開發嵌入式開發)-該文檔為基于嵌入式系統的圖像處理技術研究講解文檔,是一份很不錯的參考資料,具有較高
    發表于 07-30 15:55 ?5次下載
    基于<b class='flag-5'>嵌入式</b>系統的圖像處理<b class='flag-5'>技術研究</b>

    星載嵌入式處理器軟件在軌重配置技術研究

    星載嵌入式處理器軟件在軌重配置技術研究(嵌入式開發培訓費用)-該文檔為星載嵌入式處理器軟件在軌重
    發表于 07-30 17:07 ?11次下載
    星載<b class='flag-5'>嵌入式</b>處理器<b class='flag-5'>軟件</b>在軌重配置<b class='flag-5'>技術研究</b>

    基于嵌入式圖像處理的儀表自動識別技術研究

    基于嵌入式圖像處理的儀表自動識別技術研究(有女生做嵌入式開發)-文檔為基于嵌入式圖像處理的儀表自動識別技術研究總結文檔,是一份不錯的參考資料
    發表于 08-04 15:34 ?6次下載
    基于<b class='flag-5'>嵌入式</b>圖像處理的儀表自動識別<b class='flag-5'>技術研究</b>

    基于MCU的嵌入式Internet技術研究

    電子發燒友網站提供《基于MCU的嵌入式Internet技術研究.pdf》資料免費下載
    發表于 10-25 10:31 ?0次下載
    基于MCU的<b class='flag-5'>嵌入式</b>Internet<b class='flag-5'>技術研究</b>