天天看點

Simulink內建模型測試太慢怎麼辦?

Tips:

現階段模型開發大部分采用Simulink,為了驗證模型實作了相關功能,需要對模型進行測試。模型測試(MiL)有單元測試和內建測試之分。單元測試中模型複雜度低,信号參數數量少,測試用例數量少,用例時間短,通常為開環測試,測試用例運作總時長在可接受範圍内。但是內建測試不同,由于模型結構複雜,信号參數數量龐大,加之測試用例時間長,導緻需要處理大量信号資料(很多情況包含被控對象),測試運作總時間往往很長。

最近,有小夥伴向我們回報,內建測試由于模型複雜度高,測試用例多,導緻執行耗時非常長,TPT有沒有加速測試的方法。

當然有了,有需求就會有解決方案。接下來向大家介紹TPT中加速運作的方法。

TPT結合Simulink自帶的加速測試功能

1)TPT調用Simulink “Accelerator”或“Rapid Accelerator”模式

在TPT18中,可以指定Simulink的運作模式,分别為“Normal”、“Accelerator”和“Rapid Accelerator”,我們可以選擇“Accelerator”或“Rapid Accelerator”模式,加速運作。

使用Simulink自帶的demo內建模型進行示範,運作相同的用例,并統計不同模式的運作時間。

在TPT中選擇運作模式。

Simulink內模組化型測試太慢怎麼辦?

圖 1 在TPT中選擇運作模式

Simulink內模組化型測試太慢怎麼辦?

圖 2 不同模式運作總時長

以上結果可知,選擇“Accelerator”或“Rapid Accelerator”模式後,運作速度有一定程度的提升。

2)TPT調用Simulink “Fast Restart”

我們也可以勾選“Fast restart”來提高運作速度。需要注意的是,“Rapid accelerator”模式不支援“Fast restart”。

Simulink內模組化型測試太慢怎麼辦?

圖 3 Fast restart

Tips:

Fast restart:即快速重新開機,可避免再次編譯。當以疊代方式仿真模型時,開啟“Fast restart”後無需每次疊代時編譯模型,提高測試速度。

Rapid Accelerator:Rapid Accelerator模式會根據被測模型建立可執行檔案,使用external mode與Simulink進行通訊。

TPT多核運作模式

預設情況下,TPT運作時隻會選擇一個CPU核心進行測試。當測試用例較多時,可以選擇多核模式,開啟多個MATLAB運作測試。

在運作配置中點選“Use one core”。

Simulink內模組化型測試太慢怎麼辦?

圖 4 Use one core

填寫想要使用的數量,比如2核。

Simulink內模組化型測試太慢怎麼辦?

圖 5 填寫 “Cores”

我們可以看到,同時有2條測試用例在執行。

Simulink內模組化型測試太慢怎麼辦?

圖 6 多核運作

可用核數取決于電腦組態,可以在裝置管理器中的處理器檢視。

Simulink內模組化型測試太慢怎麼辦?

圖 7 電腦核數

合并報告

在內建測試時,測試用例執行總時間很長。當遇到某條測試用例出現問題時,為了擷取完整的測試報告,修改測試用例之後還需運作全部的測試用例。這樣做的時間成本很高,還有沒有其他的方式呢?答案是肯定的。

在TPT中,支援合并報告,如下進行說明。

首次運作工程後,存在未通過測試用例。

Simulink內模組化型測試太慢怎麼辦?

圖 8 首次運作結果

修改“Test_Case_002”測試用例,并運作。

Simulink內模組化型測試太慢怎麼辦?

圖 9 運作未通過測試用例

選擇所有測試用例,在“Run”處點選“Generate overview report”即可生成包含所有測試用例的報告。

Simulink內模組化型測試太慢怎麼辦?

圖 10 合并報告

最後,可以看到,測試報告包含全部測試用例。

Simulink內模組化型測試太慢怎麼辦?

圖 11 測試報告

通過以上方法,TPT能夠使得測試提速,減少時間成本。TPT提速測試并不局限于上述内容,如果着眼于整個測試過程,狀态機測試用例的可視化、功能需求與測試用例和評估的雙向追溯關系、适用于全局的評估等都能夠加速測試。此外,TPT能夠內建Jenkins部署CICT,實作自動化的測試流程。

繼續閱讀