侵權(quán)投訴
訂閱
糾錯(cuò)
加入自媒體

基于模型的測試(壹)

趁著還沒“發(fā)霉”,把以前的知識在總結(jié)總結(jié)。本篇是基于MBD測試系列文章的第一篇,也不知道能寫多少,且寫且看吧。

01概述

在基于模型(MBD)開發(fā)的軟件 中經(jīng)常會涉及到MIL/SIL/PIL和HIL測試。

我們先來熟悉下以上幾個(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就是對軟件模型在模型的開發(fā)環(huán)境下(如Simulink)進(jìn)行仿真,通過輸入一系列的測試用例,驗(yàn)證模型是否滿足了設(shè)計(jì)的功能需求。除此之外還需要做模型覆蓋率度量:

ConditionCoverage(條件覆蓋)

DecisionCoverage(判定覆蓋)

Switch-caseCoverage(分支覆蓋)

MIL測試結(jié)構(gòu)圖如下圖所示:

1- 針對范圍:單元測試與集成測試;功能模塊和集成模塊;2- 功能:驗(yàn)證算法模型是否滿足設(shè)計(jì)的功能需求。

02MIL 測試過程

MIL測試除建立控制器模型外,還需建立被控對象模型,將控制器和被控對象連接起來進(jìn)行閉環(huán)測試。但是在不少子模塊中,例如輸出為開關(guān)量或者在輸入確定時(shí)輸出是固定值,無需和受控對象一起組成閉環(huán)系統(tǒng)進(jìn)行測試,而集成的系統(tǒng)則需要受控對象。因此,將 MIL測試分成兩部分:帶受控對象的MIL測試和不帶受控對象的MIL測試。

1- 不帶受控對象的MIL測試:不帶受控對象的MIL測試,設(shè)計(jì)人員可以很方便的通過設(shè)定輸入并給出期望的輸出,測試時(shí)將模型輸入設(shè)定的輸入值,觀測模型的輸出值是否和期望值保持一致,判定模型是否有效。具體測試過程如下:設(shè)計(jì)測試用例設(shè)計(jì)功能模型的測試用例。測試用例設(shè)計(jì)時(shí)應(yīng)遵循以下原則:1)- 確定輸入和輸出,并確定其取值范圍。2)- 按照邊界值和其左右值,中間值的方式進(jìn)行輸入值的確定,根據(jù)確定的輸入值,給出期望輸出。3)- 包含測試環(huán)境描述和測試步驟。4)- 包含執(zhí)行結(jié)果。5)- 包含判定指標(biāo)和判定結(jié)果。建立測試環(huán)境將搭好的功能模塊模型建立輸入、輸出環(huán)境,設(shè)定模塊的參數(shù)值。執(zhí)行測試將設(shè)定的輸入值輸入模型,記錄模型執(zhí)行結(jié)果。測試結(jié)果判定結(jié)合判定標(biāo)準(zhǔn),將執(zhí)行結(jié)果和期望結(jié)果進(jìn)行對比,滿足判定標(biāo)準(zhǔn)則認(rèn)為通過,不滿足則未通過。根據(jù)測試結(jié)果,形成測試報(bào)告。輸入輸出保存保存MIL在測試過程中的輸入和輸出值,用于后續(xù)的SIL、PIL的測試驗(yàn)證。2- 不帶受控對象的MIL測試:帶受控對象的MIL測試,一般為子功能模型集成后的模型,實(shí)現(xiàn)具體的需求功能。直接受控對象為電機(jī)模型,聯(lián)合仿真(如下圖所示),在給定輸入條件的情況下,監(jiān)控輸出信號,判定輸出結(jié)果的正確性。

測試系統(tǒng)模型在整車環(huán)境下的輸出特性時(shí),需要建立整車的模型,因整車模型的特殊性,一般從OEM或者整車模型軟件(CarSim,CarMaker等)中獲取。

帶受控對象的MIL測試流程和不帶受控對象的MIL測試流程基本保持一致。設(shè)計(jì)測試用例設(shè)計(jì)功能模型的測試用例。測試用例設(shè)計(jì)時(shí)應(yīng)遵循以下原則:1)確定輸入和運(yùn)行時(shí)間參數(shù),確定輸出范圍。2)包含測試環(huán)境描述和測試步驟。3)包含執(zhí)行結(jié)果。4)包含判定指標(biāo)和判定結(jié)果。建立測試環(huán)境將搭好的功能模塊模型建立輸入、輸出環(huán)境,設(shè)定模塊的參數(shù)值。執(zhí)行測試將設(shè)定的輸入值和時(shí)間輸入模型,記錄模型執(zhí)行結(jié)果。測試結(jié)果判定結(jié)合判定標(biāo)準(zhǔn),將執(zhí)行結(jié)果和期望結(jié)果進(jìn)行對比,滿足判定標(biāo)準(zhǔn)則認(rèn)為通過,不滿足則未通過。根據(jù)測試結(jié)果,形成測試報(bào)告。

03總結(jié)

MIL測試主要是驗(yàn)證模型功能的正確性,是否滿足設(shè)計(jì)的功能需求。只有保證了建模的正確性,才能保證在此基礎(chǔ)上生成的代碼的正確。通過MIL測試,指定輸入和期望結(jié)果,將仿真結(jié)果和期望結(jié)果進(jìn)行比對,根據(jù)判定標(biāo)準(zhǔn)驗(yàn)證模型是否正確。

聲明: 本文由入駐維科號的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報(bào)。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個(gè)字

您提交的評論過于頻繁,請輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無評論

暫無評論

文章糾錯(cuò)
x
*文字標(biāo)題:
*糾錯(cuò)內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號