傳統(tǒng)汽車正在向互聯(lián)網(wǎng)發(fā)展
在汽車行業(yè)向“新四化”趨勢(shì)的推動(dòng)下,傳統(tǒng)分布式的EE架構(gòu)向域集中式架構(gòu)發(fā)展,伴隨著域控制器概念的提出,軟件也將根據(jù)相應(yīng)功能域分類集成,域控制器的代碼量也與日俱增。SOA的開發(fā)模式實(shí)現(xiàn)各軟件功能模塊間解耦,幫助軟件團(tuán)隊(duì)縮短開發(fā)周期,快速迭代軟件版本。OTA升級(jí)技術(shù)將軟件快速部署到各個(gè)域控制器,為軟件產(chǎn)品的快速迭代提供保障。隨著開發(fā)模式的變革,迭代測(cè)試變得周期短而頻繁,持續(xù)測(cè)試將為軟件產(chǎn)品提供快速的質(zhì)量保證。
什么是持續(xù)測(cè)試?
A
持續(xù)測(cè)試來源于DevOps(Development和Operations)中提倡的CI(持續(xù)集成)- CO(持續(xù)部署) - CT(持續(xù)測(cè)試)- CD(持續(xù)交付),通過流程和持續(xù)集成/持續(xù)測(cè)試工具平臺(tái),自動(dòng)化“軟件交付”,使得構(gòu)建、測(cè)試、發(fā)布軟件能夠更加快捷、頻繁和可靠。
汽車行業(yè)為什么需要持續(xù)測(cè)試?
傳統(tǒng)汽車軟件開發(fā)模型中,測(cè)試方法包括手動(dòng)測(cè)試和手動(dòng)編寫測(cè)試腳本后的自動(dòng)化/半自動(dòng)化測(cè)試。其特點(diǎn)是以“人”為中心,需要測(cè)試工程師重復(fù)性的手動(dòng)測(cè)試、不斷更新測(cè)試腳本或配置、記錄測(cè)試問題和測(cè)試狀態(tài)跟蹤。測(cè)試的周期和質(zhì)量,依賴于測(cè)試工程師的數(shù)量、經(jīng)驗(yàn)?zāi)芰凸ぞ邤?shù)量。

圖1 傳統(tǒng)測(cè)試流程持續(xù)測(cè)試的方法以人、測(cè)試流程、測(cè)試工具的結(jié)合,通過一系列測(cè)試工具鏈的組合與自動(dòng)化測(cè)試工程結(jié)合,提交新版軟件時(shí)即為測(cè)試流程的開始,快速找到軟件缺陷,解決測(cè)試和開發(fā)在時(shí)間上的矛盾,幫助軟件開發(fā)團(tuán)隊(duì)實(shí)現(xiàn)軟件產(chǎn)品速度與質(zhì)量的目標(biāo)。本文將從持續(xù)測(cè)試角度,分享基于Jenkins和Vector軟硬件實(shí)現(xiàn)的實(shí)戰(zhàn)經(jīng)驗(yàn)。
測(cè)試方案簡(jiǎn)介
系統(tǒng)框架

圖2 系統(tǒng)框圖
主要功能
測(cè)試流程管理
?測(cè)試項(xiàng)目管理模塊、測(cè)試需求管理模塊、測(cè)試用例管理模塊、測(cè)試任務(wù)管理模塊、測(cè)試缺陷管理模塊、測(cè)試報(bào)告管理模塊、遠(yuǎn)程設(shè)備管理模塊等
持續(xù)驗(yàn)證調(diào)度管理
?測(cè)試對(duì)象、測(cè)試設(shè)備調(diào)度管理、代碼版本庫調(diào)用管理、測(cè)試流程搭建及執(zhí)行
IDL腳本轉(zhuǎn)換工具集成
?通過測(cè)試數(shù)據(jù)文件生成測(cè)試腳本
測(cè)試腳本/測(cè)試數(shù)據(jù)版本控制管理
?基于GitLab/SVN或自建數(shù)據(jù)庫管理測(cè)試腳本/測(cè)試數(shù)據(jù),構(gòu)建有效的知識(shí)庫
數(shù)據(jù)流引擎驅(qū)動(dòng)測(cè)試數(shù)據(jù)分析
?基于測(cè)試數(shù)據(jù)進(jìn)行分析,獲得測(cè)試結(jié)果
測(cè)試報(bào)告引擎自動(dòng)測(cè)試報(bào)告
?基于測(cè)試數(shù)據(jù)分析結(jié)果生成定制測(cè)試報(bào)告
案例介紹
基于Jenkins和Vector工具實(shí)現(xiàn)CAN/CAN FD/LIN/FlexRay/ETH網(wǎng)絡(luò)和診斷測(cè)試。

圖3 CT流程持續(xù)測(cè)試的核心在于把自動(dòng)化測(cè)試的各個(gè)環(huán)節(jié)和流程自動(dòng)地、智能地組織起來,并提供狀態(tài)查詢、通知等服務(wù),實(shí)現(xiàn)步驟如下:
?測(cè)試計(jì)劃:根據(jù)開發(fā)人員提交的軟件版本建立對(duì)應(yīng)測(cè)試計(jì)劃
?測(cè)試環(huán)境搭建:測(cè)試工具鏈與測(cè)試對(duì)象連接,滿足測(cè)試環(huán)境要求
?更新測(cè)試用例:建立對(duì)應(yīng)軟件版本的測(cè)試用例庫,并進(jìn)行版本管理,方便回歸測(cè)試
?測(cè)試觸發(fā):監(jiān)控開發(fā)人員提交狀態(tài),提交結(jié)束即為測(cè)試開始,采用Jenkins管理測(cè)試執(zhí)行的流程
?測(cè)試樣件/設(shè)備管理:自動(dòng)從測(cè)試樣件/設(shè)備庫中選擇可執(zhí)行測(cè)試的環(huán)境,提高測(cè)試資源的利用率
?自動(dòng)化測(cè)試用例腳本:根據(jù)標(biāo)準(zhǔn)化的測(cè)試用例和數(shù)據(jù)庫,自動(dòng)生成可測(cè)試工程
?數(shù)據(jù)采集和分析:用自動(dòng)化測(cè)試工程代替測(cè)試工程師手動(dòng)執(zhí)行測(cè)試,既縮短測(cè)試周期,又避免了人工測(cè)試產(chǎn)生的誤測(cè)漏測(cè)等問題;分析測(cè)試數(shù)據(jù),自動(dòng)生成測(cè)試報(bào)告與測(cè)試問題,避免測(cè)試工程師手動(dòng)錄入測(cè)試問題的重復(fù)性勞動(dòng)
?測(cè)試報(bào)告版本管理:測(cè)試用例、測(cè)試工程、測(cè)試報(bào)告、測(cè)試數(shù)據(jù)與軟件版本相對(duì)應(yīng),方便測(cè)試問題追溯與定位
以下將從測(cè)試準(zhǔn)備、測(cè)試觸發(fā)、測(cè)試執(zhí)行與測(cè)試問題記錄三個(gè)方面詳細(xì)介紹搭建測(cè)試環(huán)境的步驟。
測(cè)試準(zhǔn)備
測(cè)試準(zhǔn)備過程將測(cè)試執(zhí)行中需要使用到的各種工具進(jìn)行配置,包含如下過程:
?測(cè)試計(jì)劃建立:使用北匯自研PAVELINK或者JIRA等測(cè)試管理軟件建立測(cè)試計(jì)劃,包含測(cè)試軟件版本信息,測(cè)試用例庫,測(cè)試責(zé)任人等
?更新測(cè)試用例:根據(jù)新發(fā)布的軟件版本建立測(cè)試用例庫,使用GitLab/SVN進(jìn)行版本管理
?測(cè)試樣件/設(shè)備管理:管理測(cè)試樣件/設(shè)備狀態(tài)及測(cè)試進(jìn)度
?測(cè)試環(huán)境搭建:測(cè)試設(shè)備與測(cè)試樣件進(jìn)行測(cè)試環(huán)境調(diào)試,以支持自動(dòng)化測(cè)試。測(cè)試工具使用Vector總線接口設(shè)備和CANoe軟件
?Jenkins測(cè)試流程管理:配置Jenkins Job,管理測(cè)試執(zhí)行的流程
測(cè)試觸發(fā)
自動(dòng)化測(cè)試流程通過Jenkins Job進(jìn)行配置管理。Jenkins Job可通過手動(dòng)、定時(shí)、監(jiān)控GitLab/SVN版本或通過Jenkins API觸發(fā)調(diào)用等方式觸發(fā)。本次方案通過監(jiān)控測(cè)試樣件軟件版本,讀取到軟件升級(jí)到指定版本后,使用Jenkins API調(diào)度方式觸發(fā)測(cè)試流程的開始。

圖5 Jenkins API
測(cè)試執(zhí)行與測(cè)試問題記錄
Jenkins Job定義一個(gè)測(cè)試流程,包含自動(dòng)化測(cè)試腳本的生成、測(cè)試執(zhí)行、測(cè)試問題記錄。 自動(dòng)化測(cè)試腳本生成:通過解析數(shù)據(jù)庫文件生成測(cè)試腳本。

圖6 測(cè)試腳本自動(dòng)生成測(cè)試執(zhí)行:通過CANoe軟件COM接口調(diào)用的方式實(shí)現(xiàn)測(cè)試用例工程的選擇、測(cè)試執(zhí)行、測(cè)試數(shù)據(jù)和測(cè)試結(jié)果的回讀。

圖7 CANoe COM接口說明測(cè)試問題記錄:回讀到的測(cè)試結(jié)果自動(dòng)上傳到測(cè)試問題管理系統(tǒng),使用北匯自研的PAVELINK平臺(tái)更新測(cè)試用例的測(cè)試結(jié)果,上傳測(cè)試數(shù)據(jù)和新建測(cè)試問題。

圖8 PAVELINK問題管理平臺(tái)Jenkins具有郵件發(fā)送功能,在測(cè)試執(zhí)行結(jié)束時(shí),可將測(cè)試結(jié)果等信息通過郵件發(fā)送給相關(guān)責(zé)任人。
寫在最后
1
持續(xù)測(cè)試不等同于自動(dòng)化測(cè)試,持續(xù)測(cè)試一系列流程,包含自動(dòng)化測(cè)試,自動(dòng)化測(cè)試是持續(xù)測(cè)試的一個(gè)關(guān)鍵步驟。通過和軟件開發(fā)迭代在流程上結(jié)合,快速發(fā)現(xiàn)軟件缺陷。
2
采用持續(xù)測(cè)試的測(cè)試方式可以很好地將解決手動(dòng)測(cè)試周期長(zhǎng)的問題,提升了測(cè)試效率,提高測(cè)試人員的生產(chǎn)力。同時(shí)對(duì)測(cè)試輸出物與軟件開發(fā)版本進(jìn)行控制,符合正向開發(fā)和測(cè)試管理的要求。
3
持續(xù)測(cè)試作為可提升測(cè)試效率的工具,的確給測(cè)試工程師帶來“一鍵式”托管執(zhí)行測(cè)試的工作體驗(yàn)。但作為工具而言,持續(xù)測(cè)試并不能滿足所有的測(cè)試場(chǎng)景。首先,持續(xù)測(cè)試要求可執(zhí)行的測(cè)試用例是可自動(dòng)化執(zhí)行的,測(cè)試過程中如果需要手動(dòng)進(jìn)行參數(shù)輸入或測(cè)試環(huán)境的變更,很難達(dá)到提升測(cè)試效率的效果。其次,需要測(cè)試腳本可自動(dòng)生成或測(cè)試腳本不需要修改,面對(duì)每次迭代的軟件產(chǎn)品,手動(dòng)編寫或者修改測(cè)試工程也會(huì)給測(cè)試人員帶來繁重的工作量。
4
持續(xù)測(cè)試使用的工具鏈多且復(fù)雜,測(cè)試系統(tǒng)整體的穩(wěn)定性需要重點(diǎn)關(guān)注。所以是否進(jìn)行持續(xù)測(cè)試需要先對(duì)測(cè)試場(chǎng)景進(jìn)行分析,也不能為了追求持續(xù)性而去舍棄測(cè)試的精確性。
北匯信息緊跟市場(chǎng)風(fēng)向,在持續(xù)測(cè)試方面也積累了很多的經(jīng)驗(yàn),除了基于Jenkins的持續(xù)測(cè)試方案,北匯信息也自研了基于CANoe軟件的測(cè)試管理工具,期待與行業(yè)中的同仁進(jìn)行交流。
審核編輯 :李倩
-
汽車行業(yè)
+關(guān)注
關(guān)注
0文章
366瀏覽量
16522 -
自動(dòng)化
+關(guān)注
關(guān)注
30文章
5880瀏覽量
89043 -
系統(tǒng)框架
+關(guān)注
關(guān)注
0文章
6瀏覽量
6502
原文標(biāo)題:持續(xù)測(cè)試(CT)實(shí)戰(zhàn)經(jīng)驗(yàn)分享
文章出處:【微信號(hào):QCDZSJ,微信公眾號(hào):汽車電子設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
新思科技與Tata Elxsi合作推動(dòng)汽車行業(yè)變革
等離子技術(shù)為汽車行業(yè)提供質(zhì)量與可持續(xù)性雙重支撐
Allegro斬獲2025汽車行業(yè)優(yōu)秀解決方案獎(jiǎng)
瑞能半導(dǎo)體榮膺2025汽車行業(yè)創(chuàng)新產(chǎn)品獎(jiǎng)
四維圖新斬獲2025汽車行業(yè)智能駕駛產(chǎn)品獎(jiǎng)
經(jīng)緯恒潤(rùn)入選“2025中國(guó)汽車行業(yè)可持續(xù)發(fā)展實(shí)踐案例”
普華基礎(chǔ)軟件入選2025中國(guó)汽車行業(yè)可持續(xù)發(fā)展實(shí)踐案例
理想汽車入選2025中國(guó)汽車行業(yè)企業(yè)可持續(xù)發(fā)展實(shí)踐優(yōu)秀案例
Arm計(jì)算平臺(tái)助力汽車行業(yè)轉(zhuǎn)型
軟件定義汽車將如何變革汽車行業(yè)
歐姆龍?jiān)谛履茉?b class='flag-5'>汽車行業(yè)的應(yīng)用案例
BlackBerry展望2025年汽車行業(yè)發(fā)展趨勢(shì)
Gartner發(fā)布2025年汽車行業(yè)重要趨勢(shì)

汽車行業(yè)為什么需要持續(xù)測(cè)試?
評(píng)論