符合ISO26262標準的軟件測試解決處理方案_第1頁
符合ISO26262標準的軟件測試解決處理方案_第2頁
符合ISO26262標準的軟件測試解決處理方案_第3頁
符合ISO26262標準的軟件測試解決處理方案_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

./符合ISO26262標準的軟件測試解決方案隨著汽車行業(yè)的迅速發(fā)展,汽車電子電器E/E系統(tǒng)在汽車中的作用不斷提高,ECU開發(fā)所占用的時間和成本也越來越高。與此同時,越來越多的電子控制系統(tǒng)〔例如車身穩(wěn)定控制系統(tǒng)ESP,防抱死制動系統(tǒng)ABS,自適應前照明系統(tǒng)AFS等具有與安全相關的功能,因此對ECU的安全要求也越來越高。為了減少產(chǎn)品的開發(fā)時間和成本,降低由于安全問題而導致的維護甚至召回的風險,越來越多的整車廠和供應商開始重視汽車領域的功能安全問題,ECU軟件功能安全的問題也成為汽車行業(yè)迫切需要解決的問題,車輛功能安全標準ISO26262就在這樣的環(huán)境和需求下應運而生,并于20XX11月正式發(fā)布第一版本,該標準是當前汽車業(yè)中最流行、最復雜、也是最重要的一份標準。

ISO26262的目標是通過避免汽車E/E系統(tǒng)故障行為可能導致的危害來提高E/E系統(tǒng)的功能安全。ISO26262采用車輛安全完整性等級〔ASIL來判斷系統(tǒng)的功能安全程度,ASIL由ASILA〔最低、ASILB、ASILC及ASILD〔最高四個等級組成,ASIL等級越高表示系統(tǒng)的功能安全評估越嚴格,相應的表示系統(tǒng)正確執(zhí)行安全功能,或者說的避免該功能出錯的概率越高,即系統(tǒng)的安全可靠性越高。

ISO26262標準的組成架構由十個規(guī)范和信息指導文件組成,其中ISO26262—4/5/6闡述的是系統(tǒng)級/硬件級/軟件級的產(chǎn)品開發(fā),使用嵌套的V模型定義了每個開發(fā)階段的過程以及相應的工作產(chǎn)品。本解決方案主要闡明了在軟件級產(chǎn)品開發(fā)階段如何去理解ISO26262的要求,并且指出了在實際的軟件開發(fā)過程中如何結合ISO26262的軟件測試生命周期,通過包括軟件測試工作的執(zhí)行以及過程控制等方面來確保ECU軟件質量滿足ISO26262軟件級功能安全相應等級的要求?;赩模式的ISO26262軟件測試生命周期

如圖所示,基于V模式的ISO26262-6軟件測試生命周期可以劃分為五個階段:靜態(tài)分析需求和功能需求:在軟件級產(chǎn)品開發(fā)初始化階段和軟件安全需求規(guī)范制定階段確定了一些基本的嵌入式軟件靜態(tài)分析需求和功能需求,這部分內容是以后設計和測試的基礎;架構驗證:在軟件架構設計階段,我們可以使用人工分析的方式來驗證和測試軟件架構層的內容,但是有條件的話最好使用合適的架構設計工具,在設計的過程中同時進行架構驗證;靜態(tài)測試:在軟件單元設計和實現(xiàn)階段同時進行靜態(tài)測試,可以使用開發(fā)輔助工具來進行靜態(tài)測試,這樣不必因為靜態(tài)測試的活動而改變開發(fā)流程。動態(tài)測試:在軟件單元測試階段以及軟件集成和測試階段,使用合適的動態(tài)測試工具進行動態(tài)單元和集成測試,功能驗證:在軟件安全需求驗證階段,要根據(jù)ISO26262-6的要求進行功能驗證,包括進行ECU網(wǎng)絡環(huán)境測試和實車測試,必要的時候進行HIL測試。

因為在靜態(tài)分析需求中所需要滿足的方法基本上都是屬于靜態(tài)測試的范疇的,因此我們以ASILA為例,將軟件測試內容分為靜態(tài)測試、動態(tài)測試和功能驗證三部分〔注:架構驗證暫時未包含在內,見下表。

表中所列舉的靜態(tài)測試內容里面要求采取多種的測試方法,例如‘低復雜度的強制要求’一般需要通過滿足一定的度量指標來實現(xiàn),度量指標包括圈復雜度、嵌套深度等等,而‘使用語言的子集’在汽車行業(yè)一般選擇MISRA-C,通過強制使用編碼規(guī)范來排除未定義行為或者實現(xiàn)定義行為等危險用法,除此之外靜態(tài)測試還要求一些其他的測試方法,例如如果要滿足更高的安全完整性等級的話,靜態(tài)測試內容還需要包括運行時錯誤檢測等,一般需要使用可靠性測試性的測試。

ASILA所要求的動態(tài)測試要求能夠基于需求分析和設計測試用例,因此需要在開發(fā)過程中提供對需求管理的支持,同時要求能夠針對函數(shù)或模塊提供覆蓋度分析等。如果是更高等級的ASIL的話可能還需要進行不同環(huán)境的測試,例如模型在環(huán)測試〔MIL和軟件在環(huán)測試〔SIL,并在必要的情況下進行MIL和SIL的對比測試。

軟件安全需求的測試環(huán)境需要根據(jù)ASIL等級來進行選取,并且至少要在一個以上不同環(huán)境內執(zhí)行測試。ASILA所要求的ECU網(wǎng)絡測試包括了網(wǎng)絡中各ECU之間的相互作用,目的是確保ECU之間沒有引起功能故障的相互干擾,而實車測試則是在真正的ECU軟件運行環(huán)境中進行測試的方式,根據(jù)功能安全需求規(guī)范來進行,可以最直觀地反映出ECU軟件是否能夠滿足定義的功能安全需求。當然在必要的時候還需要進行硬件在環(huán)測試〔HIL,通過仿真控制系統(tǒng)中傳感器和執(zhí)行器的硬件<Hardware>電氣特性,為嵌入式控制器構建起一個控制回路<Loop>,從而可以方便的在其中模擬被控對象的工作環(huán)境,對ECU的算法進行功能驗證和測試。

針對前面劃分的ISO26262所關注的靜態(tài)測試、動態(tài)測試和功能驗證的要求,下面我們就來看一下解決方案中如何來滿足這些需求。符合ISO26262標準的靜態(tài)測試在靜態(tài)測試中,靜態(tài)分析主要包括規(guī)則檢測和質量度量;可靠性測試主要進行運行時錯誤的檢測。

上面提到ASILA中針對編碼準則的需求以及其他ASIL等級所強烈推薦的例如使用風格指南等需求都是不需要運行源程序來檢測,因此都屬于靜態(tài)分析的范疇,雖然這些需求也可以通過人工檢查的方式實現(xiàn),但一個好的靜態(tài)分析工具幾乎可以自動化地執(zhí)行表1中所有的要求,通過靜態(tài)分析工具來幫助我們檢查和滿足這些規(guī)定可以明顯地幫助組織更有效率地實現(xiàn)ISO26262靜態(tài)分析的相關需求。針對靜態(tài)分析的需求,我們提供DAC這樣一個工具,它的主要功能包括:可以自動化地地執(zhí)行C代碼及匯編代碼的靜態(tài)分析,支持包括MISRA-C1998和2004的規(guī)則檢測;提供項目、文件和函數(shù)質量度量;提供方便快捷的代碼結構生成,高亮顯示代碼結構并生成報告文檔等。

在靜態(tài)測試中,除了規(guī)則檢測和質量度量以外,還有一類錯誤我們稱之為運行時錯誤,例如數(shù)組越界、標量溢出等。運行時錯誤顧名思義是程序運行的時候才會出現(xiàn)的錯誤,針對這樣的錯誤,使用傳統(tǒng)的測試方式只有在動態(tài)地運行測試用例的時候才有可能發(fā)現(xiàn),但是現(xiàn)在的測試工具可以使用先進的代碼分析技術,不需要真正去執(zhí)行源代碼,而是使用數(shù)學方法分析源代碼,發(fā)現(xiàn)代碼中在運行的時候可能會出現(xiàn)錯誤的地方,從而實現(xiàn)通過靜態(tài)測試的方式來達到一定的動態(tài)測試的效果。因為運行時錯誤會直接影響的程序執(zhí)行的可靠性,所以針對這類錯誤的測試我們也可以稱之為可靠性測試。

針對可靠性測試的需求,我們提供澳大利亞的一個運行時錯誤監(jiān)測工具Goanna。其模型檢測技術可以對所有函數(shù)提供高效的路徑覆蓋,檢查超過90種運行時錯誤,包括空指針引用、危險的指針運算、未初始化/未使用變量、冗余/不需要的代碼、除零、內存泄露、緩沖區(qū)溢出、釋放后使用、不一致的釋放、濫用的虛擬成員調用、算術錯誤、32/64位兼容性等。符合ISO26262標準的軟件代碼SIL測試在準備和設計階段,大部分都是屬于靜態(tài)測試的工作,它在確認設計或實現(xiàn)的不足時非常高效,但它不能證明功能正確。而依ISO26262-6標準開發(fā)的軟件根據(jù)需達到的車輛安全完整性等級〔ASIL不同,還需要經(jīng)過各種動態(tài)測試,動態(tài)測試可以驗證軟件功能,因此是對靜態(tài)測試的有效補充。

以前的動態(tài)測試大部分是通過人工的方式實現(xiàn),但是由于動態(tài)測試巨大的工作量,以及測試用例難以重用,測試覆蓋率無法計算的困難,因此在測試解決方案中還是需要選擇合適的動態(tài)測試工具來執(zhí)行軟件單元測試。又因為ISO26262對需求和測試有可追溯性的要求,所以最好測試工具可以和相關需求管理工具集成,例如能夠從需求管理工具中將需求導入,再將測試用例和需求鏈接起來,并且實現(xiàn)數(shù)據(jù)的雙向同步。

針對軟件代碼SIL測試,我們提供德國的代碼級動態(tài)測試工具Tessy。它的基本功能包括:全自動地測試執(zhí)行和評估;多種方式確定測試用例;基于需求的測試跟蹤;不需要用戶介入的回歸測試;代碼覆蓋率;自動生成測試報告等。

在Tessy中,測試用例的設計不僅可以基于需求覆蓋來進行,包括進行需求管理、需求跟蹤、需求覆蓋度統(tǒng)計等,也可以基于代碼覆蓋進行測試用例設計,并且非常方便地達到MC/DC覆蓋的等級。符合ISO26262標準的MIL測試在汽車領域的嵌入式控制系統(tǒng)開發(fā)中,基于模型的開發(fā)<Model-BasedDevelopment>的設計方法以其直觀、快速、高效等優(yōu)勢已經(jīng)得到廣泛的應用。但是由于系統(tǒng)的復雜性,建立起來的仿真模型也越來越復雜,根據(jù)自動生成代碼的測試結果再來改進模型的測試方式也變得越來越困難,并且根據(jù)ISO26262標準ASILC和D的要求,必須對模型和對應的代碼分別進行單元測試并且比較結果,因此,如果是使用模型自動生成代碼的設計方式的話,我們需要在建立了仿真模型之后就對模型進行測試,在確保模型功能正確的基礎之上來自動生成代碼再進行代碼測試。

針對MIL測試,我們提供德國的分時段測試工具TPT,實現(xiàn)對控制系統(tǒng)以及閉環(huán)控制系統(tǒng)模型的MIL測試。TPT軟件由于首創(chuàng)地使用分時段測試〔TimePartitionTesting,使得控制系統(tǒng)的軟件測試技術得以極大提升;同時由于TPT軟件支持眾多業(yè)內主流的工具平臺和測試環(huán)境,能夠更好地利用客戶已有的投資,實現(xiàn)各種異構環(huán)境下的自動化測試;針對MATLAB/Simulink/Stateflow以及TargetLink,TPT專門設計了完美的接口構建功能模型,然后在TPT中創(chuàng)建測試用例模型,通過TPT的MATLAB接口保證測試的高效率執(zhí)行。提供了全方位的支持進行模型測試。同時,在TPT中可以滿足ISO26262基于功能設計測試用例的需求,包括分析建立場景、定義測試用例組件、確定場景組合、生成測試用例等。符合ISO26262標準的網(wǎng)絡測試和HIL測試不論是AUTOSAR還是OSEK,都把網(wǎng)絡作為整個軟件結構的基礎,因此對網(wǎng)絡的驗證放在功能驗證之前進行,ISO26262也在最低功能安全等級ASILA里面就提出了網(wǎng)絡環(huán)境測試的需求。

網(wǎng)絡測試是功能測試的基礎,在上面有應用層的時候,在做應用層驗證之前,先進行網(wǎng)絡驗證。

現(xiàn)在網(wǎng)絡已經(jīng)越來越復雜,CAN、LIN,一般都有三四十個節(jié)點,汽車里面有很多總線的環(huán)境,最底下是物理層〔CAN-驅動,在CAN的物理層之上有很多應用層的協(xié)議棧,利用Vector的HIL測試系統(tǒng)——VT,再基于Vector另一個工具CANoe的優(yōu)勢可以很好的進行協(xié)議棧的仿真,實現(xiàn)網(wǎng)絡測試的需求。

HIL測試一般可以分為兩種情況,一是基于真實負載的測試,另一種是在極端情況下或者說在自動化環(huán)境下更常用的是實用方針負載進行測試。不論是真實負載還是仿真負載,最重要的一點就是構建自動化的仿真環(huán)境出來,Vector的VT系統(tǒng)能夠提供模塊化的測試接口設備,為供電環(huán)境、總線接口、傳感器激勵和仿真負載等提供相應的模塊來搭建測試環(huán)境。CANoe基于它先天的網(wǎng)路仿真的測試功能,再加上VT系統(tǒng)可以幫助我們簡化測試平臺的搭建以及測試執(zhí)行的過程,并將測試能力擴展到HIL和功能測試。符合ISO26262標準的實車測試不論是代碼測試、模型測試還是網(wǎng)絡測試或者HIL測試,基本都是偏研發(fā)的測試,除此之外在研發(fā)后期還需要實車測試。傳統(tǒng)實車測試需要專門駕駛員和一些測試人員到現(xiàn)場進行測試并采集數(shù)據(jù),而現(xiàn)在比較流行的遠程測試則是通過在車上加裝一些遠程監(jiān)控設備,將測試系統(tǒng)在測試過程中產(chǎn)生的數(shù)據(jù)通過遠程傳輸?shù)姆绞桨l(fā)送到數(shù)據(jù)后臺,并且在測試過程中不僅可以記錄測試數(shù)據(jù),還能根據(jù)測試的要求遠程下載測試任務,例如更新需要采集的數(shù)據(jù)等,我們提供的德國CarMediaLab公司的產(chǎn)品Flea就可以實現(xiàn)這種功能。車輛實時采集的數(shù)據(jù)主要是總線信息,需要在分析過程中和工況結合起來,而在進行離線分析時還可以與TPT結合起來。北匯信息能夠提供的服務和技術支持上海北匯信息科技有限公司在汽車行業(yè)具有豐富的嵌入式軟件開發(fā)和測試的經(jīng)驗,對于ISO26262標準中過程控制和測試相關內容有深刻理解和實踐經(jīng)驗。北匯信息可以為客戶提供ISO26262標準的培訓,幫助客戶理解標準;并且與合作伙伴一起,提供ISO26262標準的實施咨詢服務,真正在客戶具體的項目中幫助客戶全流程滿足ISO26262標準;在軟件測試方面,提供了完整的軟件測試工具鏈,并提供相應的技術支持和服務。以滿足ISO26262軟件級測試需求為例,北匯信息可以根據(jù)客戶嵌入式軟件開發(fā)和測試的業(yè)務現(xiàn)狀以及客戶現(xiàn)有或者將要有的嵌入式軟件測試工具,針對汽車行業(yè)道路車輛功能安全標準ISO26262軟件級測試的要求構建嵌入式軟件測試解決方案。針對ISO26262的嵌入式軟件測試解決方案的本質是從嵌入式軟件功能安全的角度來支持公司嵌入式軟件開發(fā)項目的開展,不僅要分析ISO26262對于嵌入式軟件測試的需求,針對需求搭建相應的軟件測試工具鏈,實現(xiàn)對于測試需求的滿足和覆蓋,同時必須制定相關軟件測試的流程和測試模板,從而保證各階段測試的有序進行以及能夠產(chǎn)生相應的工作產(chǎn)品。

主要分為以下五部分的內容:

1、現(xiàn)狀/需求調研:通過前期現(xiàn)狀調研,了解客戶當前嵌入式軟件測試狀況和需求,對當前工程過程和ISO26262軟件級開發(fā)測試要求

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論