高效的汽車電子測試
在CANoe中,由來自CANdela工具的描述文件或者ODX描述文件負(fù)責(zé)診斷訪問層的參數(shù)化。如果沒有對ECU實(shí)際診斷能力的描述文件,那么可以使用CANoe提供的針對KWP2000和UDS的一般描述。ECU專用的一般描述文件或診斷描述文件都為方便地訪問那里定義的診斷服務(wù)提供了便利。有可能獲得與前文所述的信號抽象一樣的抽象和優(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)。
6 高效的測試生成
對測試用例的精密研究顯示:很多測試用例可以僅從幾個(gè)循環(huán)模式中生成。在網(wǎng)關(guān)ECU中這一點(diǎn)更為明顯:大多數(shù)測試用例用于檢查信號和報(bào)文的路由。最終,使用大量測試用例的唯一原因是存在大量可能的輸入和輸出數(shù)據(jù)。但是同樣類型的模式也存在于其他類型的ECU中。抽象地說,這意味著許多功能是如此進(jìn)行測試的:首先使用合適的激勵(lì)使ECU進(jìn)入一個(gè)特殊狀態(tài),然后檢查進(jìn)入的
狀態(tài)。這種測試用例的循環(huán)模式是:設(shè)置信號(激勵(lì)),等待最大容許響應(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í)間。
很明顯,提供的測試模式位于前文所述的信號抽象之上,借助關(guān)聯(lián)的數(shù)據(jù)庫允許對信號、報(bào)文等的符號化訪問。也可能使用診斷服務(wù)或I/O信號。簡而言之:整個(gè)CANoe的測試基層結(jié)構(gòu)可與測試模式共用。如果有的需求超出了這些能力,仍然可以選擇測試用例編程。
[圖6:使用模式抽象了測試用例的實(shí)際執(zhí)行從而簡化了測試開發(fā)]
測試用例的自動生成是在有合適信息源的情況下有效創(chuàng)建測試的另一種方法。生成的測試內(nèi)容必然受限于描述水平和來源的深度。然而,生成提供了有價(jià)值的支持,主要是當(dāng)通過測試覆蓋正式定義的ECU基本特性時(shí)。生成測試需要相當(dāng)?shù)偷墓ぷ髁浚@導(dǎo)致能更快地進(jìn)行測試從而可能更早地發(fā)現(xiàn)不良的動向。
[圖7: 使用生成器可以從完全不同的來源創(chuàng)建測試]
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 總結(jié)
汽車OEM和供應(yīng)商應(yīng)對增長的ECU測試需求的唯一途徑是高效地創(chuàng)建測試和自動化執(zhí)行測試。本文介紹的測試工具提供了一種被證明的使用信號抽象、集成的診斷、標(biāo)定和I/O接口、測試模式概念和測試用例生成器來實(shí)現(xiàn)測試任務(wù)的解決方案。CANoe是一個(gè)高性能的測試ECU和網(wǎng)絡(luò)的運(yùn)行時(shí)環(huán)境。使用該工具在開發(fā)者的工作地點(diǎn)、不需要做多少工作就能在早期創(chuàng)建和執(zhí)行測試。CANoe的開放接口促進(jìn)了全面的測試策略和受工具支持的測試管理的無縫集成。盡管一些用戶還把它當(dāng)作一種遠(yuǎn)景設(shè)想,然而恰當(dāng)?shù)丶蒀ANoe可能在今天就可以確定成熟度了。Vector正在持續(xù)地開發(fā)CANoe適應(yīng)這些領(lǐng)域的使用,并為用戶提供現(xiàn)代而高效的測試平臺支持。
評論