0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CANoe自帶的自動(dòng)化測(cè)試用例開(kāi)發(fā)大揭秘

北匯信息POLELINK ? 2022-08-01 15:17 ? 次閱讀

眾所周知,CANoe對(duì)分析和仿真功能有著非常出色的支持,但一些人可能對(duì)其測(cè)試功能了解較少,其實(shí)CANoe對(duì)于測(cè)試功能的支持也是非常強(qiáng)大的。

CANoe的測(cè)試功能模塊包括Test ModulesTest Units兩大組件,并且集成了TFS(Test Feature Set)測(cè)試功能集和TSL(Test Service Library)測(cè)試服務(wù)庫(kù)來(lái)幫助用戶實(shí)現(xiàn)高效的自動(dòng)化測(cè)試。對(duì)于Test Units組件需要與VECTOR旗下的另一款軟件vTESTstudio結(jié)合使用。那么CANoe是否可以不需要其他軟件的支持來(lái)實(shí)現(xiàn)自動(dòng)化測(cè)試功能呢?答案顯然是肯定的,接下來(lái)就讓我們一起來(lái)看一下CANoe自帶的測(cè)試功能是如何實(shí)現(xiàn)的。

一、通過(guò)Test Modules創(chuàng)建自動(dòng)化測(cè)試用例的步驟

基于Test Modules的自動(dòng)化測(cè)試用例開(kāi)發(fā),主要是通過(guò)編寫(xiě)CAPL腳本來(lái)實(shí)現(xiàn),CANoe中自帶的測(cè)試功能函數(shù)庫(kù)可以幫助開(kāi)發(fā)人員更高效地完成測(cè)試用例的開(kāi)發(fā)。實(shí)現(xiàn)自動(dòng)化測(cè)試腳本的開(kāi)發(fā),首先了解一下如何通過(guò)Test Modules進(jìn)行自動(dòng)化測(cè)試腳本的開(kāi)發(fā)。

1、

pYYBAGLndxSAA5avAABn18DbhVg161.png

2、創(chuàng)建新的測(cè)試環(huán)境

poYBAGLndy-AH6yJAABImjktqWU880.png

3、增加新的CAPL測(cè)試模塊

poYBAGLnd0CADE5wAADAORMtVIs140.png

4、設(shè)置自動(dòng)化測(cè)試腳本的保存路徑

poYBAGLnd0mAAMv7AABztJp3zUQ887.png

二、TFS(Test Feature Set)

TFS是CANoe擴(kuò)展出來(lái)的一系列測(cè)試功能函數(shù),包括測(cè)試報(bào)告的輸出。按照功能來(lái)分,主要包括:

1、約束和條件設(shè)置函數(shù):主要用來(lái)檢測(cè)測(cè)試環(huán)境的偏差或被測(cè)ECU在測(cè)試過(guò)程中是否偏離某些參數(shù)的范圍,以確保測(cè)試在正確的測(cè)試環(huán)境中被執(zhí)行。

e.g:

TestAddCondition:用于添加一個(gè)事件對(duì)象(Event Object)或事件文本(Event Text)作為測(cè)試的條件。

2、信號(hào)測(cè)試函數(shù):主要用于檢測(cè)或操作信號(hào)、系統(tǒng)變量的數(shù)值。

e.g:

checkSignalInRange:用于檢測(cè)信號(hào)、系統(tǒng)變量是否在指定的范圍內(nèi)。

3、等待指示函數(shù):為用戶提供測(cè)試動(dòng)作設(shè)置、等待測(cè)試等功能。

e.g:

(1)TestCreateTesterAction:創(chuàng)建一個(gè)測(cè)試動(dòng)作;

(2)TestWaitForSignalInRange:用于等待待檢信號(hào)、系統(tǒng)變量是否滿足定義的數(shù)值范圍。

4、測(cè)試控制函數(shù):用于控制ECU斷開(kāi)或連接到總線上。

e.g:

(1)TestSetEcuOffline:用于將指定的ECU從總線上斷開(kāi)

(2)TestSetEcuOnline:用于將指定的ECU連接到總線上

5、故障注入函數(shù):允許用戶通過(guò)調(diào)用相關(guān)函數(shù)實(shí)現(xiàn)一些特殊的測(cè)試條件。

e.g:

TestDisableMsg:用于禁止發(fā)送某個(gè)指定的報(bào)文

6、測(cè)試判別函數(shù):用于對(duì)測(cè)試步驟、測(cè)試用例、測(cè)試模塊等作出判別和處理。

e.g:

TestCaseFail:用于將當(dāng)前測(cè)試用例的判別設(shè)為fail

7、測(cè)試架構(gòu)函數(shù):可以在測(cè)試模塊設(shè)置測(cè)試分組、測(cè)試用例及測(cè)試步驟等,并定義了生成測(cè)試報(bào)告的格式。

e.g:

(1)TestCaseDescription:用于將測(cè)試用例的描述寫(xiě)入測(cè)試報(bào)告

(2) TestCaseTitle:用于設(shè)定測(cè)試用例的標(biāo)題

8、測(cè)試報(bào)告函數(shù):用于按用戶的要求產(chǎn)生測(cè)試報(bào)告,增加報(bào)告的可讀性。

e.g:

TestReportAddImage:用于在測(cè)試報(bào)告中添加圖片

三、TSL(Test Service Library)

Test Service Library(測(cè)試服務(wù)庫(kù))是在測(cè)試功能集(TFS)基本函數(shù)的基礎(chǔ)上,提供一些特殊函數(shù),可以高效地解決某些特殊的測(cè)試問(wèn)題。主要包含:

1、檢測(cè)函數(shù)(Check Descriptions)

(1)信號(hào)驗(yàn)證(Signal Evaluation):包括信號(hào)的數(shù)值有效性、周期性和穩(wěn)定性等檢測(cè)。

e.g:

ChkStart_MsgSignalValueInvalid/ ChkStart_MsgSignalValueRangeViolation:用于檢測(cè)信號(hào)/變量數(shù)值的有效性

(2)報(bào)文驗(yàn)證(Message Evaluation):包括報(bào)文丟失、周期、數(shù)據(jù)長(zhǎng)度和錯(cuò)誤幀等檢測(cè)。

e.g:

ChkStart_MsgAbsCycleTimeViolation:用于檢測(cè)周期性報(bào)文的周期是否在給定的范圍內(nèi)

(3)時(shí)間驗(yàn)證(Time Evaluation):包括連續(xù)幀及超時(shí)檢測(cè)。

e.g:

ChkStart_MsgDistViolation:用于檢測(cè)指定兩條報(bào)文之間的時(shí)間間隔

2、狀態(tài)報(bào)告函數(shù)(Status Report Functions):在執(zhí)行上面的檢測(cè)函數(shù)以后,CANoe需要使用狀態(tài)報(bào)告函數(shù)來(lái)查詢檢測(cè)結(jié)果、基本狀態(tài)信息等。狀態(tài)報(bào)告函數(shù)又分為通用的狀態(tài)報(bào)告函數(shù)和特殊類型的狀態(tài)報(bào)告函數(shù)。

e.g:

ChkQuery_NumEvents:用于返回初始化后指定檢測(cè)函數(shù)產(chǎn)生的事件次數(shù)

3、激勵(lì)函數(shù)(Stimulus Functions):激勵(lì)函數(shù)作為TSL中的重要一部分,允許用戶使用不同的數(shù)據(jù)源作為信號(hào)或系統(tǒng)變量的激勵(lì)發(fā)生器。

4、檢測(cè)控制函數(shù)(Check Control CAPL Functions):用于對(duì)于檢測(cè)事件的控制操作,如初始化、開(kāi)始、停止、銷毀等。

e.g:

ChkControl_Start:用于開(kāi)始或繼續(xù)檢測(cè)事件。

四、測(cè)試模塊的架構(gòu)

在了解了自動(dòng)化測(cè)試腳本的開(kāi)發(fā)步驟后,我們來(lái)看一下基于CANoe的自動(dòng)化測(cè)試系統(tǒng)的整體架構(gòu)。

poYBAGLnd76AdMiTAACdm6xso6s109.png

1、SUT:System Under Test被測(cè)系統(tǒng),一般是待測(cè)ECU;

2、VT System:VT system是由一系列硬件板卡組成的ECU功能測(cè)試模塊,通過(guò)連接ECU的I/O線路對(duì)ECU進(jìn)行測(cè)試;

3、Remaining bus simulation:殘余總線仿真。實(shí)際應(yīng)用中SUT只是總線中的一個(gè)ECU節(jié)點(diǎn),總線環(huán)境是復(fù)雜的,CANoe可以仿真除了SUT之外的總線環(huán)境,即殘余總線仿真。

五、CAPL腳本的封裝加密(敲黑板?。?/strong>

對(duì)于CAPL腳本的開(kāi)發(fā)和維護(hù)需要投入大量的人力與物力,有時(shí)可能會(huì)帶有一些公司的加密信息。但是根據(jù)項(xiàng)目需要又不得不釋放給外部使用,為了保護(hù)開(kāi)發(fā)人員的勞動(dòng)成果,有必要做一些保護(hù)措施。CAPL腳本的加密與保護(hù)主要有三種方式:編譯后刪除源代碼、加密后刪除源代碼和加密保護(hù)與硬件綁定。

1、編譯后刪除源代碼

(1)編輯好CAPL腳本之后,刪除相關(guān)源代碼(.can文件);

(2)在此節(jié)點(diǎn)Configuration→Node specification中將.can文件改成.cbf文件。

這種保護(hù)方式設(shè)置好之后,用戶可以使用腳本,但是無(wú)法查看(編輯)和編譯。

pYYBAGLnd_WAXFWyAADQ3Ut_Pno544.png

2、加密后刪除源代碼

(1)將CAPL源代碼進(jìn)行加密生成.canencr文件

poYBAGLneCKAHt-DAAEZ2Q_j81Y888.png

(2)將CAPL源代碼加密后,刪除源代碼(.can文件)

加密后的源代碼不能被查看或編輯,但是加密后的源代碼可以在其他版本CANoe中對(duì)其進(jìn)行編譯。

3、加密保護(hù)與硬件綁定

在前兩種保護(hù)方式的基礎(chǔ)上,通過(guò)CAPL DLL技術(shù)添加一些加密算法與計(jì)算機(jī)本機(jī)的硬件進(jìn)行綁定(如MAC地址等)。

除了可以將CAPL腳本進(jìn)行加密,還可以將基于TFS(TSL)編寫(xiě)的CAPL腳本在vTESTstudio中進(jìn)行調(diào)用。例如,在使用vTESTstudio編寫(xiě)自動(dòng)化測(cè)試腳本時(shí),需要有車輛加速的過(guò)程,則可以通過(guò)編寫(xiě)CAPL腳本實(shí)現(xiàn)此功能,然后在vTESTstudio中直接調(diào)用。

pYYBAGLneEaAAxdUAAF-I2SAE3w459.png

六、Test Unit和Test Module

1、測(cè)試層級(jí)的對(duì)比

pYYBAGLneFaAWt91AACzq8Demmw609.png

Test Module主要測(cè)試層級(jí)由Test Group、Test Case和Test Step組成,而Test Unit主要測(cè)試層級(jí)有:Test Group、Test Sequence、Test Fixture、Test Case和Test Step。

2、Test Unit和Test Module的區(qū)別

(1)Test Unit在Test Configuration窗口定義,用戶需要根據(jù)Vector提供的軟件vTESTstudio創(chuàng)建測(cè)試用例,然后將測(cè)試用例導(dǎo)入CANoe Test Unit運(yùn)行。

(2)Test Module在 Test Setup for Test Modules中定義,Test Module支持三種不同語(yǔ)言類型的測(cè)試模塊:CAPL、XML和.NET。用戶可以根據(jù)自己熟悉的語(yǔ)言和測(cè)試需求來(lái)編寫(xiě)測(cè)試模塊。

七、總結(jié)

了解了CANoe的測(cè)試功能后,是不是對(duì)CANoe有了重新的認(rèn)識(shí),其實(shí)CANoe功能的強(qiáng)大不止于此。CANoe是德國(guó)Vector公司推出的一款總線開(kāi)發(fā)環(huán)境,是網(wǎng)絡(luò)和ECU開(kāi)發(fā)、測(cè)試和分析的專業(yè)工具,支持從需求分析到系統(tǒng)實(shí)現(xiàn)的整個(gè)系統(tǒng)開(kāi)發(fā)過(guò)程。其豐富的功能和配置選項(xiàng)被OEM和供應(yīng)商的網(wǎng)絡(luò)設(shè)計(jì)工程師、開(kāi)發(fā)工程師和測(cè)試工程師所廣泛應(yīng)用。

北匯信息作為Vector中國(guó)合作伙伴,不僅提供相應(yīng)的工具、技術(shù)支持服務(wù)以及培訓(xùn),還針對(duì)不同的應(yīng)用場(chǎng)景(智能座艙、新能源三電系統(tǒng)、底盤(pán)系統(tǒng)、ADAS及V2X等)提供專業(yè)的解決方案。歡迎聯(lián)系北匯信息,為您答疑解惑。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • CANoe
    +關(guān)注

    關(guān)注

    4

    文章

    64

    瀏覽量

    8537
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    端到端測(cè)試用怎么寫(xiě)

    編寫(xiě)端到端測(cè)試用是確保軟件系統(tǒng)從頭到尾能夠正常工作的關(guān)鍵步驟。以下是一個(gè)詳細(xì)的指南,介紹如何編寫(xiě)端到端測(cè)試用: 一、理解端到端測(cè)試 端到
    的頭像 發(fā)表于 09-20 10:29 ?79次閱讀

    開(kāi)關(guān)電源自動(dòng)化測(cè)試設(shè)備:如何實(shí)現(xiàn)自動(dòng)化測(cè)試?

    開(kāi)關(guān)電源自動(dòng)化測(cè)試設(shè)備是將測(cè)試軟件和測(cè)試硬件集成在一個(gè)電源測(cè)試柜中的ate自動(dòng)測(cè)試設(shè)備,其
    的頭像 發(fā)表于 08-30 18:19 ?967次閱讀
    開(kāi)關(guān)電源<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>測(cè)試</b>設(shè)備:如何實(shí)現(xiàn)<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>測(cè)試</b>?

    ATECLOUD自動(dòng)化測(cè)試系統(tǒng)區(qū)別于傳統(tǒng)自動(dòng)化測(cè)試系統(tǒng)

    納米軟件通過(guò)多年業(yè)務(wù)積累,具有豐富的軟件開(kāi)發(fā)和系統(tǒng)集成經(jīng)驗(yàn)。ATECLOUD自動(dòng)化測(cè)試平臺(tái)也一直在迭代升級(jí),擴(kuò)展功能,致力于讓測(cè)試變得更簡(jiǎn)單、更便捷。
    的頭像 發(fā)表于 05-08 15:58 ?294次閱讀
    ATECLOUD<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>測(cè)試</b>系統(tǒng)區(qū)別于傳統(tǒng)<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>測(cè)試</b>系統(tǒng)

    DEKRA被CSA指定為Zigbee統(tǒng)一測(cè)試工具開(kāi)發(fā)和優(yōu)化新功能和測(cè)試用

    DEKRA德凱被CSA聯(lián)盟(Connectivity Standards Alliance,CSA)指定負(fù)責(zé)為Zigbee統(tǒng)一測(cè)試工具(Zigbee Unified Test Harness,ZUTH)開(kāi)發(fā)和優(yōu)化新功能和測(cè)試用
    的頭像 發(fā)表于 04-09 14:10 ?366次閱讀

    鴻蒙OS開(kāi)發(fā)實(shí)戰(zhàn):【自動(dòng)化測(cè)試框架】使用指南

    為支撐HarmonyOS操作系統(tǒng)的自動(dòng)化測(cè)試活動(dòng)開(kāi)展,我們提供了支持JS/TS語(yǔ)言的單元及UI測(cè)試框架,支持開(kāi)發(fā)者針對(duì)應(yīng)用接口進(jìn)行單元測(cè)試,
    的頭像 發(fā)表于 04-08 14:49 ?1086次閱讀
    鴻蒙OS<b class='flag-5'>開(kāi)發(fā)</b>實(shí)戰(zhàn):【<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>測(cè)試</b>框架】使用指南

    CANoe中診斷29服務(wù)的實(shí)現(xiàn)#診斷自動(dòng)化測(cè)試

    自動(dòng)化測(cè)試
    北匯信息POLELINK
    發(fā)布于 :2023年12月29日 21:47:49

    HamronyOS自動(dòng)化測(cè)試框架使用指南

    概述 為支撐 HarmonyOS 操作系統(tǒng)的自動(dòng)化測(cè)試活動(dòng)開(kāi)展,我們提供了支持 JS/TS 語(yǔ)言的單元及 UI 測(cè)試框架,支持開(kāi)發(fā)者針對(duì)應(yīng)用接口進(jìn)行單元
    發(fā)表于 12-19 10:26

    電源測(cè)試怎么自動(dòng)化?電源模塊自動(dòng)化測(cè)試系統(tǒng)如何實(shí)現(xiàn)?

    納米軟件在電測(cè)行業(yè)深耕十余年,在行業(yè)的大背景下,為了進(jìn)一步完善自動(dòng)化測(cè)試,開(kāi)發(fā)出了新的智能的電源模塊自動(dòng)化
    的頭像 發(fā)表于 12-15 14:40 ?639次閱讀
    電源<b class='flag-5'>測(cè)試</b>怎么<b class='flag-5'>自動(dòng)化</b>?電源模塊<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>測(cè)試</b>系統(tǒng)如何實(shí)現(xiàn)?

    LabVIEW與Tektronix示波器實(shí)現(xiàn)電源測(cè)試自動(dòng)化

    MDO MSO DPO2000/3000/4000系列示波器,開(kāi)發(fā)一個(gè)自動(dòng)化測(cè)試項(xiàng)目。該項(xiàng)目旨在自動(dòng)化執(zhí)行一系列電子信號(hào)的捕獲、分析和報(bào)告生成,提高
    發(fā)表于 12-09 20:37

    磁盤(pán)eCryptfs加密測(cè)試用

    apt安裝用戶態(tài)工具ecryptfs-utils即可。 4.1、測(cè)試用 下圖是一個(gè)腳本基礎(chǔ)測(cè)試用。先創(chuàng)建test目錄和文件hello,
    的頭像 發(fā)表于 11-29 11:27 ?903次閱讀
    磁盤(pán)eCryptfs加密<b class='flag-5'>測(cè)試用</b><b class='flag-5'>例</b>

    一文了解導(dǎo)入測(cè)試數(shù)據(jù)自動(dòng)化生成測(cè)試用的方法

    作者|Poplar小編|吃不飽概述在模型開(kāi)發(fā)過(guò)程中,測(cè)試是一個(gè)不可或缺的環(huán)節(jié)。在測(cè)試過(guò)程中,測(cè)試用的編寫(xiě)是所有
    的頭像 發(fā)表于 11-23 08:24 ?650次閱讀
    一文了解導(dǎo)入<b class='flag-5'>測(cè)試</b>數(shù)據(jù)<b class='flag-5'>自動(dòng)化</b>生成<b class='flag-5'>測(cè)試用</b><b class='flag-5'>例</b>的方法

    開(kāi)關(guān)電源自動(dòng)化測(cè)試方案的流程是什么?開(kāi)關(guān)電源測(cè)試系統(tǒng)如何測(cè)試

    開(kāi)關(guān)電源測(cè)試系統(tǒng)是針對(duì)開(kāi)關(guān)電源測(cè)試開(kāi)發(fā)的一種智能自動(dòng)化測(cè)試系統(tǒng),打破傳統(tǒng)測(cè)試程序與缺陷,滿足客
    的頭像 發(fā)表于 11-22 16:37 ?892次閱讀
    開(kāi)關(guān)電源<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>測(cè)試</b>方案的流程是什么?開(kāi)關(guān)電源<b class='flag-5'>測(cè)試</b>系統(tǒng)如何<b class='flag-5'>測(cè)試</b>?

    Python與CANoe/CANoe4SW

    Python作為功能強(qiáng)大的編程語(yǔ)言,在智能汽車研發(fā)和測(cè)試中應(yīng)用廣泛,如數(shù)據(jù)處理、測(cè)試自動(dòng)化、測(cè)試腳本開(kāi)發(fā),甚至直接將Python應(yīng)用運(yùn)行在車
    的頭像 發(fā)表于 11-16 08:25 ?1577次閱讀
    Python與<b class='flag-5'>CANoe</b>/<b class='flag-5'>CANoe</b>4SW

    TPT自動(dòng)生成測(cè)試用

    方法。TASMO不僅可以測(cè)量覆蓋率,還可以通過(guò)自動(dòng)生成測(cè)試數(shù)據(jù)來(lái)填補(bǔ)覆蓋率的空白。在TPT 19中,TASMO更進(jìn)一步,因?yàn)?b class='flag-5'>測(cè)試用可以直接從形式
    的頭像 發(fā)表于 11-06 17:30 ?732次閱讀
    TPT<b class='flag-5'>自動(dòng)</b>生成<b class='flag-5'>測(cè)試用</b><b class='flag-5'>例</b>

    【技術(shù)視界】揭秘!自動(dòng)化測(cè)試效率提升30%如何達(dá)成

    的是華為自動(dòng)化測(cè)試框架專家的分享,希望能為您的開(kāi)發(fā)之路帶來(lái)啟發(fā)~ 作者:Sky,華為自動(dòng)化測(cè)試框架專家 ? ? ?一個(gè)全新的應(yīng)用需要經(jīng)過(guò)需求
    的頭像 發(fā)表于 11-01 21:10 ?704次閱讀
    【技術(shù)視界】<b class='flag-5'>揭秘</b>!<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>測(cè)試</b>效率提升30%如何達(dá)成