符合ISO26262標(biāo)準(zhǔn)的軟件測試解決方案_第1頁
符合ISO26262標(biāo)準(zhǔn)的軟件測試解決方案_第2頁
符合ISO26262標(biāo)準(zhǔn)的軟件測試解決方案_第3頁
符合ISO26262標(biāo)準(zhǔn)的軟件測試解決方案_第4頁
符合ISO26262標(biāo)準(zhǔn)的軟件測試解決方案_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

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

2、布第一版本,該標(biāo)準(zhǔn)是當(dāng)前汽車業(yè)中最流行、最復(fù)雜、也是最重要的一份標(biāo)準(zhǔn)。ISO 26262的目標(biāo)是通過避免汽車E/E 系統(tǒng)故障行為可能導(dǎo)致的危害來提高E/E系統(tǒng)的功能安全。ISO 26262采用車輛安全完整性等級(ASIL)來判斷系統(tǒng)的功能安全程度,ASIL由ASIL A(最低)、ASIL B、ASIL C及ASIL D(最高)四個等級組成,ASIL等級越高表示系統(tǒng)的功能安全評估越嚴(yán)格,相應(yīng)的表示系統(tǒng)正確執(zhí)行安全功能,或者說的避免該功能出錯的概率越高,即系統(tǒng)的安全可靠性越高。ISO 26262標(biāo)準(zhǔn)的組成架構(gòu)由十個規(guī)范和信息指導(dǎo)文件組成,其中ISO 262624/5/6闡述的是系統(tǒng)級/硬件級/軟件

3、級的產(chǎn)品開發(fā),使用嵌套的V模型定義了每個開發(fā)階段的過程以及相應(yīng)的工作產(chǎn)品。本解決方案主要闡明了在軟件級產(chǎn)品開發(fā)階段如何去理解ISO 26262的要求,并且指出了在實際的軟件開發(fā)過程中如何結(jié)合ISO 26262的軟件測試生命周期,通過包括軟件測試工作的執(zhí)行以及過程控制等方面來確保ECU軟件質(zhì)量滿足ISO 26262軟件級功能安全相應(yīng)等級的要求?;赩模式的ISO26262軟件測試生命周期如圖所示,基于V模式的ISO 26262-6軟件測試生命周期可以劃分為五個階段:1.靜態(tài)分析需求和功能需求:在軟件級產(chǎn)品開發(fā)初始化階段和軟件安全需求規(guī)范制定階段確定了一些基本的嵌入式軟件靜態(tài)分析需求和功能需求,這

4、部分內(nèi)容是以后設(shè)計和測試的基礎(chǔ);2.架構(gòu)驗證:在軟件架構(gòu)設(shè)計階段,我們可以使用人工分析的方式來驗證和測試軟件架構(gòu)層的內(nèi)容,但是有條件的話最好使用合適的架構(gòu)設(shè)計工具,在設(shè)計的過程中同時進(jìn)行架構(gòu)驗證;3.靜態(tài)測試:在軟件單元設(shè)計和實現(xiàn)階段同時進(jìn)行靜態(tài)測試,可以使用開發(fā)輔助工具來進(jìn)行靜態(tài)測試,這樣不必因為靜態(tài)測試的活動而改變開發(fā)流程。4.動態(tài)測試:在軟件單元測試階段以及軟件集成和測試階段,使用合適的動態(tài)測試工具進(jìn)行動態(tài)單元和集成測試,5.功能驗證:在軟件安全需求驗證階段,要根據(jù)ISO 26262-6的要求進(jìn)行功能驗證,包括進(jìn)行ECU網(wǎng)絡(luò)環(huán)境測試和實車測試,必要的時候進(jìn)行HIL測試。因為在靜態(tài)分析需求

5、中所需要滿足的方法基本上都是屬于靜態(tài)測試的范疇的,因此我們以ASIL A為例,將軟件測試內(nèi)容分為靜態(tài)測試、動態(tài)測試和功能驗證三部分(注:架構(gòu)驗證暫時未包含在內(nèi)),見下表。表中所列舉的靜態(tài)測試內(nèi)容里面要求采取多種的測試方法,例如低復(fù)雜度的強制要求一般需要通過滿足一定的度量指標(biāo)來實現(xiàn),度量指標(biāo)包括圈復(fù)雜度、嵌套深度等等,而使用語言的子集在汽車行業(yè)一般選擇MISRA-C,通過強制使用編碼規(guī)范來排除未定義行為或者實現(xiàn)定義行為等危險用法,除此之外靜態(tài)測試還要求一些其他的測試方法,例如如果要滿足更高的安全完整性等級的話,靜態(tài)測試內(nèi)容還需要包括運行時錯誤檢測等,一般需要使用可靠性測試性的測試。ASIL A所

6、要求的動態(tài)測試要求能夠基于需求分析和設(shè)計測試用例,因此需要在開發(fā)過程中提供對需求管理的支持,同時要求能夠針對函數(shù)或模塊提供覆蓋度分析等。如果是更高等級的ASIL的話可能還需要進(jìn)行不同環(huán)境的測試,例如模型在環(huán)測試(MIL)和軟件在環(huán)測試(SIL),并在必要的情況下進(jìn)行MIL和SIL的對比測試。軟件安全需求的測試環(huán)境需要根據(jù)ASIL等級來進(jìn)行選取,并且至少要在一個以上不同環(huán)境內(nèi)執(zhí)行測試。ASIL A所要求的ECU網(wǎng)絡(luò)測試包括了網(wǎng)絡(luò)中各ECU之間的相互作用,目的是確保ECU之間沒有引起功能故障的相互干擾,而實車測試則是在真正的ECU軟件運行環(huán)境中進(jìn)行測試的方式,根據(jù)功能安全需求規(guī)范來進(jìn)行,可以最直觀

7、地反映出ECU軟件是否能夠滿足定義的功能安全需求。當(dāng)然在必要的時候還需要進(jìn)行硬件在環(huán)測試(HIL),通過仿真控制系統(tǒng)中傳感器和執(zhí)行器的硬件(Hardware)電氣特性,為嵌入式控制器構(gòu)建起一個控制回路 (Loop),從而可以方便的在其中模擬被控對象的工作環(huán)境,對ECU的算法進(jìn)行功能驗證和測試。針對前面劃分的ISO 26262所關(guān)注的靜態(tài)測試、動態(tài)測試和功能驗證的要求,下面我們就來看一下解決方案中如何來滿足這些需求。符合ISO26262標(biāo)準(zhǔn)的靜態(tài)測試在靜態(tài)測試中,靜態(tài)分析主要包括規(guī)則檢測和質(zhì)量度量;可靠性測試主要進(jìn)行運行時錯誤的檢測。上面提到ASIL A中針對編碼準(zhǔn)則的需求以及其他ASIL等級所

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

9、還有一類錯誤我們稱之為運行時錯誤,例如數(shù)組越界、標(biāo)量溢出等。運行時錯誤顧名思義是程序運行的時候才會出現(xiàn)的錯誤,針對這樣的錯誤,使用傳統(tǒng)的測試方式只有在動態(tài)地運行測試用例的時候才有可能發(fā)現(xiàn),但是現(xiàn)在的測試工具可以使用先進(jìn)的代碼分析技術(shù),不需要真正去執(zhí)行源代碼,而是使用數(shù)學(xué)方法分析源代碼,發(fā)現(xiàn)代碼中在運行的時候可能會出現(xiàn)錯誤的地方,從而實現(xiàn)通過靜態(tài)測試的方式來達(dá)到一定的動態(tài)測試的效果。因為運行時錯誤會直接影響的程序執(zhí)行的可靠性,所以針對這類錯誤的測試我們也可以稱之為可靠性測試。針對可靠性測試的需求,我們提供澳大利亞的一個運行時錯誤監(jiān)測工具Goanna。其模型檢測技術(shù)可以對所有函數(shù)提供高效的路徑覆蓋

10、,檢查超過90種運行時錯誤,包括空指針引用、危險的指針運算、未初始化/未使用變量、冗余/不需要的代碼、除零、內(nèi)存泄露、緩沖區(qū)溢出、釋放后使用、不一致的釋放、濫用的虛擬成員調(diào)用、算術(shù)錯誤、32/64位兼容性等。符合ISO26262標(biāo)準(zhǔn)的軟件代碼SIL測試在準(zhǔn)備和設(shè)計階段,大部分都是屬于靜態(tài)測試的工作,它在確認(rèn)設(shè)計或?qū)崿F(xiàn)的不足時非常高效,但它不能證明功能正確。而依ISO 26262-6標(biāo)準(zhǔn)開發(fā)的軟件根據(jù)需達(dá)到的車輛安全完整性等級(ASIL)不同,還需要經(jīng)過各種動態(tài)測試,動態(tài)測試可以驗證軟件功能,因此是對靜態(tài)測試的有效補充。以前的動態(tài)測試大部分是通過人工的方式實現(xiàn),但是由于動態(tài)測試巨大的工作量,以及

11、測試用例難以重用,測試覆蓋率無法計算的困難,因此在測試解決方案中還是需要選擇合適的動態(tài)測試工具來執(zhí)行軟件單元測試。又因為ISO 26262對需求和測試有可追溯性的要求,所以最好測試工具可以和相關(guān)需求管理工具集成,例如能夠從需求管理工具中將需求導(dǎo)入,再將測試用例和需求鏈接起來,并且實現(xiàn)數(shù)據(jù)的雙向同步。針對軟件代碼SIL測試,我們提供德國的代碼級動態(tài)測試工具Tessy。它的基本功能包括:全自動地測試執(zhí)行和評估;多種方式確定測試用例;基于需求的測試跟蹤;不需要用戶介入的回歸測試;代碼覆蓋率;自動生成測試報告等。在Tessy中,測試用例的設(shè)計不僅可以基于需求覆蓋來進(jìn)行,包括進(jìn)行需求管理、需求跟蹤、需求

12、覆蓋度統(tǒng)計等,也可以基于代碼覆蓋進(jìn)行測試用例設(shè)計,并且非常方便地達(dá)到MC/DC覆蓋的等級。符合ISO26262標(biāo)準(zhǔn)的MIL測試在汽車領(lǐng)域的嵌入式控制系統(tǒng)開發(fā)中,基于模型的開發(fā)(Model-Based Development)的設(shè)計方法以其直觀、快速、高效等優(yōu)勢已經(jīng)得到廣泛的應(yīng)用。但是由于系統(tǒng)的復(fù)雜性,建立起來的仿真模型也越來越復(fù)雜,根據(jù)自動生成代碼的測試結(jié)果再來改進(jìn)模型的測試方式也變得越來越困難,并且根據(jù)ISO 26262標(biāo)準(zhǔn)ASIL C和D的要求,必須對模型和對應(yīng)的代碼分別進(jìn)行單元測試并且比較結(jié)果,因此,如果是使用模型自動生成代碼的設(shè)計方式的話,我們需要在建立了仿真模型之后就對模型進(jìn)行測試,

13、在確保模型功能正確的基礎(chǔ)之上來自動生成代碼再進(jìn)行代碼測試。針對MIL測試,我們提供德國的分時段測試工具TPT,實現(xiàn)對控制系統(tǒng)以及閉環(huán)控制系統(tǒng)模型的MIL測試。TPT軟件由于首創(chuàng)地使用分時段測試(Time Partition Testing),使得控制系統(tǒng)的軟件測試技術(shù)得以極大提升;同時由于TPT軟件支持眾多業(yè)內(nèi)主流的工具平臺和測試環(huán)境,能夠更好地利用客戶已有的投資,實現(xiàn)各種異構(gòu)環(huán)境下的自動化測試;針對MATLAB/Simulink/Stateflow以及TargetLink,TPT專門設(shè)計了完美的接口構(gòu)建功能模型,然后在TPT中創(chuàng)建測試用例模型,通過TPT的MATLAB接口保證測試的高效率執(zhí)行

14、。提供了全方位的支持進(jìn)行模型測試。同時,在TPT中可以滿足ISO 26262基于功能設(shè)計測試用例的需求,包括分析建立場景、定義測試用例組件、確定場景組合、生成測試用例等。符合ISO26262標(biāo)準(zhǔn)的網(wǎng)絡(luò)測試和HIL測試不論是AUTOSAR還是OSEK,都把網(wǎng)絡(luò)作為整個軟件結(jié)構(gòu)的基礎(chǔ),因此對網(wǎng)絡(luò)的驗證放在功能驗證之前進(jìn)行,ISO 26262也在最低功能安全等級ASIL A里面就提出了網(wǎng)絡(luò)環(huán)境測試的需求。網(wǎng)絡(luò)測試是功能測試的基礎(chǔ),在上面有應(yīng)用層的時候,在做應(yīng)用層驗證之前,先進(jìn)行網(wǎng)絡(luò)驗證。現(xiàn)在網(wǎng)絡(luò)已經(jīng)越來越復(fù)雜,CAN、LIN,一般都有三四十個節(jié)點,汽車?yán)锩嬗泻芏嗫偩€的環(huán)境,最底下是物理層(CAN-驅(qū)

15、動),在CAN的物理層之上有很多應(yīng)用層的協(xié)議棧,利用Vector的HIL測試系統(tǒng)VT,再基于Vector另一個工具CANoe的優(yōu)勢可以很好的進(jìn)行協(xié)議棧的仿真,實現(xiàn)網(wǎng)絡(luò)測試的需求。HIL測試一般可以分為兩種情況,一是基于真實負(fù)載的測試,另一種是在極端情況下或者說在自動化環(huán)境下更常用的是實用方針負(fù)載進(jìn)行測試。不論是真實負(fù)載還是仿真負(fù)載,最重要的一點就是構(gòu)建自動化的仿真環(huán)境出來,Vector的VT系統(tǒng)能夠提供模塊化的測試接口設(shè)備,為供電環(huán)境、總線接口、傳感器激勵和仿真負(fù)載等提供相應(yīng)的模塊來搭建測試環(huán)境。CANoe基于它先天的網(wǎng)路仿真的測試功能,再加上VT系統(tǒng)可以幫助我們簡化測試平臺的搭建以及測試執(zhí)行的過程,并將測試能力擴展到HIL和功能測試。符合ISO26262標(biāo)準(zhǔn)的實車測試不論是代碼測試、模型測試還是網(wǎng)絡(luò)測試或者HIL測試,基本都是偏研發(fā)的測試,除此之外在研發(fā)后期還需要實

溫馨提示

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

最新文檔

評論

0/150

提交評論