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