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