作者:fox
小編:吃不飽
上次我們分享了單元測(cè)試用例的復(fù)用,單元測(cè)試的用例可以復(fù)用到集成測(cè)試,那單元測(cè)試的評(píng)估是否也可以復(fù)用到集成測(cè)試?答案是可以的。
TPT中提供了多種多樣的評(píng)估方式,其中的腳本評(píng)估使我們復(fù)用測(cè)試評(píng)估成為可能。腳本評(píng)估,使用的是基于Python的類Python語言,能夠?qū)崿F(xiàn)篩選評(píng)估區(qū)間,評(píng)估輸出,報(bào)告定制化等功能,是一種非常靈活,使用起來十分方便的評(píng)估方式。
通過腳本評(píng)估,在某些模型測(cè)試中,我們可以將單元測(cè)試的評(píng)估,也復(fù)用到集成測(cè)試中。
01
應(yīng)用場(chǎng)景一:?jiǎn)卧獪y(cè)試的測(cè)試評(píng)估復(fù)用到集成測(cè)試
針對(duì)上次用例篇中的demo模型,我們可以在單元測(cè)試時(shí)就使用腳本評(píng)估來評(píng)估整個(gè)模型,這里以Cruise Control介紹使用腳本評(píng)估來評(píng)估計(jì)算模塊的方法。
一般情況下,對(duì)于計(jì)算模塊我們使用定值來測(cè)試評(píng)估,為了保證測(cè)試的充分性,需要若干組數(shù)據(jù),這會(huì)導(dǎo)致我們需要多次重復(fù)計(jì)算過程來得到預(yù)期的輸出,以完成評(píng)估。這是我們?cè)跍y(cè)試計(jì)算模塊時(shí)的痛點(diǎn),有沒有可能通過一些方法來自動(dòng)化這部分重復(fù)的過程?答案是有的!通過腳本評(píng)估,我們可以將需求中的計(jì)算邏輯復(fù)現(xiàn),以此來實(shí)現(xiàn)計(jì)算模塊的自動(dòng)化評(píng)估。
圖1 集成級(jí)模型
1.聲明評(píng)估變量
在腳本評(píng)估中聲明需要的評(píng)估變量,將部分中間計(jì)算量賦值給這些評(píng)估變量,以方便在后續(xù)計(jì)算中使用。
圖2 在腳本評(píng)估中聲明評(píng)估變量
2.復(fù)現(xiàn)計(jì)算邏輯
TPT的腳本評(píng)估中內(nèi)置了很多計(jì)算函數(shù),也支持Python基本庫(kù)中的數(shù)學(xué)函數(shù),方便我們?nèi)?fù)現(xiàn)整個(gè)計(jì)算邏輯。通過模型中的計(jì)算邏輯,使用腳本復(fù)現(xiàn)其計(jì)算過程。這里以其中一部分邏輯舉例介紹,
圖3 模型計(jì)算邏輯及TPT中復(fù)現(xiàn)的邏輯
3.評(píng)估
使用一個(gè)CruiseControl_output的評(píng)估變量,將TPT計(jì)算出的Cruise Control單元的理論輸出值賦值給CruiseControl_output。
圖4 模型理論輸出值賦值給CruiseControl_output
4.對(duì)輸出進(jìn)行驗(yàn)證
在最后使用TPT.assertAlways和TPT.hose兩個(gè)函數(shù)的組合來實(shí)現(xiàn)驗(yàn)證模型實(shí)際輸出是否和理論輸出值相等,這樣就能檢查模型實(shí)際輸出和需求是否一致,并且能夠評(píng)估輸入的所有組合。兩個(gè)函數(shù)中前者檢查表達(dá)式的返回值是否為真,后者檢查目標(biāo)信號(hào)和參考信號(hào)的值是否一致,若一致則返回值為0。所以使用TPT.assertAlways檢查TPT.hose的返回值等于0,即可證明模型輸出值和理論輸出值相等。
圖5評(píng)估輸出
5.將單元測(cè)試的評(píng)估復(fù)用到集成測(cè)試
應(yīng)用上面的方法,將Vehicle這個(gè)單元也使用腳本進(jìn)行評(píng)估。這樣在進(jìn)行集成測(cè)試時(shí),單元測(cè)試階段的eng_torque將變成Local量。可以將CruiseControl的腳本評(píng)估和Vehicle的腳本評(píng)估使用這樣的語句進(jìn)行拼接,即可將單元測(cè)試的測(cè)試評(píng)估,復(fù)用集成測(cè)試。
1)將兩個(gè)單元的腳本評(píng)估復(fù)制到集成測(cè)試的工程中。
圖6 將單元測(cè)試的腳本評(píng)估賦值到集成測(cè)試的工程
2)將CruiseControl腳本中的評(píng)估輸出eng_torque的語句注釋掉,因?yàn)榇藭r(shí)該信號(hào)變成了Local。
圖7 注釋CruiseControl中的相關(guān)語句
3)對(duì)于Vehicle單元,輸入信號(hào)eng_trq變成Local量,是由Cruise Control單元計(jì)算得到的。所以在Vehicle的腳本中,將CruiseControl腳本中計(jì)算出的eng_torque的值賦值給eng_trq,即可將兩部分腳本評(píng)估拼接,完成評(píng)估的復(fù)用。
圖8傳遞參數(shù)
4)運(yùn)行測(cè)試用例得到測(cè)試結(jié)果。從下圖中可以看到用例時(shí)間為10s,評(píng)估區(qū)間也是10s且測(cè)試通過。
圖9 集成測(cè)試用例的測(cè)試結(jié)果
02
應(yīng)用場(chǎng)景二 自定義腳本庫(kù)
TPT的腳本評(píng)估不僅提供了非常多方便我們?cè)u(píng)估的內(nèi)置函數(shù),還支持自定義函數(shù)庫(kù),方便我們自已定義一些個(gè)性化的評(píng)估函數(shù)。這里以飽和模塊為例,簡(jiǎn)述TPT是如何自定義函數(shù)庫(kù)的。
1.編寫自定義函數(shù)
首先在一個(gè)新建的腳本評(píng)估中編寫我們要定義的函數(shù)(主要是方便控制縮進(jìn)),TPT腳本評(píng)估的語法和Python大體類似。
圖10 編寫好自定義函數(shù)
2.保存文件并修改文件格式
新建txt文本,將編寫好的自定義函數(shù)復(fù)制到該文件中保存,將文件后綴名修改為.tptpy。
圖11 保存自定義函數(shù)文件
3.在TPT中加載函數(shù)庫(kù)
1)在Preference/General/Assessment Library中添加自定義函數(shù)文件的路徑。
圖12在Preference/General/Assessment Library添加自定義函數(shù)路徑
2)在工程的Assessment Library中激活函數(shù)庫(kù)。這樣就可以在工程中使用我們剛剛編輯好的函數(shù)庫(kù)中的函數(shù)了。
圖13 在工程Assessment Library中激活函數(shù)庫(kù)
3)在腳本評(píng)估中使用“自定義函數(shù)的文件名+.+函數(shù)名稱”的語法即可調(diào)用剛剛自定義好的函數(shù)。
圖14 在腳本評(píng)估中是自定義函數(shù)
4)使用示例。
圖15 使用示例及結(jié)果
03
總結(jié)
本文主要介紹了測(cè)試評(píng)估從單元測(cè)試復(fù)用到集成測(cè)試和自定義腳本庫(kù),這兩者同樣能幫助我們提升測(cè)試時(shí)的效率。通過用例復(fù)用和評(píng)估復(fù)用不難發(fā)現(xiàn),TPT在做模型測(cè)試時(shí)具備巨大的優(yōu)勢(shì),可以通過多種方式提高測(cè)試的速度和效率,減少重復(fù)的工作。并且TPT支持測(cè)試的多個(gè)階段——MiL,SiL,PiL等,能夠?qū)⑼还こ虖?fù)用到不同的測(cè)試階段,這同樣也能提高我們測(cè)試的效率!感興趣的小伙伴快動(dòng)起來吧!
-
集成測(cè)試
+關(guān)注
關(guān)注
0文章
26瀏覽量
8393
發(fā)布評(píng)論請(qǐng)先 登錄
電解電容的壽命如何評(píng)估?加速老化測(cè)試方法
新能源車軟件單元測(cè)試深度解析:自動(dòng)駕駛系統(tǒng)視角
LM-80測(cè)試:評(píng)估LED燈具的壽命與性能

嵌入式軟件單元測(cè)試的必要性、核心方法及工具深度解析
應(yīng)對(duì)海量數(shù)據(jù)挑戰(zhàn),如何基于Euro NCAP標(biāo)準(zhǔn)開展高效智駕測(cè)試與評(píng)估?

MPU的性能評(píng)估方法
光伏逆變器負(fù)載何進(jìn)行負(fù)載測(cè)試和性能評(píng)估?
ADS54j54評(píng)估板測(cè)試時(shí),會(huì)報(bào)錯(cuò)writer register operation failed的原因?
嚴(yán)格的單元測(cè)試造就完美的軟件
多通道負(fù)載測(cè)試和性能評(píng)估?
如何評(píng)估智能系統(tǒng)的性能
如何評(píng)估AI大模型的效果
3568F-評(píng)估板測(cè)試手冊(cè)(ARM端)
3562-評(píng)估板測(cè)試手冊(cè)
單元測(cè)試、集成測(cè)試自動(dòng)化工具

評(píng)論