作者:fox
小編:吃不飽
作為一名測試工程師,在做MiL測試時,編寫測試用例的效率影響整個測試項目的進度,如何有效提升編寫測試用例的效率,是大家都關心的問題。
TPT作為一款自動化測試工具,提供了很多提高搭建測試用例效率的方法,比如自動生成測試用例。除此以外,TPT還提供了Testlet Library,可以復用Testlet,以及將一個工程的測試用例復用到另外一個工程。
01應用場景一單元測試的用例復用到集成測試
按照功能安全的要求,單元測試之后要進行集成測試,那單元的測試用例能夠一定程度上復用到集成測試嗎?在TPT中引入了Testlet Library的概念。
Testlet Library是一個TPT項目文件,它可以包含一個完整的TPT項目,或者包含或不包含sub-testlets的單個testlet。Testlet Library可以同時在多個項目中使用。簡言之,Testlet Library可以引用另外一個TPT工程,或者某個testlet。
借由Testlet Library,可以將單元測試的用例復用到集成測試,減少重復搭建相同用例的時間,提高測試效率。Demo模型如下圖所示,該模型有兩個subsystem,已完成單元測試,將要進行集成測試。
圖1 集成級模型
1)激活Testlet Libraries
在菜單欄Incubation中選擇Enable Testlet Libraries,將該功能激活。
圖2 激活Test Libraries
2)狀態機的搭建
集成測試工程的狀態機,以單元工程的名稱命名,每個單元測試的工程,都建立對應的狀態機。
圖3 建立對單元工程的狀態機
3)設置為Library testlet
在上一步建好的狀態機上右鍵,選擇Delete Content,將其Content刪除,在彈出的窗口中,選擇Library,并點擊Open…選擇要參考的工程的路徑。
圖4 將狀態機設置為Library轉換完成的狀態機右下角帶有藍色小箭頭表示,此時TPT會打開參考的Library工程。
圖5 轉換完的Testlet
將信號做好mapping,把單元測試和集成測試的接口參數等互相匹配。對于Vehicle這個單元,在單元測試階段eng_trq是Input,在集成測試時變成不可賦值的Local,需要在聲明編輯器中添加一個相對的local量,以便該單元測試工程的用例可以運行。
圖6 信號mapping
5)組合測試用例
將Vehicle也按照第四步中方法建立好對應的狀態機后,就可以在集成測試工程的狀態機上選擇單元工程的測試用例。例如,CruiseControl選擇status_cc_3,Vehicle選擇ramp。
圖7 集成測試復用單元測試的測試用例
這樣就可以將單元測試的測試用例復用到集成測試,大大節省重復編寫相同測試用例所需的時間,大家快來試試吧!
02應用場景二高度重復的測試步驟
編寫測試用例時,大家往往會遇到一些典型的場景,他們需要多步才能完成,卻在多個工程中會使用,比如調度模塊。
在TPT中模擬調度信號(調度周期為20ms),需要這樣幾步操作。
圖8 TPT模擬調度周期為20ms的調度信號
同一個ECU中可能包含多個調度周期為20ms的subsystem,在做單元測試時,每個測試工程都需要編輯這部分狀態機,此時Testlet Library就可以大大減少這部分重復工作所需的時間。下面我來介紹TPT如何使用該功能復用測試用例。
1)搭建狀態機
將調度模塊的狀態機搭建好,編輯好其Variants。
圖9 搭建Library狀態機
2)將狀態機封裝為Testlet Library
在剛剛編輯好的狀態機上右鍵,選擇convert to Testlet Library,將其轉換為Testlet Library,選擇保存的位置并命名,
圖10 將狀態機轉換為Testlet Library并保存
3)在其它工程中使用Testlet Library
在另一個工程中新建空白狀態機,右鍵,選擇Delete Content,將其Content刪除,在彈出的窗口中,選擇Library,并選擇上一步中生成的Testlet Library路徑。
圖11 將狀態機設置為Library
轉換完成的狀態機右下角帶有藍色小箭頭表示,此時TPT會打開參考的Library工程。
圖12 轉換完的Testlet在當前工程的狀態機上右鍵,選擇“Channel/Parameter Map”進行當前工程和Library的信號mapping,到此已經完成。
圖13 信號mapping完成之后即可在新的測試工程中完整復用該狀態機及其變種,提高我們編寫測試用例的效率。感興趣的大伙快來試試吧!
圖14 復用Testlet Library的狀態機
03總結
本文主要介紹了Testlet Library的兩種應用場景:1. 單元測試的用例復用到集成測試;2. 高度重復的測試步驟。除此以外,測試評估也可以一定程度上從單元測試復用到集成測試,敬請期待下篇:評估篇!
-
測試
+關注
關注
9文章
6317瀏覽量
131578
發布評論請先 登錄
嵌入式軟件單元測試必要性與專業工具重要性的系統性專業研究報告
汽車軟件質量躍遷的系統性路徑:基于ISO 26262標準的單元測試體系重構與中日實踐深度對比(2026學術研究報告)
嵌入式軟件單元測試中AI自動化與人工檢查的協同機制研究:基于專業工具的實證分析
C語言單元測試在嵌入式軟件開發中的作用及專業工具的應用
嵌入軟件單元測試的全面研究與實踐
單元測試專業工具在新能源開發中的作用研究
邊聊安全 | 軟件單元測試的設計方法
上海控安:基于模型的測試用例生成
HarmonyOSAI編程單元測試用例
AI生成的測試用例真的靠譜嗎?
用例篇 | 單元測試用例復用到集成測試?Testlet Library來助力!(上)
評論