基于模型的測試(壹)
趁著還沒“發霉”,把以前的知識在總結總結。本篇是基于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測試,指定輸入和期望結果,將仿真結果和期望結果進行比對,根據判定標準驗證模型是否正確。
請輸入評論內容...
請輸入評論/評論長度6~500個字
圖片新聞
最新活動更多
-
11月27日立即報名>> 【工程師系列】汽車電子技術在線大會
-
精彩回顧立即查看>> Works With 開發者大會深圳站
-
精彩回顧立即查看>> 【限時福利】TE 2025國際物聯網展·深圳站
-
精彩回顧立即查看>> 7月30日- 8月1日 2025全數會工業芯片與傳感儀表展
-
精彩回顧立即查看>> 【在線研討會】普源精電--激光原理應用與測試解決方案
-
精彩回顧立即查看>> 【工程師系列】汽車電子技術在線大會
推薦專題


分享










