作者 | 昱佳
小編 | 不吃豬頭肉
前言
隨著汽車電子技術的不斷發展和普及,汽車電子系統的復雜度不斷增加,對汽車電子系統的測試要求也越來越高,傳統的測試方法已經無法滿足對系統功能和性能的全面測試需求。TPT作為一種靈活、高效的測試工具,能夠幫助測試工程師快速編寫滿足各類需求的測試用例,有效提高測試效率和覆蓋率。
為了滿足汽車行業日益增加的測試需求,走在測試技術前沿,TPT也在不斷成長,以適應新的測試需求和挑戰。更新亮點
2.1形式化需求
在TPT 19時我們已經體驗到了形式化需求的高度自動化,在此基礎上TPT 20支持MiL、SiL、PiL、HiL階段所有平臺使用形式化需求自動生成測試用例(例如:MATLAB、AUTOSAR、Lauterbach、CANoe、VeriStand等),這一優化無疑會對我們的測試質量和效率的提升有很大幫助。
另外,形式化需求的編寫也得到了優化,提供了一些新的步驟以便于滿足各類需求。
例如:當需要的測試結果是檢測兩個信號是否相等時,新增的‘Shall Signal Compare’步驟就可直接滿足這一需求。
圖 1 新增步驟示例
形式化需求還新增一種生成未通過測試用例功能(滿足功能需求輸入,未得到期望結果),可以通過在TASMO自動生成測試用例界面選擇開啟該功能。圖 2 選擇生成Failed測試用例
選擇生成Failed測試用例后,生成界面會顯示哪些需求存在未通過的情況,通過分析模型/代碼,這樣就可以快速發現/定位問題啦。圖 3 形式化需求自動生成用例界面(生成Failed測試用例示例)
2.2自動生成測試用例
除形式化需求自動生成測試用例有更新外,其他測試用例自動生成也做了優化改進。
以‘Generate Test Cases from Equivalence Classes’為例:
我們現在可以選用等價類單個隨機值做接口測試,在用邊界值方法設計測試用例的時候選取三點邊界值,從映射中檢索量化數據。
圖 4 選擇測試方式
圖 5 選擇映射
在TPT 20中,我們不再需要通過復雜的配置組合去實現多類測試用例的生成,而是可以通過簡單選擇直接生成所需測試用例。
另外TPT 20還針對組合方式和生成用例形式提供了多個類型來滿足我們測試的多種工況。
組合方式
Single value:單個信號的單個代表為一組。Pair two values:選擇一對信號為一組。Combine values:選擇所需信號的代表值為一組。
步驟列表
Embedded:將所有組合作為嵌入信號步驟的示例點嵌入一個步驟列表。Merged:將組合合并到一個用例中,在各組合間設置等待時間。Separated:為每個組合單獨生成一個測試用例。圖 6 信號組合和用例形式選擇新增的'Generate Test Cases for Interface Testing' 功能是同時支持'Generate Test Cases from Equivalence Classes'和'Generate Test Cases from Value Ranges'的功能生成測試用例,可以更好的實現功能安全要求的接口測試和邊界值測試。
圖 7 Generate Test Cases for Interface Testing
2.3AUTOSAR
現在AUTOSAR新增TPT Coverage(TASMO)覆蓋度統計方式,該統計方式可以直接使用并查看代碼的SC、CC、DC、MC/DC覆蓋率,無需另外購買商用覆蓋度統計工具,避免繁瑣的配置過程,節約成本的同時提高測試效率。圖 8 AUTOSAR覆蓋度設置自動生成完成后,執行相應測試用例,可以直觀的看到代碼結構的覆蓋情況。
圖 9 代碼覆蓋度報告查看
同時,AUTOSAR還支持了TASMO自動生成測試用例,并且提供了新的覆蓋度標準‘Function coverage’,它滿足了功能安全集成測試階段的覆蓋度統計要求,以便測試人員更好地查看代碼中的函數是否執行。
圖 10 Generate Test Cases for C/C++ or AUTOSAR
新功能
3.1項目元素共享
當一個項目有多個TPT工程時,可以通過在子項目中設置父項目,將父項目的聲明、命名數據類型、映射、函數和需求與多個子項目共享。圖 11 設置父項目為了提高效率,將一個模型的功能分給不同的人測試時,可以通過此方法共享測試元素,分別進行需求測試,當父項目更新時,父項目中的調整也將應用于所有子項目。
圖 12 共享元素
3.2Function Wizard改進
‘Channel steps’ and‘ Parameter steps’ 現在都可以使用TPT函數,例如 :TPT.rampgradient()。此外,現在還可以為所有支持的整數數據類型生成Asymptote Functions 和 Ramp Functions以滿足我們更復雜和多樣的測試需求。
圖 13 Function Wizard
3.3Python 3.0
TPT 20現在可支持Python 3.0用于測試評估。圖 14 新增功能函數
相比之前,TPT不僅可以使用Python 3.0來編寫評估,Python 2.0在使用上也有優化。
舉例:
現在可以將兩個“TPTNumpy.array()”對象用“==”進行比較,也支持了幾個與時間相關的信號的并行分配。
圖 15 示例
3.4TPT項目文件的差異和合并
TPT 20支持TPT項目文件的比較和合并。通過’Diff and Merge view’視圖,可以比較兩個加載的TPT項目文件,并將偏差從一個文件轉移到另一個文件。圖 16 對比項目文件
在測試的過程中,大家肯定避免不了會嘗試修改各種設置和用例等來實現測試結果,這一過程也許會產生多個版本的項目文件,待測試成功后就可以使用該功能查看我們修改過的內容并做出總結,以便下次應用。
3.5TPTBIN文件優化在TPT 20中,優化了文件存儲形式。相比前期版本縮小了文件大小,節省了空間,提高了測試效率。
如圖所示,相同的文件在TPT 19中顯示為6KB,但是在TPT 20中為3KB,顯著縮小了文件大小。圖 17 TPT 20的BIN文件
圖 18 TPT 19的BIN文件
總結
TPT 20的新功能就先介紹到這里了,每一次的更新和優化都是為了更好滿足我們的需求和功能實現,給我們帶來新的感受和體驗,如果各位想要進一步了解TPT,歡迎聯系我們,也希望能給我們帶來新的建議和反饋。
-
測試
+關注
關注
8文章
5555瀏覽量
127945 -
自動化
+關注
關注
29文章
5717瀏覽量
81025 -
TPT
+關注
關注
0文章
25瀏覽量
7118
發布評論請先 登錄
相關推薦
基于模型的動態測試工具TPT

評論