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

基于模型的測(cè)試(壹)

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

01概述

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

我們先來(lái)熟悉下以上幾個(gè)術(shù)語(yǔ)的定義:

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)行仿真,通過(guò)輸入一系列的測(cè)試用例,驗(yàn)證模型是否滿足了設(shè)計(jì)的功能需求。除此之外還需要做模型覆蓋率度量:

ConditionCoverage(條件覆蓋)

DecisionCoverage(判定覆蓋)

Switch-caseCoverage(分支覆蓋)

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

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

02MIL 測(cè)試過(guò)程

MIL測(cè)試除建立控制器模型外,還需建立被控對(duì)象模型,將控制器和被控對(duì)象連接起來(lái)進(jìn)行閉環(huán)測(cè)試。但是在不少子模塊中,例如輸出為開關(guān)量或者在輸入確定時(shí)輸出是固定值,無(wú)需和受控對(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ì)人員可以很方便的通過(guò)設(shè)定輸入并給出期望的輸出,測(cè)試時(shí)將模型輸入設(shè)定的輸入值,觀測(cè)模型的輸出值是否和期望值保持一致,判定模型是否有效。具體測(cè)試過(guò)程如下:設(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)為通過(guò),不滿足則未通過(guò)。根據(jù)測(cè)試結(jié)果,形成測(cè)試報(bào)告。輸入輸出保存保存MIL在測(cè)試過(guò)程中的輸入和輸出值,用于后續(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)為通過(guò),不滿足則未通過(guò)。根據(jù)測(cè)試結(jié)果,形成測(cè)試報(bào)告。

03總結(jié)

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

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

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

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

暫無(wú)評(píng)論

暫無(wú)評(píng)論

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

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