一種貫穿HIL仿真到診斷的汽車電子測(cè)試環(huán)境
圖5:信號(hào)一方面提供了消息和I/O線路間的抽象,另一方面提供了測(cè)試定義和仿真模型間的抽象
在ECU測(cè)試中,重要的并不僅僅是信號(hào)接口。只有在對(duì)ECU進(jìn)行較深層訪問(wèn)時(shí),對(duì)許多ECU功能的測(cè)試才會(huì)有意義。這樣的訪問(wèn)是由診斷和標(biāo)定接口提供的,它們通過(guò)ECU的現(xiàn)有總線接口接入。由于在通信進(jìn)程下已有既定的協(xié)議,使用簡(jiǎn)單的消息序列對(duì)這些接口進(jìn)行訪問(wèn)是沒(méi)有意義的。而使用適當(dāng)?shù)?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/診斷">診斷和標(biāo)定抽象才會(huì)更加方便與可靠。
在CANoe中,由來(lái)自CANdela工具的描述文件或者ODX描述文件負(fù)責(zé)診斷訪問(wèn)層的參數(shù)化。如果沒(méi)有對(duì)ECU實(shí)際診斷能力的描述,則可使用CANoe提供的針對(duì)KWP2000和UDS的一般描述。ECU專用的一般描述文件或診斷描述文件都為方便地訪問(wèn)那里定義的診斷服務(wù)提供了便利,開發(fā)人員也許會(huì)獲得與上文信號(hào)抽象中同樣的抽象數(shù)據(jù)和優(yōu)點(diǎn)。
通過(guò)CANoe中的測(cè)試腳本就可以使用測(cè)量與標(biāo)定協(xié)議CCP和XCP來(lái)訪問(wèn)ECU的內(nèi)部變量。測(cè)量和標(biāo)定工具CANape處理這些協(xié)議和需要的ECU描述文件(A2L)。CANoe通過(guò)COM接口控制CANape。這樣就達(dá)到了與上文的信號(hào)抽象及診斷抽象中相同的目標(biāo)。
高效的測(cè)試生成
對(duì)測(cè)試用例的深入研究表明:很多測(cè)試用例可以僅從幾個(gè)循環(huán)模式中生成。這種情況在網(wǎng)關(guān)ECU中尤為明顯:大多數(shù)測(cè)試用例用于檢查信號(hào)和報(bào)文的路由。也就是說(shuō),使用大量測(cè)試用例的唯一原因是存在著大量可能的輸入和輸出數(shù)據(jù)。但是同樣類型的模式也存在于其他類型的ECU中。這意味著許多功能的測(cè)試都是如此進(jìn)行的:首先使用合適的激勵(lì)使ECU進(jìn)入一個(gè)特殊狀態(tài),然后檢查進(jìn)入的狀態(tài)。這種測(cè)試用例的循環(huán)模式是:設(shè)置信號(hào)(激勵(lì)),等待最大容許響應(yīng)時(shí)間,然后檢查新ECU狀態(tài)下的信號(hào)。根據(jù)使用測(cè)試模式的經(jīng)驗(yàn),用戶可能識(shí)別幾個(gè)附加的運(yùn)行時(shí)模式,并從中生成許多測(cè)試用例。
上述模式表明,測(cè)試用例的生成還有被進(jìn)一步優(yōu)化的機(jī)會(huì)。除了提供典型的測(cè)試用例編程外,CANoe還為用戶提供了基于測(cè)試模式來(lái)定義測(cè)試用例的方式。因?yàn)闇y(cè)試步驟是已知的而且已被集成在了提供的模式中,所以就沒(méi)有必要再對(duì)模式內(nèi)容進(jìn)行編程了(圖6)。這樣一來(lái)測(cè)試用例的生成就被簡(jiǎn)化為定義目標(biāo)行為,包括任何需要的補(bǔ)充數(shù)據(jù),比如允許的建立時(shí)間。
圖6:使用模式抽象了測(cè)試用例的實(shí)際執(zhí)行從而簡(jiǎn)化了測(cè)試開發(fā)
測(cè)試用例的自動(dòng)生成是在有合適信息源的情況下有效創(chuàng)建測(cè)試的另一種方法。雖然生成的測(cè)試內(nèi)容必然受限于描述水平和來(lái)源的深度。然而當(dāng)通過(guò)測(cè)試覆蓋正式定義的ECU基本特性時(shí),這種測(cè)試卻提供了相當(dāng)有價(jià)值的支持。生成測(cè)試需要很少量的工作,這就使得測(cè)試能更快的進(jìn)行,從而更早地發(fā)現(xiàn)問(wèn)題。
Vector的工具鏈利用了這種測(cè)試生成器的方法。諸如DBC數(shù)據(jù)庫(kù)或CANdela定義等描述文件是生成器的資源(圖7)。在使用這些文件生成測(cè)試用例之后,CANoe就可以立即執(zhí)行了。因?yàn)闇y(cè)試腳本可能使用整個(gè)工具的基層結(jié)構(gòu),所以測(cè)試生成器通常都設(shè)計(jì)的非常簡(jiǎn)單。比如只需少量的工作生成器就可以從用戶定義的網(wǎng)關(guān)描述(例如數(shù)據(jù)庫(kù)形式或Excel電子表格)中創(chuàng)建恰當(dāng)?shù)臏y(cè)試用例。借助前文講到的測(cè)試模式,從客戶的特定數(shù)據(jù)到測(cè)試模式格式中間只有一步簡(jiǎn)單的轉(zhuǎn)換。用戶可直接創(chuàng)建這樣的生成器。Vector以項(xiàng)目服務(wù)的方式提供進(jìn)一步的支持。
圖7:使用生成器可以從完全不同的來(lái)源創(chuàng)建測(cè)試
汽車OEM和供應(yīng)商應(yīng)對(duì)增長(zhǎng)的ECU測(cè)試需求的唯一途徑是高效地創(chuàng)建測(cè)試和自動(dòng)化執(zhí)行測(cè)試。本文介紹的測(cè)試工具提供了一種被證明的、使用信號(hào)抽象/診斷/標(biāo)定/I/O接口的集成、測(cè)試模式概念和測(cè)試用例生成器來(lái)實(shí)現(xiàn)測(cè)試任務(wù)的解決方案。CANoe是一個(gè)測(cè)試ECU和網(wǎng)絡(luò)的高性能實(shí)時(shí)運(yùn)行環(huán)境。測(cè)試開發(fā)人員只需在自己的工作臺(tái)就能在早期創(chuàng)建和執(zhí)行測(cè)試,且僅需做少量工作。CANoe的開放接口促進(jìn)了全面的測(cè)試策略以及工具支持的測(cè)試管理的無(wú)縫集成。盡管一些用戶還把它當(dāng)作一種遠(yuǎn)景設(shè)想,但只要適當(dāng)?shù)丶蒀ANoe,也許這種技術(shù)在今天就可以達(dá)到成熟水平了。Vector正在持續(xù)地開發(fā)CANoe以適應(yīng)上述領(lǐng)域的應(yīng)用,并為用戶提供現(xiàn)代而高效的測(cè)試平臺(tái)支持。
評(píng)論