您的位置:首頁 >汽車 >

焦點要聞:持續測試(CT)實戰經驗分享

2022-08-23 17:43:04    來源:搜狐汽車

前言

傳統汽車行業正在向互聯網汽車方向發展


(資料圖片)

在汽車行業向“新四化”趨勢的推動下,傳統分布式的EE架構向域集中式架構發展,伴隨著域控制器概念的提出,軟件也將根據相應功能域分類集成,域控制器的代碼量也與日俱增。SOA的開發模式實現各軟件功能模塊間解耦,幫助軟件團隊縮短開發周期,快速迭代軟件版本。OTA升級技術將軟件快速部署到各個域控制器,為軟件產品的快速迭代提供保障。隨著開發模式的變革,迭代測試變得周期短而頻繁,持續測試將為軟件產品提供快速的質量保證。

什么是持續測試?

持續測試來源于DevOps(Development和Operations)中提倡的CI(持續集成)- CO(持續部署) - CT(持續測試)- CD(持續交付),通過流程和持續集成/持續測試工具平臺,自動化“軟件交付”,使得構建、測試、發布軟件能夠更加快捷、頻繁和可靠。

汽車行業為什么需要持續測試?

傳統汽車軟件開發模型中,測試方法包括手動測試和手動編寫測試腳本后的自動化/半自動化測試。其特點是以“人”為中心,需要測試工程師重復性的手動測試、不斷更新測試腳本或配置、記錄測試問題和測試狀態跟蹤。測試的周期和質量,依賴于測試工程師的數量、經驗能力和工具數量。

圖1:傳統測試流程

持續測試的方法以人、測試流程、測試工具的結合,通過一系列測試工具鏈的組合與自動化測試工程結合,提交新版軟件時即為測試流程的開始,快速找到軟件缺陷,解決測試和開發在時間上的矛盾,幫助軟件開發團隊實現軟件產品速度質量的目標。

本文將從持續測試角度,分享基于Jenkins和Vector軟硬件實現的實戰經驗。

測試方案簡介

系統框架

圖2:系統框圖

主要功能

測試流程管理

? 測試項目管理模塊、測試需求管理模塊、測試用例管理模塊、測試任務管理模塊、測試缺陷管理模塊、測試報告管理模塊、遠程設備管理模塊等

持續驗證調度管理

? 測試對象、測試設備調度管理、代碼版本庫調用管理、測試流程搭建及執行

IDL腳本轉換工具集成

? 通過測試數據文件生成測試腳本

測試腳本/測試數據版本控制管理

? 基于GitLab/SVN或自建數據庫管理測試腳本/測試數據,構建有效的知識庫

數據流引擎驅動測試數據分析

? 基于測試數據進行分析,獲得測試結果

測試報告引擎自動測試報告

? 基于測試數據分析結果生成定制測試報告

案例介紹

基于Jenkins和Vector工具實現CAN/CAN FD/LIN/FlexRay/ETH網絡和診斷測試。

圖3:CT流程

持續測試的核心在于把自動化測試的各個環節和流程自動地、智能地組織起來,并提供狀態查詢、通知等服務,實現步驟如下:

? 測試計劃:根據開發人員提交的軟件版本建立對應測試計劃

? 測試環境搭建:測試工具鏈與測試對象連接,滿足測試環境要求

? 更新測試用例:建立對應軟件版本的測試用例庫,并進行版本管理,方便回歸測試

? 測試觸發:監控開發人員提交狀態,提交結束即為測試開始,采用Jenkins管理測試執行的流程

? 測試樣件/設備管理:自動從測試樣件/設備庫中選擇可執行測試的環境,提高測試資源的利用率

? 自動化測試用例腳本:根據標準化的測試用例和數據庫,自動生成可測試工程

? 數據采集和分析:用自動化測試工程代替測試工程師手動執行測試,既縮短測試周期,又避免了人工測試產生的誤測漏測等問題;分析測試數據,自動生成測試報告與測試問題,避免測試工程師手動錄入測試問題的重復性勞動

? 測試報告版本管理:測試用例、測試工程、測試報告、測試數據與軟件版本相對應,方便測試問題追溯與定位

以下將從測試準備測試觸發測試執行與測試問題記錄三個方面詳細介紹搭建測試環境的步驟。

測試準備

測試準備過程將測試執行中需要使用到的各種工具進行配置,包含如下過程:

? 測試計劃建立:使用北匯自研PAVELINK或者JIRA等測試管理軟件建立測試計劃,包含測試軟件版本信息,測試用例庫,測試責任人等

? 更新測試用例:根據新發布的軟件版本建立測試用例庫,使用GitLab/SVN進行版本管理

? 測試樣件/設備管理:管理測試樣件/設備狀態及測試進度

? 測試環境搭建:測試設備與測試樣件進行測試環境調試,以支持自動化測試。測試工具使用Vector總線接口設備和CANoe軟件

? Jenkins測試流程管理:配置Jenkins Job,管理測試執行的流程

圖4:傳統總線網絡和以太網測試系統

測試觸發

自動化測試流程通過Jenkins Job進行配置管理。Jenkins Job可通過手動、定時、監控GitLab/SVN版本或通過Jenkins API觸發調用等方式觸發。本次方案通過監控測試樣件軟件版本,讀取到軟件升級到指定版本后,使用Jenkins API調度方式觸發測試流程的開始。

圖5:Jenkins API

測試執行與測試問題記錄

Jenkins Job定義一個測試流程,包含自動化測試腳本的生成、測試執行、測試問題記錄。

? 自動化測試腳本生成:通過解析數據庫文件生成測試腳本

圖6:測試腳本自動生成

? 測試執行:通過CANoe軟件COM接口調用的方式實現測試用例工程的選擇、測試執行、測試數據和測試結果的回讀

圖7:CANoe COM接口說明

? 測試問題記錄:回讀到的測試結果自動上傳到測試問題管理系統,使用北匯自研的PAVELINK平臺更新測試用例的測試結果,上傳測試數據和新建測試問題

圖8:PAVELINK問題管理平臺

持續測試不等同于自動化測試,持續測試一系列流程,包含自動化測試,自動化測試是持續測試的一個關鍵步驟。通過和軟件開發迭代在流程上結合,快速發現軟件缺陷。

? Jenkins具有郵件發送功能,在測試執行結束時,可將測試結果等信息通過郵件發送給相關責任人。

寫在最后

采用持續測試的測試方式可以很好地將解決手動測試周期長的問題,提升了測試效率,提高測試人員的生產力。同時對測試輸出物與軟件開發版本進行控制,符合正向開發和測試管理的要求。

持續測試作為可提升測試效率的工具,的確給測試工程師帶來“一鍵式”托管執行測試的工作體驗。但作為工具而言,持續測試并不能滿足所有的測試場景。首先,持續測試要求可執行的測試用例是可自動化執行的,測試過程中如果需要手動進行參數輸入或測試環境的變更,很難達到提升測試效率的效果。其次,需要測試腳本可自動生成或測試腳本不需要修改,面對每次迭代的軟件產品,手動編寫或者修改測試工程也會給測試人員帶來繁重的工作量。

持續測試使用的工具鏈多且復雜,測試系統整體的穩定性需要重點關注。所以是否進行持續測試需要先對測試場景進行分析,也不能為了追求持續性而去舍棄測試的精確性。

北匯信息緊跟市場風向,在持續測試方面也積累了很多的經驗,除了基于Jenkins的持續測試方案,北匯信息也自研了基于CANoe軟件的測試管理工具,期待與行業中的同仁進行交流。

參考文獻

聊聊汽車OTA測試:概述篇

SOA架構/測試階段接口描述語言轉換方案

中國汽車基礎軟件發展白皮書2.0

Jenkins權威指南

關鍵詞: 測試用例 自動化測試 測試數據

相關閱讀

主站蜘蛛池模板: 麻豆传播媒体免费版官网| 一级毛片免费一级直接观看| 欧美福利一区二区三区| 免费黄色软件在线观看| 青娱乐在线视频观看| 国产精品91视频| 97色精品视频在线观看| 性伦片美国刺激片在线观看| 久久久国产乱子伦精品| 最新欧美一级视频| 亚洲国产精品激情在线观看| 特级毛片在线大全免费播放| 午夜一级做a爰片久久毛片| 色综合天天综合网国产成人| 国产成 人 综合 亚洲专| 青青操在线视频| 国精产品一品二品国精品69xx| 一区二区三区在线| 成年网址网站在线观看| 久久免费小视频| 日韩精品武藤兰视频在线| 亚洲伊人久久网| 欧美激情在线播放一区二区三区| 伊人亚洲综合青草青草久热| 精品国产污污免费网站入口| 成人免费视频网| 国产大陆xxxx做受视频| 中文字幕第3页| 国产精品高清一区二区三区不卡| av无码东京热亚洲男人的天堂| 岛国精品在线观看| 中文字幕av高清片| 无遮挡h肉动漫网站| 久久伊人中文字幕麻豆| 日韩精品无码中文字幕一区二区| 亚洲人成在线播放网站岛国| 欧美成人一区二区三区| 亚洲欧美日韩国产精品一区二区| 爆乳少妇在办公室在线观看| 免费v片在线观看无遮挡| 精品国产一二三区在线影院|