? ? 之前我們有文章介紹過CANoe中自帶的自動(dòng)化測(cè)試功能-Test Module使用的方法,相信各位工程師們已經(jīng)熟練應(yīng)用了。但是對(duì)Test Units,可能有些工程師只是在CANoe的界面中見過,沒有實(shí)際使用過。Test Units是需要與Vector旗下的另一款軟件vTESTstudio聯(lián)合使用,進(jìn)行自動(dòng)化測(cè)試。 ? ? ?
vTESTstudio介紹
? ? vTESTstudio是Vector公司專為ECU自動(dòng)化測(cè)試而研發(fā)的測(cè)試用例編寫軟件,可用于從模型測(cè)試到系統(tǒng)確認(rèn)的所有開發(fā)階段。它集成了多種用例編輯方法,能有效提高測(cè)試人員對(duì)測(cè)試設(shè)計(jì)的效率、具有可復(fù)用性等優(yōu)點(diǎn)。 ? vTESTstudio軟件在今年4月份,更新到vTESTstudio 7.0的版本,相比于之前版本,最大的新特性便是——Python File。它支持Python作為測(cè)試編程語言,Python File中包含集成編輯器,提供代碼的完整功能、語法的檢查等功能,具有調(diào)用 CAPL的功能,并且Python 接口函數(shù)(測(cè)試序列、測(cè)試用例、測(cè)試函數(shù)和函數(shù))可以在Test Table、Sequence Diagram和State Diagram中使用。 ?
圖 1 集成了多種用例編輯方法 ? ? ? ? ? ?
? 除了新增加的Python File的功能,還有許多的新特性,在這里也為各位工程師一一列舉: ? 1.vCDL文件的使用: (1)vCDL文件可以直接在vTESTstudio工程中引用,無需從CANoe(4SW)配置導(dǎo)入系統(tǒng)環(huán)境; (2)vCDL支持對(duì)分布式對(duì)象的訪問。 ?
圖 2 vCDL文件的使用
2. 可以為Sequence Diagram和State Diagram激活I(lǐng)D,便于更好的管理測(cè)試用例。
圖 3 Assign?Diagram?IDs
3.可以配合最新版的CANoe/CANoe4SW 16使用。 (1)離線模式:測(cè)試單元和測(cè)試模塊可以進(jìn)行離線分析; ?
圖 4 Offline?Mode
? (2)vTESTstudio中對(duì)測(cè)試用例描述可以在CANoe的測(cè)試界面中查看到。 ?
圖 5 查看測(cè)試用例描述 ? 4.對(duì)生成的測(cè)試報(bào)告做出了更新。 (1)增加用于檢查開始/結(jié)束事件和檢查統(tǒng)計(jì)信息的過濾器。 ?
圖 6 新過濾器
(2)增加了測(cè)試用例的查詢方式。 ?
圖 7 查詢測(cè)試用例
vTESTstudio的優(yōu)點(diǎn)
簡(jiǎn)化設(shè)計(jì)用例
集成了多種用例編輯方法(列表式、圖表式、編程語言,適合不同水平和偏好…)
復(fù)用性
將測(cè)試邏輯、用例、參數(shù)分離,所有的文件都可以在版本變化后復(fù)用
圖形化的編輯方法使得測(cè)試的邏輯以及SUT的期望行為更加清晰
參數(shù)化
集成測(cè)試參數(shù)、結(jié)構(gòu)體以及仿真曲線
高測(cè)試覆蓋度(分類樹)
支持全產(chǎn)品周期測(cè)試
全局需求追蹤(從需求到報(bào)告)
自動(dòng)生成可配置化的測(cè)試報(bào)告
?
圖 8 vTESTstudio視圖 ? ? ?
自動(dòng)化測(cè)試流程
? ? vTESTstudio作為編輯測(cè)試用例的軟件,在vTESTstudio中編輯好我們需要的Test Case后需要編譯生成.vtuexe文件,然后加載到CANoe中的Test Units去執(zhí)行,進(jìn)行完自動(dòng)化測(cè)試后,還可以在CANoe中生成測(cè)試報(bào)告。 ?
圖 9 自動(dòng)化測(cè)試流程 ? ? ? ? ? ? ? ?
下面就讓我?guī)ьI(lǐng)大家把每一種編輯方式都學(xué)習(xí)一下! ? ?
Method 1? Python File
? ? Python File就是用Python語言進(jìn)行測(cè)試用例的編輯,這也是vTESTstudio 7.0獨(dú)有的一種編寫方式,本次vTESTstudio的更新,主要也是增加了Python File這個(gè)功能。增加了一種編輯方式,讓工程師們多一種選擇。
圖 10 Python編輯區(qū)域
大家肯定注意到了使用Pyton File也是需要引用組件接口的: ?
vector.canoe:包含一般部分Python API。
vector.canoe.tfs: 包含測(cè)試功能集Python API。
vector.canoe.measuremen:獲取測(cè)量的信息。
使用Python File創(chuàng)建Function
圖 11 使用Python File制作Function
圖12 使用Test Table調(diào)用Python Function
圖 13 Python編輯測(cè)試用例
? 把測(cè)試用例導(dǎo)入到Test Table才可以執(zhí)行哦!
圖 14 Python測(cè)試用例導(dǎo)入Test Table ? ? ?
Method 2? Test Table
? ? Test Table?是我們常見的也是大多數(shù)工程師正在使用的一種編輯方式,他的好處在于對(duì)于初學(xué)者很友好,上手比較簡(jiǎn)單。 ?
圖 15 Test Table 編輯界面
在Test Table中擁有許多指令,都是可以直接用。只需要按照要求在輸入?yún)^(qū)進(jìn)行輸入,編譯成功后,在我們的CANoe中就可以進(jìn)行自動(dòng)化測(cè)試了。 ?
圖 16 Test Commands 1
圖 17?Test Commands 2 ? ? ?
Method 3? Test Sequence Diagram
? ? Test Sequence Diagram?顧名思義它是一種序列圖形式的編輯方式,他的好處在于對(duì)整個(gè)測(cè)試用例而言讓人看上去很直觀,但是操作上面就要稍微比Test Table要難了。 ?
圖 18 Test Sequence Diagram編輯區(qū)
? 在Test Sequence Diagram的編輯取中集成了許多的控件,這些控件就是我們搭建序列圖的關(guān)鍵,可以讓我們靈活使用。輸入?yún)^(qū)的操作和Test Table類似,也需要去使用Test Commands中的函數(shù)去進(jìn)行輸入。 ? Test Sequence Diagram還擁有Path View,把我們序列圖方式寫出來的測(cè)試用例表格化,方便編寫人員的檢查工作。 ?
圖 19 Test Sequence Diagram中Path View ? ? ?
Method 4? State Diagram
? ? State Diagram狀態(tài)機(jī)的編輯方式,他對(duì)整個(gè)State Diagram中編寫的路徑,全部至少遍歷一次和轉(zhuǎn)移路徑的總數(shù)最少,盡可能避免已經(jīng)走過的路徑。 ?
圖 20 State Diagram編輯區(qū)
State Diagram也是有Path View界面。 ?
圖 21?State Diagram中Path View ? ? ? ?
State Diagram的路徑介紹
??從Initial元素開始,先進(jìn)入一個(gè)分支,進(jìn)而進(jìn)入更深層的分支;
? 走遍周圍所有的還沒有走過的遷移,直到a、b、c任意一個(gè)條件滿足:
? ? 到達(dá)Final元素;
? ? 到達(dá)了一個(gè)已經(jīng)進(jìn)入過的State(即形成了循環(huán));
? ? 周圍已經(jīng)沒有未經(jīng)歷過的遷移(即形成了循環(huán));
??在b和c條件下,路徑選擇將會(huì)以盡快到達(dá)Final元素為目標(biāo)執(zhí)行。
? ?
圖 22 測(cè)試用例路徑 ? 輸入?yún)^(qū)的操作和Test Table類似,也需要去使用Test Commands中的函數(shù)去進(jìn)行輸入。 ? ? ?
Method 5? CAPL File
? ? CAPL File就是用CANoe獨(dú)有的編程語言進(jìn)行測(cè)試用例的編輯,使用這種方式就要求編輯人員對(duì)CAPL編程要精通,用純CAPL的形式編輯出來導(dǎo)入到Test Table中。 ?
圖 23 CAPL編輯區(qū)域
圖 24?CAPL編輯測(cè)試用例
把測(cè)試用例導(dǎo)入到Test Table才可以執(zhí)行哦! ?
圖 25 CAPL測(cè)試用例導(dǎo)入Test Table ? ? ?
Method 6? C# File
? ? C# File就是用C#進(jìn)行測(cè)試用例的編輯,這就對(duì)C#精通的工程師比較友好,用C#的形式編輯出來導(dǎo)入到Test Table中。 ?
圖 26 C#編輯區(qū)域
圖 27 C#編輯測(cè)試用例
把測(cè)試用例導(dǎo)入到Test Table才可以執(zhí)行哦! ?
圖 28 C#測(cè)試用例導(dǎo)入Test Table ? ? ?
總? 結(jié)
? ? vTESTstudio作為一款編輯測(cè)試用例的軟件,具有高覆蓋度及復(fù)用性、變體及追蹤特性、編輯形式多樣、易于后期的維護(hù)等優(yōu)點(diǎn)。并且vTESTstudio與CANoe聯(lián)合使用,使得自動(dòng)化測(cè)試更加的方便快捷。北匯信息作為Vector的合作伙伴,已為多家OEM/Tier1定制部件級(jí)功能測(cè)試系統(tǒng)(包括車身域控制器,及傳統(tǒng)分布式控制器功能測(cè)試開發(fā)),提供系統(tǒng)級(jí)及實(shí)車級(jí)測(cè)試驗(yàn)證服務(wù),期待交流分享和合作的機(jī)會(huì)。
編輯:黃飛
?
評(píng)論
查看更多