一個參數很少單獨出現。
我們的許多客戶已經在他們的應用程序中實現了成百上千個參數,以便在車輛中參數化(即應用)軟件。這不僅體現在動力系統和發動機的開發上,還體現在汽車開發的所有領域,如駕駛輔助、車身和舒適性以及能源管理。
軟件的應用通常是在軟件用于多個型號和迭代的車輛時完成的。參數為開發提供了必要的靈活性,通過巧妙地調整軟件來補償系統變量,從而使軟件可重用。
因此,參數支持面向產品線的軟件開發。
運用到軟件中的每個參數都伴隨著軟件開發過程中日益增長的復雜性。因此,測試帶參數的軟件更加需要注意。
什么是參數?
參數是在運行時具有常量值的變量。
它在軟件程序開發過程中使用,以便能夠調整目標系統中程序的反應。因此,開發團隊可以為不同的應用場景高度靈活地集成軟件程序,而不必更改代碼基礎。
在程序執行前,由開發人員對參數進行調整和測試。如果檢測到不利的行為,則應用其他參數值對并再次測試。重復該過程,直到軟件適合所選的部署場景。
它們在代碼中取代魔數,主要用于建模限制(閾值),作為調優參數和激活功能行為。
參數與信號(如溫度、速度等)和常數有什么不同?
信號隨著時間的推移不斷變化,并反映周圍的系統。常量(或定義)是在構建軟件時定義的,然后只能通過重新構建軟件來更改。從技術上講,參數正好介于兩者之間。在軟件運行期間,參數的值通常不會改變——它就像一個常數。
參數可以在技術上進行更改,例如,在車間中、在測試驅動期間或在軟件更新期間,甚至在運行時,因此在開發和操作期間提供了高度的靈活性。
汽車參數化的典型例子:
- 閉環控制器
PID控制器常用于汽車系統中。比例分量的增益K_p是參數調優的一個典型例子。
- 限制值或開關閾值
在許多應用中,物理值必須計算和建模。作為標量的參數用于描述閾值。當超過閾值時,軟件的行為會發生變化。
在我們的燈光控制器示例中,使用了幾個參數來區分分段的光強,例如明暗。如果你想在一個軟件中集成不同車輛的不同傳感器,你應該使用參數來適應軟件。
同樣常見的是使用特征曲線或矩陣形式的多維參數。在電池控制器中,開路電壓特性用于估計電池單元的荷電狀態(SOC)。
- 功能的激活
在發動機開發中,參數被用于在相同的力學條件下實現不同的性能,也用于編碼可選的車輛功能,例如輔助加熱系統的存在。
通過調整參數,可以針對不同的工況或要求對車輛進行優化,提升駕駛體驗,優化車輛性能。
在測試參數化軟件時,應特別注意以下主題:
1. 改變參數的默認值:檢查基本功能是否仍然存在。如果參數在單元和模塊邊界上大量使用,則應該啟動一個新的完整的測試運行。在低使用率的情況下,單元測試和下一個更高級別的軟件集成測試通常足以進行驗證。
2. 在其他代碼段中添加新參數或使用現有參數:在添加參數時應使用功能測試,以檢查參數是否具有正確的效果。在測試中,要通過參數的具體值變化來判斷參數是否被設置在正確的位置。
3.避免參數干擾:閾值參數往往分割相同的信號。應用程序參數化指南顯示了參數的正確使用,并指定了一個參數通常應該和必須如何設置以及與另一個參數的關系。這樣的指南有時并不為人所知,因此可能導致出現在文檔中已經處理和排除的問題。
4. 避免過多的測試:測試所有可能的值和參數組合非常耗時,而且通常不切實際,特別是當有許多參數時。相反,測試人員通常只測試最重要或最常用的值和參數組合,以確保軟件正常工作。
5. 小心測試用例中的參數更改:有時參數的值在測試用例中直接更改。這可能會導致測試運行中出現意想不到的錯誤。所以要注意在測試中在何時及在何處進行了參數更改。
如何在TPT中對廣泛參數化的軟件進行測試?
在TPT中,當軟件第一次連接時,軟件中使用的所有參數都是已知的。它們被導入到聲明編輯器中,因此也可以通過自動完成在所有測試和評估中的使用、修改和引用。
對于每次測試運行,默認情況下使用聲明編輯器上參數的默認值。
為了在TPT中測試參數的變化,有以下幾種可能:
- 在初始化測試用例時更改參數(在初始值選項卡中)。
- 更改測試運行的參數(在執行配置中通過加載參數集)。從TPT 19(即將發布)開始,參數可以定義為Multi-Execution,并且具有任意值范圍的多個參數的組合可以在每個測試用例中迭代。
- 修改映射編輯器中的參數
- 在聲明編輯器中更改參數
似乎這還不夠:您還可以在測試運行時的任何時間更改參數。
如何實現的詳細過程可以在TPT用戶指南中找到。這將在每個版本中更新。如果您有任何問題,我們的支持團隊將很樂意為您提供幫助。
您不希望不必要地增加測試的數量?請隨時與我們聯系,并在今天試用TPT。我們很樂意為您提供建議和技巧。
-
嵌入式
+關注
關注
5090文章
19176瀏覽量
306934 -
汽車
+關注
關注
13文章
3598瀏覽量
37556
發布評論請先 登錄
相關推薦
評論