第三篇針對(duì)系統(tǒng)集成與系統(tǒng)需求測(cè)試。
1 系統(tǒng)集成測(cè)試
-
測(cè)試目標(biāo):為集成的軟硬件符合系統(tǒng)架構(gòu)設(shè)計(jì)提供證據(jù),包括軟硬件接口和數(shù)據(jù)流,體現(xiàn)形式常為系統(tǒng)模型中的系統(tǒng)接口。廣義上,也包括一些機(jī)械接口,比如,ECU外殼與PCB的連接、接插件與PCB的連接。
-
測(cè)試依據(jù):如前所述,沒(méi)有單獨(dú)的系統(tǒng)集成測(cè)試用例,其或來(lái)源于軟件測(cè)試或來(lái)源于硬件測(cè)試,有時(shí)還會(huì)用到下一小節(jié)提到的系統(tǒng)需求測(cè)試。
-
測(cè)試對(duì)象/測(cè)試設(shè)計(jì)/測(cè)試環(huán)境/進(jìn)入標(biāo)準(zhǔn)/退出標(biāo)準(zhǔn)/負(fù)責(zé)角色:參考其他測(cè)試部分。
2 系統(tǒng)需求測(cè)試
-
測(cè)試目標(biāo):確保集成系統(tǒng)(含配置、標(biāo)定)經(jīng)過(guò)測(cè)試,以證明其符合系統(tǒng)需求且已準(zhǔn)備好交付。
-
測(cè)試依據(jù):測(cè)試用例來(lái)源于系統(tǒng)需求,而表現(xiàn)形式可能是一份獨(dú)立的系統(tǒng)需求說(shuō)明書(shū),也可能是在系統(tǒng)級(jí)需求或設(shè)計(jì)里做了系統(tǒng)測(cè)試標(biāo)識(shí)的部分。
-
測(cè)試對(duì)象:帶有硬件、軟件和標(biāo)定的ECU。
-
測(cè)試設(shè)計(jì):測(cè)試用例的設(shè)計(jì)可以選擇如下方法,等價(jià)類(lèi)劃分(將輸入數(shù)據(jù)劃分為若干個(gè)等價(jià)類(lèi),從每個(gè)等價(jià)類(lèi)中選取代表性的數(shù)據(jù)進(jìn)行測(cè)試,以縮減測(cè)試用例)、邊界值分析(重點(diǎn)關(guān)注輸入值的邊界條件,因?yàn)樵谶@些邊界附近,程序更容易出錯(cuò))、決策表(用于描述在不同條件下的系統(tǒng)行為,幫助測(cè)試人員理解并測(cè)試復(fù)雜的邏輯條件)、狀態(tài)轉(zhuǎn)換測(cè)試(關(guān)注系統(tǒng)在不同狀態(tài)之間的轉(zhuǎn)換,確保系統(tǒng)在狀態(tài)轉(zhuǎn)換時(shí)能夠正確工作)、錯(cuò)誤猜測(cè)(基于測(cè)試人員的經(jīng)驗(yàn)和直覺(jué),猜測(cè)可能的錯(cuò)誤并設(shè)計(jì)相應(yīng)的測(cè)試用例)、負(fù)面測(cè)試(在某些情況下,測(cè)試人員需要考慮負(fù)面測(cè)試,即測(cè)試系統(tǒng)在不滿(mǎn)足正常工作條件時(shí)的行為,如故障注入)。
-
測(cè)試環(huán)境:不同于軟件測(cè)試,該環(huán)節(jié)的測(cè)試要盡可能提供更接近實(shí)車(chē)的真實(shí)環(huán)境約束和外部激勵(lì),使用真實(shí)的傳感器、真實(shí)的對(duì)手件、真實(shí)的線(xiàn)束、真實(shí)的溫度等??傊?,盡量模擬實(shí)車(chē)的實(shí)際使用。
-
進(jìn)入標(biāo)準(zhǔn):完成必要的前序測(cè)試(如系統(tǒng)集成測(cè)試)且無(wú)重大問(wèn)題、相關(guān)的測(cè)試設(shè)備(如線(xiàn)束、ECU、傳感器)就位、已review并發(fā)布的軟硬件、已review并發(fā)布的系統(tǒng)需求測(cè)試用例與計(jì)劃。
-
退出標(biāo)準(zhǔn):已執(zhí)行對(duì)應(yīng)的測(cè)試用例、測(cè)試報(bào)告已完成、缺陷已錄入工具鏈。除了常規(guī)的退出外,出于成本的考慮,還會(huì)有測(cè)試中止,比如,基本功能確認(rèn)失效、發(fā)現(xiàn)的缺陷會(huì)影響其他功能測(cè)試結(jié)果有效性、對(duì)于發(fā)現(xiàn)的缺陷被修復(fù)后需重新測(cè)試的范圍,或者在測(cè)試過(guò)程中,得知新的軟硬件即將釋放,也應(yīng)綜合評(píng)估后中止。
-
負(fù)責(zé)角色:系統(tǒng)測(cè)試人員。
3 系統(tǒng)需求測(cè)試用例選擇
完整的系統(tǒng)需求測(cè)試會(huì)消耗大量的時(shí)間和資源,但發(fā)布前的最后測(cè)試又責(zé)任重大,所以,我們需要在用例選擇上做一個(gè)平衡,不全測(cè),或者不是每次交付全測(cè),而該測(cè)的也一個(gè)不能少。一般有如下關(guān)注點(diǎn)。
-
必測(cè)項(xiàng):為了控制對(duì)整車(chē)帶來(lái)的風(fēng)險(xiǎn),首先需要設(shè)定一些只要打開(kāi)軟件或動(dòng)了硬件就得做的必測(cè)項(xiàng)。必測(cè)項(xiàng)一般是涉及到ECU最基礎(chǔ)的功能或者直接影響產(chǎn)線(xiàn)或其他對(duì)手件聯(lián)調(diào)的部分。
-
產(chǎn)品風(fēng)險(xiǎn)大小:對(duì)于功能安全等級(jí)較高或者涉及到法律法規(guī)認(rèn)證等高風(fēng)險(xiǎn)軟件,通常,需要投入更多的資源在影響分析與測(cè)試量上,這是一個(gè)理所當(dāng)然的決定。
-
不同配置下的功能是否適用:這需要我們有一個(gè)清晰的feature list或配置表,不適用的功能自然不需要測(cè)試。
-
功能是否實(shí)現(xiàn):即便本配置有該功能,功能的成熟度也得達(dá)到可測(cè)水平。
-
變更的范圍:結(jié)合接口文檔、系統(tǒng)模型、追溯關(guān)系等,對(duì)功能自身的變更及其對(duì)未變更功能的影響進(jìn)行評(píng)估,并進(jìn)一步確認(rèn)測(cè)試范圍。有時(shí),ECU外部的系統(tǒng)環(huán)境或者車(chē)輛的變更都會(huì)影響到測(cè)試用例的選擇。
-
歷史測(cè)試狀態(tài):舊的版本、相近配置、相近分支或者平臺(tái)主線(xiàn)的測(cè)試結(jié)果可能可以被當(dāng)前軟件沿用。一般在這里,也是基于變更來(lái)評(píng)估。
-
全量測(cè)試:Delta測(cè)試很必要,但全量測(cè)試也不應(yīng)舍棄,我們可以根據(jù)產(chǎn)品和項(xiàng)目特點(diǎn)制定一些執(zhí)行全量測(cè)試的規(guī)則,比如,一年至少一次、切換新硬件或新軟件分支基線(xiàn)后至少一次、發(fā)布D樣件之前至少測(cè)試一次、ECU上路試車(chē)前至少一次、ECU進(jìn)入車(chē)廠產(chǎn)線(xiàn)前至少一次等。
4 雙向可追溯性和一致性
所有系統(tǒng)級(jí)別的可測(cè)試需求必須至少被一個(gè)測(cè)試用例覆蓋。
而為了檢查測(cè)試覆蓋率,必須能夠通過(guò)工具實(shí)現(xiàn)測(cè)試報(bào)告、測(cè)試規(guī)范與相應(yīng)需求之間的可追溯性,比較典型的是建立鏈接。
如果要發(fā)布的軟件版本的測(cè)試覆蓋率不完整,測(cè)試團(tuán)隊(duì)?wèi)?yīng)向項(xiàng)目經(jīng)理或客戶(hù)匯報(bào),并記錄偏差原因和進(jìn)行風(fēng)險(xiǎn)評(píng)估。
一致性呢,一般也只能通過(guò)評(píng)審來(lái)盡量保證。比如,系統(tǒng)測(cè)試人員應(yīng)該參與系統(tǒng)需求的評(píng)審,而feature owner則參與系統(tǒng)測(cè)試的測(cè)試用例評(píng)審。
5 全文小結(jié)
6 寫(xiě)在最后
系統(tǒng)測(cè)試比較“硬”,即與ECU、整車(chē)有更緊密的關(guān)系,而它也側(cè)面體現(xiàn)了汽車(chē)軟件的獨(dú)特性。
轉(zhuǎn)自水輕言