趁著還沒“發霉”,把以前的知識在總結總結。本篇是基于MBD測試系列文章的第一篇,也不知道能寫多少,且寫且看吧。
01概述
在基于模型(MBD)開發的軟件 中經常會涉及到MIL/SIL/PIL和HIL測試。
我們先來熟悉下以上幾個術語的定義:
MIL-Model In Loop:驗證控制算法模型是否滿足設計功能需求;
SIL- Software InLoop:在PC上驗證代碼行為是否與模型一致;
PIL- ProcessorIn Loop:在目標處理器上驗證代碼實現的行為是否與模型一致;
HIL- Hardware InLoop:在整車或系統模擬外設上驗證代碼與控制器是否滿足設計需求。
MIL就是對軟件模型在模型的開發環境下(如Simulink)進行仿真,通過輸入一系列的測試用例,驗證模型是否滿足了設計的功能需求。除此之外還需要做模型覆蓋率度量:
ConditionCoverage(條件覆蓋)
DecisionCoverage(判定覆蓋)
Switch-caseCoverage(分支覆蓋)
MIL測試結構圖如下圖所示:
1- 針對范圍: 單元測試與集成測試; 功能模塊和集成模塊; 2- 功能: 驗證算法模型是否滿足設計的功能需求。 02MIL 測試過程
MIL測試除建立控制器模型外,還需建立被控對象模型,將控制器和被控對象連接起來進行閉環測試。但是在不少子模塊中,例如輸出為開關量或者在輸入確定時輸出是固定值,無需和受控對象一起組成閉環系統進行測試,而集成的系統則需要受控對象。因此,將 MIL測試分成兩部分:帶受控對象的MIL測試和不帶受控對象的MIL測試。
1- 不帶受控對象的MIL測試:
不帶受控對象的MIL測試,設計人員可以很方便的通過設定輸入并給出期望的輸出,測試時將模型輸入設定的輸入值,觀測模型的輸出值是否和期望值保持一致,判定模型是否有效。具體測試過程如下:
設計測試用例
設計功能模型的測試用例。測試用例設計時應遵循以下原則:
1)- 確定輸入和輸出,并確定其取值范圍。
2)- 按照邊界值和其左右值,中間值的方式進行輸入值的確定,根據確定的輸入值,給出期望輸出。
3)- 包含測試環境描述和測試步驟。
4)- 包含執行結果。
5)- 包含判定指標和判定結果。
建立測試環境
將搭好的功能模塊模型建立輸入、輸出環境,設定模塊的參數值。
執行測試
將設定的輸入值輸入模型,記錄模型執行結果。
測試結果判定
結合判定標準,將執行結果和期望結果進行對比,滿足判定標準則認為通過,不滿足則未通過。根據測試結果,形成測試報告。
輸入輸出保存
保存MIL在測試過程中的輸入和輸出值,用于后續的SIL、PIL的測試驗證。
2- 不帶受控對象的MIL測試:
帶受控對象的MIL測試,一般為子功能模型集成后的模型,實現具體的需求功能。直接受控對象為電機模型,聯合仿真(如下圖所示),在給定輸入條件的情況下,監控輸出信號,判定輸出結果的正確性。
測試系統模型在整車環境下的輸出特性時,需要建立整車的模型,因整車模型的特殊性,一般從OEM或者整車模型軟件(CarSim,CarMaker等)中獲取。 帶受控對象的MIL測試流程和不帶受控對象的MIL測試流程基本保持一致。
設計測試用例
設計功能模型的測試用例。測試用例設計時應遵循以下原則:
1)確定輸入和運行時間參數,確定輸出范圍。
2)包含測試環境描述和測試步驟。
3)包含執行結果。
4)包含判定指標和判定結果。
建立測試環境
將搭好的功能模塊模型建立輸入、輸出環境,設定模塊的參數值。
執行測試
將設定的輸入值和時間輸入模型,記錄模型執行結果。
測試結果判定
結合判定標準,將執行結果和期望結果進行對比,滿足判定標準則認為通過,不滿足則未通過。根據測試結果,形成測試報告。
03總結
MIL測試主要是驗證模型功能的正確性,是否滿足設計的功能需求。只有保證了建模的正確性,才能保證在此基礎上生成的代碼的正確。通過MIL測試,指定輸入和期望結果,將仿真結果和期望結果進行比對,根據判定標準驗證模型是否正確。
原文標題:基于模型的測試(壹)
文章出處:【微信公眾號:汽車電子硬件設計】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
傳感器
+關注
關注
2552文章
51302瀏覽量
755221 -
控制器
+關注
關注
112文章
16418瀏覽量
178785 -
模型
+關注
關注
1文章
3279瀏覽量
48974
原文標題:基于模型的測試(壹)
文章出處:【微信號:QCDZYJ,微信公眾號:汽車電子工程知識體系】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論