驗(yàn)證是ISO26262中關(guān)于成果認(rèn)可最重要的環(huán)節(jié)。
ISO26262對(duì)驗(yàn)證(Verification)的定義是檢查對(duì)象是否滿足特定的要求,驗(yàn)證的形式包括了驗(yàn)證評(píng)審(verification review)、走查(walk-through),檢查(inspection)、驗(yàn)證測(cè)試(verification testing)、模擬仿真(simulation)、原型機(jī)驗(yàn)證(prototyping)和分析(analysis包括安全分析、控制流程分析、數(shù)據(jù)流分析等等)。
從驗(yàn)證本身的系統(tǒng)性和正式程度從小到大排序,驗(yàn)證的各個(gè)形式可以排為檢查、走查、模擬仿真、原型機(jī)驗(yàn)證、分析、驗(yàn)證評(píng)審。
驗(yàn)證在功能安全活動(dòng)不同階段的對(duì)象也有差異,比如在產(chǎn)品概念提出階段,驗(yàn)證的對(duì)象主要為:依據(jù)危害風(fēng)險(xiǎn)評(píng)估導(dǎo)出的安全目標(biāo)以及根據(jù)安全目標(biāo)定義的功能安全概念,如場(chǎng)景危害識(shí)別是否適用、相關(guān)性定義是否正確、是否與其他相關(guān)項(xiàng)定義的危害和風(fēng)險(xiǎn)評(píng)估一致、危害事件是否覆蓋實(shí)際應(yīng)用等。如,在產(chǎn)品開(kāi)發(fā)階段,驗(yàn)證主要是針對(duì)硬件設(shè)計(jì)的架構(gòu),驗(yàn)證其需求規(guī)范、架構(gòu)設(shè)計(jì)、模型或代碼是否符合安全要求。
驗(yàn)證以建立驗(yàn)證計(jì)劃作為開(kāi)始,如上述的產(chǎn)品各個(gè)開(kāi)發(fā)階段的驗(yàn)證都是從驗(yàn)證計(jì)劃開(kāi)始的。
驗(yàn)證計(jì)劃要包括1)所需驗(yàn)證的對(duì)象:組成待驗(yàn)證的成果清單,要考慮成果的復(fù)雜性,進(jìn)行適當(dāng)?shù)牟鸱郑?/span>
2)針對(duì)每個(gè)待驗(yàn)證的成果,確定相應(yīng)的驗(yàn)證目的,確定驗(yàn)證目的時(shí)要充分借鑒前期的驗(yàn)證經(jīng)驗(yàn),如維修的歷史數(shù)據(jù)、已經(jīng)使用的經(jīng)歷等,這可以指導(dǎo)驗(yàn)證目的和制定的驗(yàn)證方法的剪裁;
3)對(duì)工作成果采用什么樣的驗(yàn)證方法,評(píng)審/檢查/走查/測(cè)試/仿真/分析,驗(yàn)證方法最終要細(xì)化為“驗(yàn)證規(guī)范"作為驗(yàn)證支持依據(jù),同時(shí)要保證驗(yàn)證方法是充分的,必要時(shí)要進(jìn)行幾種驗(yàn)證形式的組合;
4)如果采用的是測(cè)試或者模擬作為驗(yàn)證方法,則要明確驗(yàn)證的環(huán)境和驗(yàn)證所需的設(shè)備,要充分考慮驗(yàn)證技術(shù)的成熟度,不能采用的未經(jīng)過(guò)經(jīng)驗(yàn)證明有效性的方法和設(shè)備進(jìn)行驗(yàn)證;
5)分配驗(yàn)證資源;
6)驗(yàn)證過(guò)程中出現(xiàn)異常時(shí),明確應(yīng)該采取或建議采取的閉環(huán)活動(dòng);
7)對(duì)于哪些已經(jīng)經(jīng)過(guò)驗(yàn)證后,進(jìn)行了變更的成果,制定回歸策略,即對(duì)驗(yàn)證計(jì)劃的剪裁(是部分重復(fù)驗(yàn)證,還是全部重復(fù)驗(yàn)證)。
對(duì)于驗(yàn)證方法的細(xì)化就形成了驗(yàn)證規(guī)范,驗(yàn)證規(guī)范最需要細(xì)化的是測(cè)試用例。
測(cè)試用例應(yīng)具有
1)測(cè)試用例的識(shí)別性,即該測(cè)試應(yīng)用到哪項(xiàng)成果,什么目的驗(yàn)證;
2)測(cè)試用例針對(duì)的是哪個(gè)版本的工作成果;
3)對(duì)驗(yàn)證目標(biāo)采用何種預(yù)處理或配置,比如將MCU應(yīng)用在什么場(chǎng)景下,配置什么功能或系統(tǒng),如果對(duì)于通用型的要素,其會(huì)在很多場(chǎng)合應(yīng)用,則需將要素置于一種通用的(覆蓋多種應(yīng)用場(chǎng)景的)條件下進(jìn)行驗(yàn)證;
4)環(huán)境條件,就是與測(cè)試過(guò)程或模擬過(guò)程相關(guān)的物理?xiàng)l件,比如溫度。
5)驗(yàn)證過(guò)程中要監(jiān)測(cè)的行為,比如輸出數(shù)據(jù),可接受的范圍,時(shí)間或容差的特性,測(cè)試時(shí)需要考核前后數(shù)據(jù)的變化趨勢(shì),就需要對(duì)初始值進(jìn)行明確的定義;有可能存在不同的測(cè)試用例下,會(huì)存在多種預(yù)處理、配置或環(huán)境條件和規(guī)范,這時(shí)候可以采用一種明確能覆蓋多種測(cè)試用例的驗(yàn)證配置進(jìn)行驗(yàn)證。
6)測(cè)試通過(guò)和不通過(guò)的判據(jù)。
測(cè)試用例可以根據(jù)測(cè)試設(shè)備和測(cè)試環(huán)境、邏輯和時(shí)序關(guān)系、所利用的資源進(jìn)行分組,比如對(duì)于可以分為回歸測(cè)試用例或者完整的測(cè)試用例。
驗(yàn)證要求第二/三方驗(yàn)證,即不能用工作成果的完成人進(jìn)行驗(yàn)證。驗(yàn)證完成后要對(duì)驗(yàn)證的結(jié)果進(jìn)行評(píng)估。
驗(yàn)證結(jié)果評(píng)估需包括1)評(píng)估驗(yàn)證的成果是不是ONLY的;
2)評(píng)估驗(yàn)證計(jì)劃和驗(yàn)證規(guī)范的完整性和適用性;
3)評(píng)估驗(yàn)證過(guò)程中所用到的環(huán)境配置、驗(yàn)證工具及標(biāo)定數(shù)據(jù)是否符合要求;
4)評(píng)估驗(yàn)證結(jié)果與預(yù)期結(jié)果的一致性;
5)綜合給出驗(yàn)證通過(guò)或不通過(guò),并對(duì)于不通過(guò)的給出具體的理由以及整改建議;
6)如果存在驗(yàn)證過(guò)程未按照驗(yàn)證計(jì)劃或規(guī)范執(zhí)行,需要給出理由。
單一層級(jí)的驗(yàn)證,比如只針對(duì)開(kāi)發(fā)的硬件進(jìn)行功能、性能等安全性的評(píng)估,并不能提供硬件滿足安全要求的充分證據(jù),比如:硬件與其他接口兼容性、硬件與其他已有硬件的匹配性、硬件對(duì)整車安全的貢獻(xiàn)性、硬件開(kāi)發(fā)的種種假設(shè)證明的有效性等等,這些都無(wú)法單獨(dú)在硬件驗(yàn)證的層面進(jìn)行評(píng)估。
因此,為充分評(píng)估開(kāi)發(fā)硬件的功能安全,往往要通過(guò)將硬件與軟件、其他要素、系統(tǒng)甚至整車集成起來(lái),按照“驗(yàn)證原型機(jī)測(cè)試"的標(biāo)準(zhǔn)去考核。ISO26262給出集成測(cè)試的相關(guān)規(guī)定。
集成與驗(yàn)證的相關(guān)規(guī)定關(guān)于集成測(cè)試,某一開(kāi)發(fā)的硬件要通過(guò)三個(gè)階段集成至整車系統(tǒng),完成安全目標(biāo)的確認(rèn)。
但是從集成的難度和所需要的資源的考慮,集集成階段越高,集成驗(yàn)證的難度越高,占用資源越多,因此盡可能選擇低階段的集成策略。
如何選擇集成驗(yàn)證的策略:
1)明確需要驗(yàn)證測(cè)試的目標(biāo),比如要驗(yàn)證安全機(jī)制對(duì)傳感器的診斷,EDC對(duì)數(shù)據(jù)錯(cuò)誤的診斷和控制等;
2)定義這些承載這些測(cè)試目標(biāo)的相關(guān)項(xiàng)和測(cè)試的要求(預(yù)期的行為,集成的等級(jí)),比如驗(yàn)證開(kāi)發(fā)的硬件與接口的兼容性,就必須考慮硬件與系統(tǒng)的集成;
3)確定了測(cè)試的目標(biāo)和承載這些目標(biāo)的相關(guān)項(xiàng)和測(cè)試要求,要進(jìn)行梳理,確保每一條測(cè)試的目標(biāo)都能夠進(jìn)行至少一次地驗(yàn)證,比如某項(xiàng)測(cè)試目標(biāo)無(wú)法在軟硬件集成階段進(jìn)行驗(yàn)證,則需要到系統(tǒng)集成階段進(jìn)行驗(yàn)證;
4)要考慮硬件開(kāi)發(fā)概念階段是否采用了假設(shè),如SEooC的開(kāi)發(fā),是基于應(yīng)用假設(shè)為前提的,對(duì)這種假設(shè)需要在系統(tǒng),甚至是整車的層面進(jìn)行集成驗(yàn)證;
5)如果系統(tǒng)集成時(shí),存在多個(gè)可能的集成變體,即所謂的多配置,那么我們就要充分評(píng)估,在未來(lái)整車量產(chǎn)時(shí),可能采用哪些系統(tǒng)配置,盡可能地包絡(luò)這些系統(tǒng)配置(或形成系統(tǒng)的集合)完成系統(tǒng)級(jí)的驗(yàn)證。
確定目標(biāo)和相應(yīng)的集成策略后,根據(jù)需要選擇相對(duì)應(yīng)的方法,ISO26262 part4 第7.4.2-7.4.4給出了三個(gè)集成階段的測(cè)試方法,總體上包括:
1)功能和非功能的測(cè)試:對(duì)集成硬件的功能和性能對(duì)照規(guī)格書(shū)要求的測(cè)試;
2)內(nèi)外接口測(cè)試:包括模擬,數(shù)字輸入輸出測(cè)試、邊界測(cè)試和等價(jià)類測(cè)試,評(píng)估接口功能兼容性、時(shí)序容錯(cuò)性。
1)故障注入測(cè)試:采用特殊方法向運(yùn)行中的測(cè)試對(duì)象注入故障,如騷擾、錯(cuò)誤數(shù)據(jù)、延遲時(shí)序等;
2)背靠背測(cè)試:在具有仿真模型和結(jié)果的情況下,采用實(shí)際試驗(yàn)對(duì)仿真模型和結(jié)果的差異進(jìn)行評(píng)估和分析。
1)錯(cuò)誤猜測(cè)法測(cè)試:類似故障注入法,基于專家知識(shí)和經(jīng)驗(yàn)數(shù)據(jù)預(yù)測(cè)被測(cè)對(duì)象可能錯(cuò)在的錯(cuò)誤,然后設(shè)計(jì)評(píng)估方法去檢查這些錯(cuò)誤;
2)來(lái)自現(xiàn)場(chǎng)經(jīng)驗(yàn)的測(cè)試:直接從使用現(xiàn)場(chǎng)采集的數(shù)據(jù),如試車時(shí)的運(yùn)行數(shù)據(jù);
3)長(zhǎng)期測(cè)試:類似來(lái)自現(xiàn)場(chǎng)經(jīng)驗(yàn)的測(cè)試,只是將普通用戶作為測(cè)試者,收集實(shí)際使用條件下的數(shù)據(jù)。
1)資源使用測(cè)試:對(duì)集成系統(tǒng)所能容納的負(fù)載,代碼,功率等能力進(jìn)行測(cè)試;
2)壓力測(cè)試:測(cè)試對(duì)象在高負(fù)載和惡劣環(huán)境下是否能夠長(zhǎng)期穩(wěn)定運(yùn)行的能力進(jìn)行測(cè)試。