創(chuàng)建測(cè)試用例
為ECU制定測(cè)試計(jì)劃和測(cè)試用例需要設(shè)計(jì)和測(cè)試團(tuán)隊(duì)之間密切合作。對(duì)ECU要求進(jìn)行文檔記述是此過(guò)程的一個(gè)關(guān)鍵步驟。通常,這些要求可以分為三個(gè)高級(jí)類別:安全性、功能性和性能。
安全性
在產(chǎn)品設(shè)計(jì)中,我們應(yīng)用稱為故障模式和影響分析(FMEA)的過(guò)程來(lái)定性地識(shí)別可能的故障及其對(duì)系統(tǒng)的整體影響。FMEA是20世紀(jì)40年代末測(cè)試軍事系統(tǒng)的可靠性工程師開(kāi)發(fā)的,并沿用至今。當(dāng)識(shí)別出可能的故障時(shí),就會(huì)詳細(xì)描述故障并分配相應(yīng)的概率值、嚴(yán)重程度值以及計(jì)算出的總體風(fēng)險(xiǎn)值(概率和嚴(yán)重程度的乘積)。表2顯示了一個(gè)FMEA表的示例。

表2. 設(shè)計(jì)工程師創(chuàng)建故障模式和影響分析表作為有效的安全測(cè)試起點(diǎn)。 (表格由Quanser提供)
完成FMEA后,設(shè)計(jì)工程師會(huì)添加一些功能來(lái)減緩識(shí)別到的風(fēng)險(xiǎn)最大的故障。 例如,他們可以添加傳感器來(lái)檢測(cè)機(jī)械組件的故障,然后軟件會(huì)自動(dòng)將車輛切換到跛行回家模式,以防止進(jìn)一步損害。 測(cè)試這些補(bǔ)救措施是ECU驗(yàn)證和確認(rèn)的關(guān)鍵部分。如果要為每個(gè)故障設(shè)計(jì)相應(yīng)的測(cè)試用例,需要設(shè)計(jì)團(tuán)隊(duì)提供故障樹(shù)分析(FTA)。 圖10顯示一個(gè)FTA的例子。

圖10. 在創(chuàng)建對(duì)安全至關(guān)重要的測(cè)試用例時(shí),故障樹(shù)分析是一個(gè)重要的參考文檔。
使用FTA作為流程圖,您可以為每個(gè)具有足夠高風(fēng)險(xiǎn)的FMEA項(xiàng)目設(shè)計(jì)測(cè)試用例(“足夠高”的閾值由產(chǎn)品管理人員設(shè)定)??紤]到一些故障的危險(xiǎn)系數(shù)非常高,如果能在HIL仿真中對(duì)這些項(xiàng)目進(jìn)行測(cè)試,那將是一項(xiàng)非常有價(jià)值的投資。
在驗(yàn)證安全要求時(shí),必須確保測(cè)試準(zhǔn)確無(wú)誤,尤其是對(duì)于汽車和航空航天等必須符合功能安全標(biāo)準(zhǔn)的受管制行業(yè)。錯(cuò)誤的驗(yàn)證可能導(dǎo)致項(xiàng)目在投入生產(chǎn)和處于安全關(guān)鍵狀態(tài)時(shí),產(chǎn)生極為不利的后果。另外,由于電子復(fù)雜性的不斷增加,相同的時(shí)間內(nèi)需要進(jìn)行的測(cè)試增多,這就引入了自動(dòng)化驗(yàn)證需求。但是,我們?nèi)绾沃浪褂玫臏y(cè)試自動(dòng)化工具是否如預(yù)期的那樣正常工作?自行開(kāi)發(fā)測(cè)試自動(dòng)化工具的成本可能非常高,特別是在設(shè)計(jì)時(shí)需要確保工具的功能安全性。除此之外,還需要對(duì)整個(gè)驗(yàn)證過(guò)程進(jìn)行詳細(xì)且全面的文檔記述。正確地創(chuàng)建該文檔可能非常耗時(shí),因此所使用的任何工具必須能夠生成適當(dāng)?shù)墓ぜ?,這使得許多人認(rèn)為手動(dòng)工具認(rèn)證是唯一的方法。
使用在某些方面符合特定功能安全項(xiàng)目要求的COTS驗(yàn)證工具可以滿足這一需求,且可讓您對(duì)測(cè)試工具充滿信心。 NI聯(lián)盟合作伙伴CertTech針對(duì)NI測(cè)試自動(dòng)化軟件工具TestStand開(kāi)發(fā)了一款資格鑒定包。 TestStand是一款隨時(shí)可運(yùn)行的測(cè)試管理軟件,旨在幫助您更快地開(kāi)發(fā)、執(zhí)行和部署自動(dòng)化測(cè)試系統(tǒng)。由于CertTech工程師對(duì)受監(jiān)管行業(yè)和功能安全標(biāo)準(zhǔn)非常熟悉,他們很理解用戶迫切需要使用符合DO-178C和ISO 26262等標(biāo)準(zhǔn)的合格工具。TestStand鑒定包全面覆蓋了最常用功能的要求和測(cè)試種類,提供了驗(yàn)證指定要求的全套測(cè)試以及一個(gè)易于擴(kuò)展的框架,因此用戶可以根據(jù)需要擴(kuò)展測(cè)試覆蓋范圍。此外,CertTech還使用工具生成了所需的文檔,作為合規(guī)性的必要工件。這個(gè)文檔是必不可少的,因?yàn)槲覀兊目傮w目標(biāo)是確保驗(yàn)證過(guò)程的完全透明性,以便測(cè)試可以快速地重建。 借助鑒定包,CertTech將生成該文檔所需的時(shí)間縮短了95%。
一些較新的功能安全標(biāo)準(zhǔn),如ISO 26262和DO-178C要求項(xiàng)目使用“合格工具”來(lái)完成一些不需要人工審核的驗(yàn)證和確認(rèn)任務(wù),這使得使用像TestStand這樣的合格工具變得更為重要。這些標(biāo)準(zhǔn)需要您對(duì)未進(jìn)行適當(dāng)測(cè)試的工具的總體影響進(jìn)行評(píng)估,然后判定一個(gè)TCL值,也就是ISO 26262等標(biāo)準(zhǔn)所稱的工具置信度( Tool Confidence Level,TCL)。兩個(gè)主要因素決定了TCL:工具影響(TI)和工具錯(cuò)誤檢測(cè)(TD)。 TI1和TI2是TI的兩個(gè)級(jí)別。當(dāng)故障軟件工具不可能違反安全要求時(shí),則選擇TI1。其他所有情況均選擇TI2。 TD分為TD1、TD2和TD3。 TD1表示工具檢測(cè)錯(cuò)誤的置信度很高,TD2表示置信度中等,TD3表示置信度很低。測(cè)試工具的不同TCL等級(jí)意味著用戶所承擔(dān)的額外負(fù)擔(dān)也有所不同。

表3. ISO 26262標(biāo)準(zhǔn)中的工具置信度意味著對(duì)工具進(jìn)行鑒定時(shí)的工作量不同
TCL2工具對(duì)于用戶的價(jià)值最大,因?yàn)槿魏蜹CL1工具不是對(duì)安全沒(méi)有任何實(shí)質(zhì)影響,就是已經(jīng)具有高置信度,因而不需要額外的資格鑒定和文檔記述。而TCL3工具置信度較低,不管如何都需要一定程度的人工資格鑒定。
功能性
從高層次來(lái)說(shuō),ECU功能的測(cè)試非常簡(jiǎn)單。我們可以簡(jiǎn)單地逐個(gè)功能進(jìn)行測(cè)試;但是嵌入式軟件的詳細(xì)信息可以幫助發(fā)現(xiàn)需要嚴(yán)格測(cè)試的可能故障點(diǎn)。因此,功能測(cè)試的設(shè)計(jì)同樣需要與ECU設(shè)計(jì)團(tuán)隊(duì)密切合作。
此外,特定ECU的特性可以與狀態(tài)圖相結(jié)合來(lái)指導(dǎo)測(cè)試用例的設(shè)計(jì)。
性能
與安全和功能測(cè)試用例不同,設(shè)計(jì)基于性能的測(cè)試卻不需要與ECU設(shè)計(jì)團(tuán)隊(duì)協(xié)作。這些測(cè)試的開(kāi)發(fā)通常從用戶的角度來(lái)考慮。設(shè)計(jì)團(tuán)隊(duì)能接受的對(duì)于用戶來(lái)說(shuō)可能是無(wú)法接受的,因而這些反饋非常重要。幸好,有些用戶關(guān)心的性能問(wèn)題,例如每加侖英里數(shù)(MPG),可以根據(jù)聯(lián)邦政府定義的測(cè)試程序直接變?yōu)闇y(cè)試用例。圖11顯示了聯(lián)邦政府針對(duì)市區(qū)駕駛規(guī)定的車速隨時(shí)間的變化圖(FTP-75)。

圖11. 聯(lián)邦政府針對(duì)車輛MPG性能規(guī)定標(biāo)準(zhǔn)化測(cè)試,例如FTP-75駕駛工況。
另一種基于性能的測(cè)試是內(nèi)部性能,例如總線消息時(shí)序、ECU CPU利用率或ECU事件
響應(yīng)時(shí)間。這些類型的測(cè)試可能需要測(cè)試儀具有額外的功能,包括ECU校準(zhǔn)、調(diào)試數(shù)據(jù)鏈路(以讀取微處理器參數(shù))和/或過(guò)程數(shù)據(jù)日志時(shí)間戳發(fā)布(以驗(yàn)證可接受的總線消息行為)。有關(guān)使用NI DIAdem軟件進(jìn)行此分析的示例,請(qǐng)查看 時(shí)間相關(guān)的NI VeriStand數(shù)據(jù)日志。
需求創(chuàng)建、可追溯性和實(shí)現(xiàn)
需求可追溯性的重要性
為了確保嵌入式軟件和一般軟件的質(zhì)量,經(jīng)證明在軟件開(kāi)發(fā)過(guò)程的所有階段跟蹤需求工件是非常重要的。典型的軟件過(guò)程包括研究、定義、開(kāi)發(fā)、測(cè)試和部署。通過(guò)跟蹤來(lái)建立各種關(guān)系以及分析軟件更改的影響是軟件開(kāi)發(fā)過(guò)程的常見(jiàn)操作,尤其是對(duì)于故障成本非常高或故障可能導(dǎo)致生命危險(xiǎn)的領(lǐng)域。
經(jīng)證明,軟件項(xiàng)目如果缺乏足夠的需求可追溯性,就會(huì)出現(xiàn)較多嚴(yán)重影響系統(tǒng)安全性和可靠性的缺陷。即使是微小的變化,也可能產(chǎn)生很大的連鎖效應(yīng),導(dǎo)致最終產(chǎn)品無(wú)法完全滿足項(xiàng)目啟動(dòng)時(shí)確定的所有要求。
由于監(jiān)管機(jī)構(gòu)出于對(duì)安全問(wèn)題的考慮,以及企業(yè)不期望發(fā)生代價(jià)巨大的產(chǎn)品召回事件,因此兩者聯(lián)手,制定了大量關(guān)于需求管理的標(biāo)準(zhǔn)、最佳工程實(shí)踐和軟件工具。在未來(lái)的項(xiàng)目中,應(yīng)對(duì)需求可追溯性進(jìn)行硬性規(guī)定
測(cè)試自動(dòng)化
在現(xiàn)代測(cè)試系統(tǒng)中,從最上層的功能到測(cè)量?jī)x器均可自動(dòng)化。這是一個(gè)復(fù)雜的過(guò)程,涉及來(lái)自不同供應(yīng)商的多個(gè)工具和不同操作系統(tǒng),其中一些任務(wù)可能需要在實(shí)時(shí)HIL系統(tǒng)上執(zhí)行。因此需要盡早與工具提供商確認(rèn),以確保兼容性。測(cè)試自動(dòng)化是經(jīng)濟(jì)高效地確保需求可追溯性的關(guān)鍵因素。
除了執(zhí)行測(cè)試腳本來(lái)驅(qū)動(dòng)虛擬汽車之外,具有前瞻性思維的組織還會(huì)使用測(cè)試自動(dòng)化框架來(lái)進(jìn)一步實(shí)現(xiàn)測(cè)試執(zhí)行和自動(dòng)化。借助這些框架,就可以批量運(yùn)行測(cè)試,對(duì)測(cè)試數(shù)據(jù)執(zhí)行后期處理和分析,并生成報(bào)告,且運(yùn)行時(shí)無(wú)需任何人工交互。只需配置測(cè)試系統(tǒng),測(cè)試執(zhí)行就可以獨(dú)立完成。測(cè)試自動(dòng)化可自動(dòng)將產(chǎn)品需求和測(cè)試用例鏈接到測(cè)試結(jié)果,幫助工程師更有效地進(jìn)行溝通。這樣就無(wú)需人工對(duì)測(cè)試數(shù)據(jù)與需求進(jìn)行比較,從而提高了工作效率。
ECU測(cè)試團(tuán)隊(duì)的一個(gè)高級(jí)目標(biāo)是開(kāi)發(fā)一個(gè)提供足夠測(cè)試覆蓋率的測(cè)試用例庫(kù)。這個(gè)庫(kù)是確保ECU質(zhì)量的關(guān)鍵因素。隨著測(cè)試用例庫(kù)不斷擴(kuò)展,測(cè)試可以設(shè)置為連夜自動(dòng)運(yùn)行或者在軟件發(fā)生變化時(shí)自動(dòng)觸發(fā)運(yùn)行回歸測(cè)試。及時(shí)的回歸測(cè)試報(bào)告可以避免最新出現(xiàn)的嵌入式軟件錯(cuò)誤持續(xù)數(shù)周并逐漸變得難以修復(fù)。