作者:fox
小編:吃不飽
作為一名測(cè)試工程師,在做MiL測(cè)試時(shí),編寫測(cè)試用例的效率影響整個(gè)測(cè)試項(xiàng)目的進(jìn)度,如何有效提升編寫測(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ì)打開參考的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ù)編寫相同測(cè)試用例所需的時(shí)間,大家快來(lái)試試吧!
02應(yīng)用場(chǎng)景二高度重復(fù)的測(cè)試步驟
編寫測(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ì)打開參考的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ī)及其變種,提高我們編寫測(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文章
5382瀏覽量
127076
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論