作者:fox
小編:吃不飽
作為一名測(cè)試工程師,在做MiL測(cè)試時(shí),編寫(xiě)測(cè)試用例的效率影響整個(gè)測(cè)試項(xiàng)目的進(jìn)度,如何有效提升編寫(xiě)測(cè)試用例的效率,是大家都關(guān)心的問(wèn)題。
TPT作為一款自動(dòng)化測(cè)試工具,提供了很多提高搭建測(cè)試用例效率的方法,比如自動(dòng)生成測(cè)試用例。除此以外,TPT還提供了Testlet Library,可以復(fù)用Testlet,以及將一個(gè)工程的測(cè)試用例復(fù)用到另外一個(gè)工程。
01應(yīng)用場(chǎng)景一單元測(cè)試的用例復(fù)用到集成測(cè)試
按照功能安全的要求,單元測(cè)試之后要進(jìn)行集成測(cè)試,那單元的測(cè)試用例能夠一定程度上復(fù)用到集成測(cè)試嗎?在TPT中引入了Testlet Library的概念。
Testlet Library是一個(gè)TPT項(xiàng)目文件,它可以包含一個(gè)完整的TPT項(xiàng)目,或者包含或不包含sub-testlets的單個(gè)testlet。Testlet Library可以同時(shí)在多個(gè)項(xiàng)目中使用。簡(jiǎn)言之,Testlet Library可以引用另外一個(gè)TPT工程,或者某個(gè)testlet。
借由Testlet Library,可以將單元測(cè)試的用例復(fù)用到集成測(cè)試,減少重復(fù)搭建相同用例的時(shí)間,提高測(cè)試效率。Demo模型如下圖所示,該模型有兩個(gè)subsystem,已完成單元測(cè)試,將要進(jìn)行集成測(cè)試。圖1 集成級(jí)模型
1)激活Testlet Libraries
在菜單欄Incubation中選擇Enable Testlet Libraries,將該功能激活。圖2 激活Test Libraries
2)狀態(tài)機(jī)的搭建
集成測(cè)試工程的狀態(tài)機(jī),以單元工程的名稱命名,每個(gè)單元測(cè)試的工程,都建立對(duì)應(yīng)的狀態(tài)機(jī)。圖3 建立對(duì)單元工程的狀態(tài)機(jī)
3)設(shè)置為L(zhǎng)ibrary testlet
在上一步建好的狀態(tài)機(jī)上右鍵,選擇Delete Content,將其Content刪除,在彈出的窗口中,選擇Library,并點(diǎn)擊Open…選擇要參考的工程的路徑。 圖4 將狀態(tài)機(jī)設(shè)置為L(zhǎng)ibrary轉(zhuǎn)換完成的狀態(tài)機(jī)右下角帶有藍(lán)色小箭頭表示,此時(shí)TPT會(huì)打開(kāi)參考的Library工程。
圖5 轉(zhuǎn)換完的Testlet
將信號(hào)做好mapping,把單元測(cè)試和集成測(cè)試的接口參數(shù)等互相匹配。對(duì)于Vehicle這個(gè)單元,在單元測(cè)試階段eng_trq是Input,在集成測(cè)試時(shí)變成不可賦值的Local,需要在聲明編輯器中添加一個(gè)相對(duì)的local量,以便該單元測(cè)試工程的用例可以運(yùn)行。圖6 信號(hào)mapping
5)組合測(cè)試用例
將Vehicle也按照第四步中方法建立好對(duì)應(yīng)的狀態(tài)機(jī)后,就可以在集成測(cè)試工程的狀態(tài)機(jī)上選擇單元工程的測(cè)試用例。例如,CruiseControl選擇status_cc_3,Vehicle選擇ramp。圖7 集成測(cè)試復(fù)用單元測(cè)試的測(cè)試用例
這樣就可以將單元測(cè)試的測(cè)試用例復(fù)用到集成測(cè)試,大大節(jié)省重復(fù)編寫(xiě)相同測(cè)試用例所需的時(shí)間,大家快來(lái)試試吧!
02應(yīng)用場(chǎng)景二高度重復(fù)的測(cè)試步驟
編寫(xiě)測(cè)試用例時(shí),大家往往會(huì)遇到一些典型的場(chǎng)景,他們需要多步才能完成,卻在多個(gè)工程中會(huì)使用,比如調(diào)度模塊。
在TPT中模擬調(diào)度信號(hào)(調(diào)度周期為20ms),需要這樣幾步操作。圖8 TPT模擬調(diào)度周期為20ms的調(diào)度信號(hào)
同一個(gè)ECU中可能包含多個(gè)調(diào)度周期為20ms的subsystem,在做單元測(cè)試時(shí),每個(gè)測(cè)試工程都需要編輯這部分狀態(tài)機(jī),此時(shí)Testlet Library就可以大大減少這部分重復(fù)工作所需的時(shí)間。下面我來(lái)介紹TPT如何使用該功能復(fù)用測(cè)試用例。
1)搭建狀態(tài)機(jī)
將調(diào)度模塊的狀態(tài)機(jī)搭建好,編輯好其Variants。圖9 搭建Library狀態(tài)機(jī)
2)將狀態(tài)機(jī)封裝為Testlet Library
在剛剛編輯好的狀態(tài)機(jī)上右鍵,選擇convert to Testlet Library,將其轉(zhuǎn)換為Testlet Library,選擇保存的位置并命名,圖10 將狀態(tài)機(jī)轉(zhuǎn)換為Testlet Library并保存
3)在其它工程中使用Testlet Library
在另一個(gè)工程中新建空白狀態(tài)機(jī),右鍵,選擇Delete Content,將其Content刪除,在彈出的窗口中,選擇Library,并選擇上一步中生成的Testlet Library路徑。圖11 將狀態(tài)機(jī)設(shè)置為L(zhǎng)ibrary
轉(zhuǎn)換完成的狀態(tài)機(jī)右下角帶有藍(lán)色小箭頭表示,此時(shí)TPT會(huì)打開(kāi)參考的Library工程。圖12 轉(zhuǎn)換完的Testlet在當(dāng)前工程的狀態(tài)機(jī)上右鍵,選擇“Channel/Parameter Map”進(jìn)行當(dāng)前工程和Library的信號(hào)mapping,到此已經(jīng)完成。
圖13 信號(hào)mapping完成之后即可在新的測(cè)試工程中完整復(fù)用該狀態(tài)機(jī)及其變種,提高我們編寫(xiě)測(cè)試用例的效率。感興趣的大伙快來(lái)試試吧!
圖14 復(fù)用Testlet Library的狀態(tài)機(jī)
03總結(jié)
本文主要介紹了Testlet Library的兩種應(yīng)用場(chǎng)景:1. 單元測(cè)試的用例復(fù)用到集成測(cè)試;2. 高度重復(fù)的測(cè)試步驟。除此以外,測(cè)試評(píng)估也可以一定程度上從單元測(cè)試復(fù)用到集成測(cè)試,敬請(qǐng)期待下篇:評(píng)估篇!
-
測(cè)試
+關(guān)注
關(guān)注
8文章
5563瀏覽量
127999
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
單元測(cè)試在嵌入式軟件中的關(guān)鍵作用及winAMS工具的卓越貢獻(xiàn)
嵌入式軟件單元測(cè)試的必要性、核心方法及工具深度解析
是德科技攜手Alea成功驗(yàn)證3GPP EUTRA任務(wù)關(guān)鍵型測(cè)試用例
開(kāi)發(fā)者必讀!CircleCI?組件測(cè)試與單元測(cè)試全解析
汽車軟件單元測(cè)試的重要性
嚴(yán)格的單元測(cè)試造就完美的軟件

TESSY單元測(cè)試工具詳解與操作演示:ISO 26262合規(guī)性、自定義測(cè)試用例、詳細(xì)測(cè)試報(bào)告等
是德科技助力三星電子驗(yàn)證FiRa 2.0安全測(cè)距測(cè)試用例
端到端測(cè)試用例怎么寫(xiě)
是德科技獲得5G NR FR1 1024-QAM 解調(diào)測(cè)試用例的認(rèn)證
鑒源實(shí)驗(yàn)室·ISO 26262中測(cè)試用例的得出方法-等價(jià)類的生成和分析

是德科技獲得窄帶非地面網(wǎng)絡(luò)標(biāo)準(zhǔn)的新測(cè)試用例驗(yàn)證
鴻蒙語(yǔ)言基礎(chǔ)類庫(kù):ohos.application.testRunner TestRunner 測(cè)試
單元測(cè)試、集成測(cè)試自動(dòng)化工具

評(píng)論