解讀汽車軟件測試之“軟件需求測試”
《解讀汽車軟件測試之“軟件單元與集成測試”》
接上文。
第二篇針對軟件需求測試。軟件需求測試有時也被稱為軟件功能測試或者直接簡稱為軟件測試。
1、概述
軟件需求測試是汽車軟件測試的第四級別。在此階段之后,通?梢詫④浖挥沈(yàn)收團(tuán)隊(duì)或交付團(tuán)隊(duì)進(jìn)行系統(tǒng)級測試。
測試目標(biāo):確保對集成的軟件進(jìn)行測試,以證明其符合軟件需求。
測試依據(jù):測試用例來源于軟件需求,而表現(xiàn)形式可能是一份獨(dú)立的軟件需求說明書,也可能是在系統(tǒng)級需求或設(shè)計(jì)里做了軟件標(biāo)識的部分。
測試對象:運(yùn)行在MCU或SOC上的集成軟件。
測試設(shè)計(jì):測試用例的設(shè)計(jì)可以選擇如下方法,等價類劃分(將輸入數(shù)據(jù)劃分為若干個等價類,從每個等價類中選取代表性的數(shù)據(jù)進(jìn)行測試,以縮減測試用例)、邊界值分析(重點(diǎn)關(guān)注輸入值的邊界條件,因?yàn)樵谶@些邊界附近,程序更容易出錯)、決策表(用于描述在不同條件下的系統(tǒng)行為,幫助測試人員理解并測試復(fù)雜的邏輯條件)、狀態(tài)轉(zhuǎn)換測試(關(guān)注系統(tǒng)在不同狀態(tài)之間的轉(zhuǎn)換,確保系統(tǒng)在狀態(tài)轉(zhuǎn)換時能夠正確工作)、錯誤猜測(基于測試人員的經(jīng)驗(yàn)和直覺,猜測可能的錯誤并設(shè)計(jì)相應(yīng)的測試用例)、負(fù)面測試(在某些情況下,測試人員需要考慮負(fù)面測試,即測試系統(tǒng)在不滿足正常工作條件時的行為,如故障注入)。
測試環(huán)境:汽車軟件開發(fā)中,我們常希望得到狀態(tài)比較好的硬件,甚至實(shí)車環(huán)境,但軟件需求測試并不追求于此,而且要盡量保證測試不受硬件的影響,因?yàn)橐獜睦碚撨壿媽用姹WC軟件需求被落實(shí)。比如,Matlab中基于模型的MIL測試環(huán)境、基于臺架或虛擬ECU的SIL測試環(huán)境。當(dāng)然,有時PC中無法模擬某些ECU或傳感器,也只能使用真實(shí)硬件。
進(jìn)入標(biāo)準(zhǔn):完成必要的前序測試(如冒煙)且無重大問題、相關(guān)的測試設(shè)備(如線束、ECU、CANoe硬件)就位、已review并發(fā)布的軟件需求測試用例與計(jì)劃。
退出標(biāo)準(zhǔn):已執(zhí)行對應(yīng)的測試用例、測試報(bào)告已完成、缺陷已錄入工具鏈。除了常規(guī)的退出外,出于成本的考慮,還會有測試中止,比如,基本功能確認(rèn)失效、發(fā)現(xiàn)的缺陷會影響其他功能測試結(jié)果有效性、對于發(fā)現(xiàn)的缺陷被修復(fù)后需重新測試的范圍,或者在測試過程中,得知新的軟硬件即將釋放,也應(yīng)綜合評估后中止。
負(fù)責(zé)角色:軟件測試人員。
2、測試用例選擇
完整的軟件需求測試會消耗大量的時間和資源,所以,我們需要在用例選擇上做一個平衡,不全測,或者不是每次交付全測。一般有如下關(guān)注點(diǎn)。
產(chǎn)品風(fēng)險大小:對于功能安全等級較高或者涉及到法律法規(guī)認(rèn)證等高風(fēng)險軟件,通常,需要投入更多的資源在影響分析與測試量上,這是一個理所當(dāng)然的決定。
不同配置下的功能是否適用:這需要我們有一個清晰的feature list或配置表,不適用的功能自然不需要測試。
功能是否實(shí)現(xiàn):即便本配置有該功能,功能的成熟度也得達(dá)到可測水平。
變更的范圍:結(jié)合接口文檔、模型、追溯關(guān)系等,對軟件組件自身的變更及其對未變更組件的影響進(jìn)行評估,并進(jìn)一步確認(rèn)測試范圍。有時,軟件外部的系統(tǒng)環(huán)境或者車輛的變更都會影響到測試用例的選擇。
歷史測試狀態(tài):舊的版本、相近配置、相近分支或者平臺主線的測試結(jié)果可能可以被當(dāng)前軟件沿用。一般在這里,也是基于變更來評估。
持續(xù)集成:為了確;A(chǔ)功能沒問題,我們可以設(shè)定一些關(guān)鍵的必測項(xiàng),也就是不管什么修改,都至少運(yùn)行這一套用例。結(jié)合自動化測試腳本,可以將其部署在持續(xù)集成流水線中。
全量測試:Delta測試很必要,但全量測試也不應(yīng)舍棄,我們可以根據(jù)產(chǎn)品和項(xiàng)目特點(diǎn)制定一些執(zhí)行全量測試的規(guī)則,比如,一年至少一次、切換分支基線后至少一次、發(fā)布D樣件之前至少測試一次、軟件上路試車前至少一次、發(fā)布10版軟件后至少一次等。
3、雙向可追溯性和一致性
所有軟件級別的可測試需求必須至少被一個測試用例覆蓋。
而為了檢查測試覆蓋率,必須能夠通過工具實(shí)現(xiàn)測試報(bào)告、測試規(guī)范與相應(yīng)需求之間的可追溯性,比較典型的是建立鏈接。
如果要發(fā)布的軟件版本的測試覆蓋率不完整,測試團(tuán)隊(duì)?wèi)?yīng)向項(xiàng)目經(jīng)理或客戶匯報(bào),并記錄偏差原因和進(jìn)行風(fēng)險評估。
一致性呢,一般也只能通過評審來盡量保證。比如,軟件測試人員應(yīng)該參與軟件需求的評審,而軟件需求開發(fā)人員則參與軟件測試的測試用例評審。
4、全文小結(jié)
本文首先從目標(biāo)、對象、環(huán)境、進(jìn)入/退出標(biāo)準(zhǔn)等方面概述了軟件需求測試的基本概念和要求。
由于完整的軟件需求測試會耗費(fèi)大量的成本,如何選擇測試用例進(jìn)行Delta測試就是一個重要的課題,所以第二部分對此進(jìn)行了介紹。
汽車軟件開發(fā)中,一般至少應(yīng)在這個層級及以上關(guān)注追溯。這也是本文最后一部分的內(nèi)容。
5、寫在最后
通常,處于軟件開發(fā)末端的軟件需求測試,承擔(dān)了不該承擔(dān)的攔截問題和保證交付的主要壓力,讓我們向他們致以歉意。
原文標(biāo)題 : 解讀汽車軟件測試之“軟件需求測試”
發(fā)表評論
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
圖片新聞
最新活動更多
-
免費(fèi)參會立即報(bào)名>> 7月30日- 8月1日 2025全數(shù)會工業(yè)芯片與傳感儀表展
-
精彩回顧立即查看>> 【在線研討會】普源精電--激光原理應(yīng)用與測試解決方案
-
精彩回顧立即查看>> 【工程師系列】汽車電子技術(shù)在線大會
-
精彩回顧立即查看>> 【線上直播】新能源汽車熱管理行業(yè)應(yīng)用新進(jìn)展
-
精彩回顧立即查看>> 【線上直播】西門子電池行業(yè)研討會-P4B如何加速電池開發(fā)
-
精彩回顧立即查看>> 【線下會議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會
推薦專題
- 1 獨(dú)家 | 江鈴福特并入長安福特,從此只有“一個福特”
- 2 螞蟻集團(tuán)+寧德時代:天使輪30億進(jìn)軍Robotaxi!
- 3 小鵬首款增程車曝光,大空間SUV要搶理想地盤?
- 4 哈啰要講新故事:30億入局Robotaxi,還拉來寧德時代
- 5 智能座艙:一塊屏幕的進(jìn)化史
- 6 自動駕駛科普十問:什么是自動駕駛?將給我們帶來哪些影響?
- 7 7月這5款新車即將重磅來襲,能打贏下半年第一場仗?
- 8 想買SUV的再等等,下半年即將亮相4款全新SUV,個個都看點(diǎn)十足!
- 9 對話楊彥鼎:智能化下半場,汽車是基礎(chǔ),核心是商業(yè)模式
- 10 比亞迪想當(dāng)兩輪電動車“賣鏟人”