一種貫穿HIL仿真到診斷的汽車(chē)電子測試環(huán)境
圖3:測試在所有開(kāi)發(fā)階段都是不可或缺的
除了連接不同的測試階段,開(kāi)發(fā)和測試活動(dòng)也必須相互聯(lián)系且互相適應。應當將測試理解為開(kāi)發(fā)的一個(gè)組成部分,它需要使用恰當的方法和工具來(lái)支持。在程序和結構上得到保證之外,必須保證這一點(diǎn)。在此,重要的是測試與開(kāi)發(fā)一起進(jìn)行,而不是只在要求的正式確認階段進(jìn)行。理想的情況是,可以直接在ECU開(kāi)發(fā)者的工作地點(diǎn)利用現有的資源直接進(jìn)行測試。
為此,CANoe提供了一個(gè)用來(lái)執行測試的運行時(shí)環(huán)境,并可以與殘余總線(xiàn)仿真和分析功能并行使用。該流程非常容易建立,尤其是在開(kāi)發(fā)者已經(jīng)使用CANoe進(jìn)行殘余總線(xiàn)仿真和總線(xiàn)通信分析的情況下。
CANoe的測試組件可以手動(dòng)、半自動(dòng)和完全自動(dòng)化的完成測試。開(kāi)發(fā)者可以從簡(jiǎn)單測試入手,然后對它們進(jìn)行擴展和完善。通常,復雜測試的創(chuàng )建過(guò)程是確認部門(mén)的任務(wù),他們要在開(kāi)發(fā)者的測試上建立他們的測試。
這種測試的一個(gè)重要基礎是殘余總線(xiàn)仿真。理想情況下這種仿真并非由手工建立,而是從系統的描述數據庫中自動(dòng)生成和參數化的。實(shí)際工作由所謂的建模DLL(比如交互層、網(wǎng)絡(luò )管理等)完成,它們是隨工具一起提供的或者是由Vector作為OEM專(zhuān)用建模包提供的。殘余總線(xiàn)仿真為模擬節點(diǎn)提供的信號可以直接從測試腳本中獲取,也可以手工方式激勵或添加。
與測試階段中系統化的計劃、執行和歸檔活動(dòng)相比,伴隨開(kāi)發(fā)的測試通常省略了正式的執行和歸檔。然而,這些測試對提高整體質(zhì)量做出了實(shí)質(zhì)性貢獻,因為他們賦予了開(kāi)發(fā)者為后續的測試階段提供更穩定的產(chǎn)品的能力。
成熟度評估和誤差分析
在開(kāi)發(fā)過(guò)程中,為了評估ECU的成熟度,需要對所有執行過(guò)的測試進(jìn)行全面的評價(jià)。除了要考慮單個(gè)測試結果在可靠性和相關(guān)性方面的質(zhì)量,更重要的是采用適當的測試來(lái)全面覆蓋所要求的特性。因此非正式的測試結果對成熟度分析也是有幫助的。前提條件是(除記錄測試過(guò)程外)使用兼容的配置管理。從完成面向質(zhì)量的、結構化的開(kāi)發(fā)過(guò)程的角度來(lái)說(shuō),這也是十分必要的。
無(wú)論在何時(shí)何地(測試實(shí)驗室或工作臺上),無(wú)需用戶(hù)或測試用例開(kāi)發(fā)人員進(jìn)行干涉,使用CANoe執行測試時(shí)都會(huì )生成一個(gè)測試記錄。這樣在進(jìn)行伴有測試的開(kāi)發(fā)時(shí)就不需要做額外的工作。用于測試記錄的XML是一種開(kāi)放格式,以使其它工具使用以對結果進(jìn)行更深入的處理。例如在進(jìn)行成熟度分析時(shí)可以使用一個(gè)測試管理系統來(lái)評價(jià)測試記錄。
這項工作的本質(zhì)是測試結果到測試用例、測試用例到需求的映射。使用唯一的標識符(比如一個(gè)需求ID)可以很容易地實(shí)現這一點(diǎn),測試用例開(kāi)發(fā)者在單個(gè)測試用例中會(huì )引用它。CANoe會(huì )自動(dòng)將該標識符復制到測試記錄中,這樣所有測試用例、測試結果和需求就可以明確地關(guān)聯(lián)起來(lái)(圖4)。
圖4:測試用例和測試結果由ID明確地引用
基于上述原因,測試臺上的測試步驟以及每一個(gè)與DUT間的交互動(dòng)作都將被強制記錄,特別是總線(xiàn)通信。在分析階段,CANoe允許重放和分析任何需要的記錄(日志)。從而有可能在開(kāi)發(fā)場(chǎng)所使用與測試臺上相同的測試系統以從中受益,這樣開(kāi)發(fā)者就可以獨立地再現生成錯誤的測試用例。在很多情況下,甚至是有必要進(jìn)行簡(jiǎn)化時(shí)(比如為了避免選擇不存在的測量硬件)都可以執行相關(guān)測試用例。
信號抽象和診斷
抽象是處理軟件開(kāi)發(fā)和系統設計中復雜度問(wèn)題時(shí)普遍采用的重要方法。它也可用來(lái)處理測試。ECU中不斷增多的功能不僅增加了系統的復雜度,還需要更廣泛和復雜的測試。選擇正確的抽象層組成測試不僅會(huì )影響創(chuàng )建測試用例所需要的工作量、進(jìn)而影響成本,而且會(huì )影響測試用例的質(zhì)量。就像所有其它軟件組件一樣,測試用例本身也可能會(huì )存在錯誤,應該在使用之前進(jìn)行檢查。此外,還需要必要的維護,比如適應需求的改變和修訂測試用例。
信號層抽象是測試ECU功能的常用方法,這也是為什么在ECU中實(shí)際的應用程序通常會(huì )基于信號抽象的原因(圖5)。例如,在一個(gè)CAN系統中,ECU交互層提供了信號抽象。這正是CANoe使用交互層的方式;利用網(wǎng)絡(luò )描述中的信息,它將自身參數化。網(wǎng)絡(luò )描述同樣也可用于創(chuàng )建ECU軟件。這保證了ECU和測試環(huán)境使用相同的抽象層從而在兩者間形成最佳的協(xié)調。
評論