首頁 > 技術文章 > 幹貨 | 汽車功能安全軟件安全測試方法

幹貨 | 汽車功能安全軟件安全測試方法

點(diǎn)擊(jī)次數:4452 更新時間:2023-02-06

近年來,智能網聯汽車(chē)行業已經進入飛速發(fā)展的軌道,軟件定義汽車"已經成爲業内人士的共識 ,同時也将面臨著(zhe)功能安全、網絡安全等多重挑戰。本文通過對相關标準中測(cè)試要求的介紹,探讨汽車功能安全測(cè)試的測(cè)試方法。


軟件安全測試内容及方法

根據軟件開發V模型,軟件安全詳細設計完成之後,需要進行相應的軟件驗證,集成及測(cè)試等内容,即V模型右邊(biān)内容,具體包括:軟件單元測(cè)試,軟件集成和測(cè)試,軟件安全要求驗證。具體如下圖所示:

2.png

 

軟件安全驗證方法

ISO 26262-6:2018針對軟件單元驗證、集成驗證 、嵌入式軟件驗證這三部分内容分别進行瞭(le)闡述,並(bìng)根據不同的ASIL等級對其驗證方法進行推薦:

3.png

4.png

5.png

 

上面列舉的三類測(cè)試,雖然它們屬於(yú)軟件開發V模型不同測(cè)試層級,但很多測(cè)試方法是共通的,例如基於(yú)需求的測(cè)試、接口測(cè)試 、故障注入測(cè)試等等。

爲更好地理解,我們可以從(cóng)測(cè)試類型的角度,将以上測(cè)試方法分爲:


• 靜(jìng)态分析(Static Analysis)

• 動(dòng)态分析(Dynamic Analysis)

對於(yú)功能安全軟件安全測(cè)試、軟件單元驗證、集成驗證、嵌入式軟件驗證對應測(cè)試類型如下:

• 單(dān)元驗證:靜态分析 + 動(dòng)态分析,靜态爲主

• 集成驗證:靜(jìng)态分析 + 動(dòng)态分析 ,動(dòng)态爲主

• 嵌入式軟(ruǎn)件驗證 :動(dòng)态分析


下面,對於(yú)靜态分析和動(dòng)态分析進行詳細說明:


靜态分析

靜态測試屬於(yú)最基本的測試,是指不用執行程序的測試,它主要採(cǎi)取代碼走查、技術評審、代碼審查等方法對軟件産品進行測試 ,主要包括以下内容:

軟件/代碼(mǎ)是否滿足相關(guān)質量标準?

─ 走查,結對(duì)編(biān)程,檢查

─ 控制流分析

─ 數據流分析

─ 靜(jìng)态代碼(mǎ)分析

除不同類型的人爲分析檢查外,靜态分析最重要内容爲靜态代碼分析,主要目的是檢查代碼編(biān)寫是否符合特定的編(biān)程規則。對於(yú)大部分車輛控制器代碼而言,靜态代碼分析,即C代碼靜态分析(如果基於(yú)模型開發,則是自動生成的代碼),主要是保證代碼滿足MISRA C(Motor Industry Software Reliability Association, 汽車工業軟件可靠性協會)相關的要求。

靜态代碼分析一般可以直接採(cǎi)用自動化檢測(cè)軟件,例如SIMULINK、 Model Advisor; Vector、 VectorCAST; Perforce、Helix QAC等,通過配置代碼檢測(cè)規則,然後導入源文件進行自動化分析,如果不滿足相關要求,則需要對代碼進行修改,直至滿足爲止。


動态分析

動态分析是指實際運行程序,並(bìng)通過觀察程序運行的實際結果來發現錯誤的軟件測試技術,它包括瞭(le)以下幾個方面 :

①軟件/代碼是否做瞭(le)它應該(gāi)做的?

─ 基於(yú)需求測(cè)試─ 接口測(cè)試─ 背靠背測(cè)試

②軟件/代碼是否做瞭(le)它不應該(gāi)做的?

─ 魯棒性測試

③軟件/代碼是否足夠?

─ 結構覆蓋(gài)性測(cè)試

重要的動态測試包括:

【基於(yú)需求測(cè)試】 

基於(yú)分配的安全需求和測試環境,制定安全測試用例,測試用例一般包括5個關鍵參(cān)數,即: 初始狀态或前提條件,數據設置、輸入、預期輸出、實際輸出。

【接口測(cè)試(shì)】     

不同軟件層(céng)次接口,包括信号名稱 、數目、數據類型、範圍測(cè)試。

【故障注入測(cè)試(shì)】  

即魯棒性測(cè)試,故障注入測(cè)試主要目的是驗證系統設計、軟件設計過程所提出安全機制或安全措施的有效性,通過在特定位置注入錯(cuò)誤,包括錯(cuò)誤的數值、方向、頻率等,對系統功能安全機制響應時間、診斷覆蓋等内容進行驗證。

【背靠背測試】

基於(yú)模型設計的測試,驗證模型和生成的代碼的一緻性,即採(cǎi)用相同的測試用例,同時輸入模型和生成的代碼進行執行,對二者輸出結果進行比較,一緻則通過,否則存在不一緻。

除基本測(cè)試方法外,ISO 26262-6:2018對(duì)不同階段的軟件安全測(cè)試環境也有相應的要求:

單元驗證及集成驗證:基於(yú)開發環境的軟件測(cè)試,包括模型在環、軟件在環、處理器在環、硬件在環。

嵌入式軟件驗證 :硬件在環(huán)或車(chē)輛

 

我們的服務

廣電計量信息化服務事業部在汽車功能安全服務方面可提供相應的培訓、咨詢、認證輔導服務。並(bìng)且,可以基於(yú)汽車功能安全要求向整車企業及相關零部件企業提供完整的軟件評測服務。具體服務包括:

6.jpg