如何完成符合ISO 26262要求的基於模型設計(MBD)的測試
背景介紹
隨著汽車行業的迅速發展,汽車的複雜程度不斷增加,越來越多的汽車電子控制系統具有與安全相關的功能,因此對ECU的安全要求也越來越高。複雜的軟體功能,將會帶來大量的軟體風險問題,如何保證軟體的安全,保證軟體做正確的事情,已經成為汽車行業迫切需要解決的問題。
ISO 26262(道路車輛功能安全標準)是以IEC 61508(電氣/電子/可程式設計電子安全系統功能安全標準)為基礎,為滿足道路車輛上電子電氣系統的特定需求而編寫,釋出於2011年。ISO 26262能夠在管理、開發(軟、硬體)、生產、執行、服務、報廢等階段,保證整個生命週期內的安全性。與此同時,ISO 26262也在不斷地完善和發展。2018年12月,第二版的ISO 26262也已經對外發布,覆蓋範圍也已經從3.5噸以下的乘用車擴充套件到所有的車型,包括商用車和摩托車。
GB/T 34590(道路車輛功能安全國家標準)修改採用ISO 26262,適用於道路車輛上由電子、電氣和軟體元件組成的安全相關係統在安全生命週期內的所有活動,釋出於2017年。目前,功能安全在中國已經得到普遍認可,並逐步進入大規模使用階段。
本文旨在說明,如何使用TPT完成符合ISO 26262要求的基於模型設計(MBD,Model based Design)的測試。TPT可以支援主流的MBD開發工具Simulink、Targetlink、ASCET。
基於需求的測試
按照ISO 26262推薦的測試方法,基於需求的測試是ASIL-A到ASIL-D高度推薦的測試方法。並且在軟體測試階段,需要實現測試和需求的雙向追溯。
TPT-Requirement能夠通過簡單的操作完成需求、測試用例、測試評估之間的追溯,並能夠在報告中體現。
目前TPT-Requirement支援IBM DOORS、Polarion、EXCEL等需求工具。
圖1 需求-測試用例連結關係
MiL測試
針對ISO 26262和MBD開發的流程,首先需要完成模型測試。TPT-MATLAB Platform、TPT-ASCET Platform可以通過載入被測模型,自動讀取模型的介面和引數,自動生成模型測試環境。
測試用例生成
測試環境搭建完成之後,需要設計測試用例來對模型功能進行測試。ISO 26262推薦了下圖2所示的測試用例生成方法。使用者需要根據不同的ASIL等級,來明確需要採用的測試用例生成方法。
針對1b基於等價類測試用例生成和1c基於邊界值測試用例生成,TPT提供自動化工具箱,可以根據使用者設定,自動生成測試用例。
針對1d基於猜錯的測試用例,需要結合企業的測試積累和工程師的測試經驗,具體情況具體分析,編寫測試用例。
圖2 ISO26262測試用例生成方法
針對1a基於需求的測試用例生成方法是目前最常用也是最重要的測試用例生成方法。TPT提供了基於圖形化的測試用例搭建方法,用以幫助使用者實現複雜的測試場景,同時,也方便測試工程師之間互相評審測試用例。
圖3 圖形化測試用例
便捷的測試評估
在測試用例搭建完成之後,需要新增評估條件來對測試結果進行評估,TPT提供了GUI、python-script、m-script等手段來降低測試評估的難度,實現複雜測試要求下的評估,實現測試過程的自動化。
圖4 測試評估介面
可自定義測試報告
TPT生成的報告中,包括了整個測試過程的所有資訊,例如測試結果、覆蓋度報告、需求報告等。同時,TPT提供可自定義的測試報告,使用者可以將測試資料、圖片、測試用例說明、測試資料曲線顯示在測試報告之中,滿足專案的實際需求。
圖5 測試報告概覽
覆蓋度
需求覆蓋度
在功能測試中,往往需要根據功能需求來設計測試用例。TPT提供了Requirement Coverage Report,涵蓋需求的覆蓋情況以及每條需求的測試結果。在測試過程中,需要保證需求覆蓋度為100%。
圖6 測試需求報告
結構覆蓋度
在ISO 26262中,提到了結構覆蓋度的概念,並通過覆蓋度來評定測試完成度和未測試的功能。針對模型測試,在ISO 26262中列舉了如下三種結構覆蓋度標準,不同的ASIL等級對覆蓋度有不同的要求,ASIL-C、ASIL-D高度推薦MC/DC覆蓋度標準。
- Statement coverage
- Branch coverage
- MC/DC coverage
在TPT-MATLAB Platform可以統計測試用例所能達到的覆蓋度,藉助生成的報告,可以直觀地發現未覆蓋的路徑,從而可以補充測試用例,來提升覆蓋度指標。
針對模型的結構覆蓋度,TPT提供TASMO工具箱,能夠分析模型結構,自動生成結構化的測試用例,來測試模型是否存在不可達分支,幫助開發人員在早期發現問題。
Back-to-Back Testing
因為軟體在不同的執行環境當中,會存在因為執行環境或者資料型別定義而引起的軟體執行錯誤。因此,ISO 26262羅列了如下的幾種不同測試階段:
MiL ➔ SiL ➔ PiL ➔ HiL
ISO 26262高度推薦在ASIL-C、ASIL-D,採用Back-to-Back測試。
- 針對SiL測試,TPT可以呼叫Simulink來根據客戶配置生成程式碼,然後將其封裝成dll檔案,進行測試。執行時,首先執行MiL階段的測試用例,記錄測試結果,再執行SiL階段的測試用例,將SiL的執行結果與MiL階段進行對比。
圖7 背靠背測試評估對比
- 針對PiL測試,TPT目前支援Lauterbach和PLS UDE兩款偵錯程式,可以對軟體的執行時間和資源佔用情況進行測試。
- 針對HiL測試,TPT支援目前主流的HiL平臺,比如dSPACE、ETAS、Speedgoat、NI Veristand、Concurrent等平臺。
Tool Qualification
ISO 26262-8指定了支援過程的需求,包括配置管理、版本管理、報告等,TPT可以通過對於SVN的支援和自身的管理功能,來幫助實現如上要求。
這一部分也規定了需要對專案使用工具進行置信度等級評定。這裡需要強調的是,使用者需要結合自己的具體專案來對工具的置信度等級進行評定,而非軟體提供商。
TPT提供了Qualification Kit,裡面包括TPT典型使用,驗證方法,置信度等級的確認方法等。目前,TPT通過了TÜV 的認證,可以滿足ASIL A到ASIL-D等級對軟體的測試要求。
正如上文所述,TPT的使用者需要在具體的專案中來確定工具的置信度等級,鑑於TPT強大的功能,典型的使用方法僅僅是TPT部分功能。如果使用者的使用超出了常規使用,PikeTec也會提供額外的支援來幫助使用者確定實際專案的置信度等級,協助出具Qualification報告。
圖8 專案認證流程
目前,已經有全球領先的汽車整車廠和零部件供應商,利用TPT Qualification Kit完成了專案的ISO 26262認證工作。
圖9 TPT Qualification Kit客戶
關於PikeTec
PikeTec公司是全球知名的基於模型的嵌入式系統測試工具TPT的軟體供應商,總部位於德國柏林,其創始人均在戴姆勒公司擁有十多年的軟體測試經驗。TPT產品曾被評為2005年戴姆勒最佳創新軟體,並在戴姆勒、大眾、奧迪、保時捷、通用等汽車整車廠及多家零部件企業(博世、大陸、海拉等)中得到廣泛應用,如戴姆勒的多個車型的混合動力汽車的動力總成、電池管理控制器的測試,博世的汽油機和柴油機控制系統測試等。
北匯信息作為PikeTec的中國合作伙伴,將幫助中國客戶提升嵌入式控制系統的開發效率。
參考文獻
[1] [ISO 26262] ISO 26262:2011-11: Road vehicles - Functional safety. International Standard, Part 1-9, 15.11.2011
[2] [TPT Qualification] TPT - Qualification in accordance with ISO 26262, Analysis and Qualification measures. Version 1.6, PikeTec, March 2017
本文來自部落格園,作者:{北匯信息},轉載請註明原文連結:{https://www.cnblogs.com/polelink/}