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