作者:fox
小編:吃不飽
上次我們分享了單元測試用例的復(fù)用,單元測試的用例可以復(fù)用到集成測試,那單元測試的評估是否也可以復(fù)用到集成測試?答案是可以的。
TPT中提供了多種多樣的評估方式,其中的腳本評估使我們復(fù)用測試評估成為可能。腳本評估,使用的是基于Python的類Python語言,能夠?qū)崿F(xiàn)篩選評估區(qū)間,評估輸出,報告定制化等功能,是一種非常靈活,使用起來十分方便的評估方式。
通過腳本評估,在某些模型測試中,我們可以將單元測試的評估,也復(fù)用到集成測試中。
01
應(yīng)用場景一:單元測試的測試評估復(fù)用到集成測試
針對上次用例篇中的demo模型,我們可以在單元測試時就使用腳本評估來評估整個模型,這里以Cruise Control介紹使用腳本評估來評估計算模塊的方法。
一般情況下,對于計算模塊我們使用定值來測試評估,為了保證測試的充分性,需要若干組數(shù)據(jù),這會導(dǎo)致我們需要多次重復(fù)計算過程來得到預(yù)期的輸出,以完成評估。這是我們在測試計算模塊時的痛點,有沒有可能通過一些方法來自動化這部分重復(fù)的過程?答案是有的!通過腳本評估,我們可以將需求中的計算邏輯復(fù)現(xiàn),以此來實現(xiàn)計算模塊的自動化評估。



圖1 集成級模型
1.聲明評估變量
在腳本評估中聲明需要的評估變量,將部分中間計算量賦值給這些評估變量,以方便在后續(xù)計算中使用。



圖2 在腳本評估中聲明評估變量
2.復(fù)現(xiàn)計算邏輯
TPT的腳本評估中內(nèi)置了很多計算函數(shù),也支持Python基本庫中的數(shù)學(xué)函數(shù),方便我們?nèi)?fù)現(xiàn)整個計算邏輯。通過模型中的計算邏輯,使用腳本復(fù)現(xiàn)其計算過程。這里以其中一部分邏輯舉例介紹,



圖3 模型計算邏輯及TPT中復(fù)現(xiàn)的邏輯
3.評估
使用一個CruiseControl_output的評估變量,將TPT計算出的Cruise Control單元的理論輸出值賦值給CruiseControl_output。



圖4 模型理論輸出值賦值給CruiseControl_output
4.對輸出進行驗證
在最后使用TPT.assertAlways和TPT.hose兩個函數(shù)的組合來實現(xiàn)驗證模型實際輸出是否和理論輸出值相等,這樣就能檢查模型實際輸出和需求是否一致,并且能夠評估輸入的所有組合。兩個函數(shù)中前者檢查表達式的返回值是否為真,后者檢查目標(biāo)信號和參考信號的值是否一致,若一致則返回值為0。所以使用TPT.assertAlways檢查TPT.hose的返回值等于0,即可證明模型輸出值和理論輸出值相等。



圖5評估輸出
5.將單元測試的評估復(fù)用到集成測試
應(yīng)用上面的方法,將Vehicle這個單元也使用腳本進行評估。這樣在進行集成測試時,單元測試階段的eng_torque將變成Local量。可以將CruiseControl的腳本評估和Vehicle的腳本評估使用這樣的語句進行拼接,即可將單元測試的測試評估,復(fù)用集成測試。
1)將兩個單元的腳本評估復(fù)制到集成測試的工程中。



圖6 將單元測試的腳本評估賦值到集成測試的工程
2)將CruiseControl腳本中的評估輸出eng_torque的語句注釋掉,因為此時該信號變成了Local。



圖7 注釋CruiseControl中的相關(guān)語句
3)對于Vehicle單元,輸入信號eng_trq變成Local量,是由Cruise Control單元計算得到的。所以在Vehicle的腳本中,將CruiseControl腳本中計算出的eng_torque的值賦值給eng_trq,即可將兩部分腳本評估拼接,完成評估的復(fù)用。



圖8傳遞參數(shù)
4)運行測試用例得到測試結(jié)果。從下圖中可以看到用例時間為10s,評估區(qū)間也是10s且測試通過。



圖9 集成測試用例的測試結(jié)果
02
應(yīng)用場景二 自定義腳本庫
TPT的腳本評估不僅提供了非常多方便我們評估的內(nèi)置函數(shù),還支持自定義函數(shù)庫,方便我們自已定義一些個性化的評估函數(shù)。這里以飽和模塊為例,簡述TPT是如何自定義函數(shù)庫的。
1.編寫自定義函數(shù)
首先在一個新建的腳本評估中編寫我們要定義的函數(shù)(主要是方便控制縮進),TPT腳本評估的語法和Python大體類似。



圖10 編寫好自定義函數(shù)
2.保存文件并修改文件格式
新建txt文本,將編寫好的自定義函數(shù)復(fù)制到該文件中保存,將文件后綴名修改為.tptpy。



圖11 保存自定義函數(shù)文件
3.在TPT中加載函數(shù)庫
1)在Preference/General/Assessment Library中添加自定義函數(shù)文件的路徑。



圖12在Preference/General/Assessment Library添加自定義函數(shù)路徑
2)在工程的Assessment Library中激活函數(shù)庫。這樣就可以在工程中使用我們剛剛編輯好的函數(shù)庫中的函數(shù)了。



圖13 在工程Assessment Library中激活函數(shù)庫
3)在腳本評估中使用“自定義函數(shù)的文件名+.+函數(shù)名稱”的語法即可調(diào)用剛剛自定義好的函數(shù)。



圖14 在腳本評估中是自定義函數(shù)
4)使用示例。



圖15 使用示例及結(jié)果
03
總結(jié)
本文主要介紹了測試評估從單元測試復(fù)用到集成測試和自定義腳本庫,這兩者同樣能幫助我們提升測試時的效率。通過用例復(fù)用和評估復(fù)用不難發(fā)現(xiàn),TPT在做模型測試時具備巨大的優(yōu)勢,可以通過多種方式提高測試的速度和效率,減少重復(fù)的工作。并且TPT支持測試的多個階段——MiL,SiL,PiL等,能夠?qū)⑼还こ虖?fù)用到不同的測試階段,這同樣也能提高我們測試的效率!感興趣的小伙伴快動起來吧!
-
集成測試
+關(guān)注
關(guān)注
0文章
27瀏覽量
8539
發(fā)布評論請先 登錄
半導(dǎo)體嵌入式單元測試的核心技術(shù)、工具選型與落地全流程
如何評估SDRAM的有效帶寬
TLE4973評估板:汽車應(yīng)用電流傳感器的測試利器
C語言單元測試在嵌入式軟件開發(fā)中的作用及專業(yè)工具的應(yīng)用
嵌入軟件單元測試的全面研究與實踐
【道生物聯(lián)TKB-623評估板試用】功能綜合測試
【道生物聯(lián)TKB-623評估板試用】+ 初步認(rèn)識道生物聯(lián)TKB-623評估板
【道生物聯(lián)TKB-623評估板試用】TKB-623評估板雙機通訊測試_程序開發(fā)
邊聊安全 | 軟件單元測試的設(shè)計方法
HarmonyOSAI編程單元測試用例
TMUX4827YBHEVM評估模塊深度解析與應(yīng)用指南
電解電容的壽命如何評估?加速老化測試方法
新能源車軟件單元測試深度解析:自動駕駛系統(tǒng)視角
LM-80測試:評估LED燈具的壽命與性能
評估篇 | 單元測試評估也能復(fù)用到集成測試?腳本幫你高效評估!
評論