0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

持續(xù)測試(CT)實戰(zhàn)經(jīng)驗分享

北匯信息POLELINK ? 2022-07-21 15:17 ? 次閱讀

傳統(tǒng)汽車正在向互聯(lián)網(wǎng)發(fā)展

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

POLELINK

什么是持續(xù)測試?

A

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

POLELINK

汽車行業(yè)為什么需要持續(xù)測試?

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

6bfa5684-05e3-11ed-9ade-dac502259ad0.png圖1 傳統(tǒng)測試流程持續(xù)測試的方法以人、測試流程、測試工具的結(jié)合,通過一系列測試工具鏈的組合與自動化測試工程結(jié)合,提交新版軟件時即為測試流程的開始,快速找到軟件缺陷,解決測試和開發(fā)在時間上的矛盾,幫助軟件開發(fā)團隊實現(xiàn)軟件產(chǎn)品速度與質(zhì)量的目標。本文將從持續(xù)測試角度,分享基于Jenkins和Vector軟硬件實現(xiàn)的實戰(zhàn)經(jīng)驗。

測試方案簡介

系統(tǒng)框架

6c0c1054-05e3-11ed-9ade-dac502259ad0.png

圖2 系統(tǒng)框圖

主要功能

測試流程管理

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

持續(xù)驗證調(diào)度管理

?測試對象、測試設備調(diào)度管理、代碼版本庫調(diào)用管理、測試流程搭建及執(zhí)行

IDL腳本轉(zhuǎn)換工具集成

?通過測試數(shù)據(jù)文件生成測試腳本

測試腳本/測試數(shù)據(jù)版本控制管理

?基于GitLab/SVN或自建數(shù)據(jù)庫管理測試腳本/測試數(shù)據(jù),構(gòu)建有效的知識庫

數(shù)據(jù)流引擎驅(qū)動測試數(shù)據(jù)分析

?基于測試數(shù)據(jù)進行分析,獲得測試結(jié)果

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

?基于測試數(shù)據(jù)分析結(jié)果生成定制測試報告

案例介紹

基于Jenkins和Vector工具實現(xiàn)CAN/CAN FD/LIN/FlexRay/ETH網(wǎng)絡和診斷測試。


6c1969ca-05e3-11ed-9ade-dac502259ad0.png圖3 CT流程持續(xù)測試的核心在于把自動化測試的各個環(huán)節(jié)和流程自動地、智能地組織起來,并提供狀態(tài)查詢、通知等服務,實現(xiàn)步驟如下:

? 測試計劃:根據(jù)開發(fā)人員提交的軟件版本建立對應測試計劃

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

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

? 測試觸發(fā):監(jiān)控開發(fā)人員提交狀態(tài),提交結(jié)束即為測試開始,采用Jenkins管理測試執(zhí)行的流程

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

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

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

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

以下將從測試準備、測試觸發(fā)、測試執(zhí)行與測試問題記錄三個方面詳細介紹搭建測試環(huán)境的步驟。

測試準備

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

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

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

? 測試樣件/設備管理:管理測試樣件/設備狀態(tài)及測試進度

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

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

6c35d65a-05e3-11ed-9ade-dac502259ad0.png

圖4 傳統(tǒng)總線網(wǎng)絡和以太網(wǎng)測試系統(tǒng)

測試觸發(fā)

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


6c7c7132-05e3-11ed-9ade-dac502259ad0.png圖5 Jenkins API

測試執(zhí)行與測試問題記錄

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

6c946dd2-05e3-11ed-9ade-dac502259ad0.png圖6 測試腳本自動生成
測試執(zhí)行:通過CANoe軟件COM接口調(diào)用的方式實現(xiàn)測試用例工程的選擇、測試執(zhí)行、測試數(shù)據(jù)和測試結(jié)果的回讀。


6ca933fc-05e3-11ed-9ade-dac502259ad0.png圖7 CANoe COM接口說明
測試問題記錄:回讀到的測試結(jié)果自動上傳到測試問題管理系統(tǒng),使用北匯自研的PAVELINK平臺更新測試用例的測試結(jié)果,上傳測試數(shù)據(jù)和新建測試問題。


6cbb1b4e-05e3-11ed-9ade-dac502259ad0.png圖8 PAVELINK問題管理平臺Jenkins具有郵件發(fā)送功能,在測試執(zhí)行結(jié)束時,可將測試結(jié)果等信息通過郵件發(fā)送給相關責任人。

寫在最后

1

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

2

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

3

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

4

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

北匯信息緊跟市場風向,在持續(xù)測試方面也積累了很多的經(jīng)驗,除了基于Jenkins的持續(xù)測試方案,北匯信息也自研了基于CANoe軟件的測試管理工具,期待與行業(yè)中的同仁進行交流。參考文獻:【1】中國汽車基礎軟件發(fā)展白皮書2.0【2】Jenkins權(quán)威指南

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 測試
    +關注

    關注

    8

    文章

    5113

    瀏覽量

    126356
  • 汽車
    +關注

    關注

    13

    文章

    3389

    瀏覽量

    37115
收藏 人收藏

    評論

    相關推薦

    拒絕無效嘗試,EMC問題解決實戰(zhàn)教學帶你一次性解決問題!

    EMC實戰(zhàn)教學SES2024.06.06輻射發(fā)射、傳導發(fā)射、ESD、EFT、CS、浪涌等幾個項目是產(chǎn)品電磁兼容測試中的常見問題,也是困擾廣大工程師朋友的整改定位分析難題;在這種時刻,如有通過實戰(zhàn)直播
    的頭像 發(fā)表于 05-24 08:17 ?316次閱讀
    拒絕無效嘗試,EMC問題解決<b class='flag-5'>實戰(zhàn)</b>教學帶你一次性解決問題!

    求助,關于STM32F103C8T6的CAN波特率偵測問題求解

    ,看不到方波。 如果直接用單片機直接捕獲不可實現(xiàn),請問哪些方法適合用單片機捕獲實現(xiàn)的?例如加一些外部電路等! 希望有高手能分享一些實戰(zhàn)經(jīng)驗,謝謝!
    發(fā)表于 05-09 08:29

    HDHG型CT互感器勵磁特性測試儀使用方法

    1.設計用途本參考GB1207-2006、GB1208-2006等標準設計,用于對保護類CT進行自動測試,適用于實驗室及現(xiàn)場檢測??勺詣油瓿?b class='flag-5'>CT勵磁特性、CT變比、
    的頭像 發(fā)表于 04-08 13:46 ?478次閱讀
    HDHG型<b class='flag-5'>CT</b>互感器勵磁特性<b class='flag-5'>測試</b>儀使用方法

    STM32H5 DA證書鏈實戰(zhàn)經(jīng)驗

    之前我們已經(jīng)講過了如何通過 DA 認證來回退芯片產(chǎn)品狀態(tài),或者重新打開調(diào)試口,這樣開發(fā)人員在芯片為 Closed 狀態(tài)下時仍可以調(diào)試芯片。
    的頭像 發(fā)表于 03-12 14:08 ?979次閱讀
    STM32H5 DA證書鏈<b class='flag-5'>實戰(zhàn)經(jīng)驗</b>

    什么是DevOps中的持續(xù)測試?持續(xù)測試如何融入DevOps?

    持續(xù)測試(CT) 是在整個軟件開發(fā)生命周期(SDLC) 中自動測試軟件應用程序和組件的實踐。在 DevOps 中,持續(xù)
    的頭像 發(fā)表于 01-09 09:10 ?524次閱讀
    什么是DevOps中的<b class='flag-5'>持續(xù)</b><b class='flag-5'>測試</b>?<b class='flag-5'>持續(xù)</b><b class='flag-5'>測試</b>如何融入DevOps?

    BlueNRG系列協(xié)處理器實戰(zhàn)經(jīng)驗簡介

    BlueNRG 系列芯片從最早的一代 BlueNRG-MS 開始就支持協(xié)處理器模式。
    的頭像 發(fā)表于 01-05 18:16 ?1725次閱讀
    BlueNRG系列協(xié)處理器<b class='flag-5'>實戰(zhàn)經(jīng)驗</b>簡介

    CT7302 CT5302 audio SRC bridge

    CT7302 CT5302 audio SRC bridge General DescriptionThe CT7302/CT5302 is a single chip dual ch
    發(fā)表于 01-04 12:48 ?4次下載

    實戰(zhàn)經(jīng)驗 | 如何在用戶應用中開啟 LoRa CAD

    關鍵詞:LoRa, CAD, Channel Activity Detection 目錄預覽 1、LoRa CAD 應用場景舉例 2、STM32WL LoRa CAD 原理和驅(qū)動 3、如何在示例工程 SubGHz_Phy_Per 中開啟 CAD 4、小結(jié) 01 LoRa CAD 應用場景舉例 在 STM32WL LoRa 某些應用中,尤其是電池供電的設備上,需要按需發(fā)送數(shù)據(jù),如下發(fā)指令,讓 STM32WL LoRa 發(fā)送數(shù)據(jù),或做相應的操作。為了降低功耗,STM32WL不能一直處于接收狀態(tài),這樣功耗會很高。我們可以開啟 LoRa CAD(信道活動檢測)功能,STM32WL 通過開啟 CAD 功能,檢測前導碼的前 1/
    的頭像 發(fā)表于 12-26 17:45 ?1379次閱讀
    <b class='flag-5'>實戰(zhàn)經(jīng)驗</b> | 如何在用戶應用中開啟 LoRa CAD

    實戰(zhàn)經(jīng)驗 | 如何選擇 S2-LP 的外部晶體

    關鍵詞:晶體, TCXO 目錄預覽 1、前言 2、S2-LP 外部晶體的選擇問題分析 3、頻偏的測試及調(diào)試 4、小結(jié) 01 前言 鑒于經(jīng)常有基于 S2-LP 的客戶對如何選擇外部晶體,如何選擇外部
    的頭像 發(fā)表于 12-22 13:25 ?487次閱讀
    <b class='flag-5'>實戰(zhàn)經(jīng)驗</b> | 如何選擇 S2-LP 的外部晶體

    PCB制板實戰(zhàn)經(jīng)驗分享:PCB制板的22個規(guī)則

    不要以為PCB制板很簡單,那只能說明你水平還有待提高。在現(xiàn)代集成器件密度越來越大的情況下,PCB布線布局的優(yōu)劣直接影響產(chǎn)品的性能,甚至是關及設計成敗之關鍵。正如日本一電子所說:十種器件,也可能有無數(shù)種排列的可能。
    發(fā)表于 12-12 16:35 ?403次閱讀

    實戰(zhàn)經(jīng)驗 | 移植 SBSFU 到 STM32G070 的過程

    關鍵詞:SBSFU,移植 目錄預覽 1、前言 2、基于STM32G070和STM32G071的SBSFU 實現(xiàn)差異 3、開始移植 4、測試安全保護特性 5、后述 01 前言 客戶
    的頭像 發(fā)表于 12-08 18:20 ?816次閱讀

    javaweb從入門到實戰(zhàn)

    的學習和實踐。本文將為大家詳述JavaWeb的入門以及實戰(zhàn)經(jīng)驗,希望能幫助到正在追求JavaWeb技術(shù)的開發(fā)者。 入門 1.1 Java基礎知識 在學習JavaWeb之前,首先要掌握Java語言的基礎知識,包括面向?qū)ο蟮母拍?、類與對象、繼承與多態(tài)、異常處理等。理解這些基礎概念對于
    的頭像 發(fā)表于 12-03 11:44 ?1462次閱讀

    docker微服務架構(gòu)實戰(zhàn)

    的容器化技術(shù),為微服務架構(gòu)的實施提供了強大的支持。本文將介紹Docker微服務架構(gòu)的實戰(zhàn)經(jīng)驗,包括Docker的概述、微服務架構(gòu)的設計原則以及實際應用中的具體實踐。 一、Docker概述 Docker是一個開源的容器化平臺,可以用于構(gòu)建、發(fā)布和運
    的頭像 發(fā)表于 11-23 09:26 ?619次閱讀

    實戰(zhàn)經(jīng)驗 | TouchGFX 控件附加 ClickListener 功能的方法介紹

    關鍵詞:GUI,TouchGFX,Mixin,ClickListener 目錄預覽 1、引言 2、TouchGFX ClickListener 模板的使用 3、小結(jié) 01 引言 TouchGFX 是專用于 STM32 的圖形界面設計軟件,可用來低成本開發(fā)優(yōu)秀的圖形界面,TouchGFX 現(xiàn)已變的越來越流行。為了幫助客戶更加深入地理解和使用 TouchGFX ,本文介紹了 TouchGFX Designer 中的 Mixin 功能,從基礎示例 Button Example 出發(fā),為文本框控件添加 ClickListener (Mixin 功能中的一項),并對源代碼進行簡單剖析。期望能幫助客戶更深入地理解 STM32 TouchGFX 的
    的頭像 發(fā)表于 11-17 17:40 ?1262次閱讀

    PLC現(xiàn)場安裝、調(diào)試全流程實戰(zhàn)經(jīng)驗

    深入了解設計資料、對系統(tǒng)工藝流程,特別是工藝對各生產(chǎn)設備的控制要求要有全面的了解,在此基礎上,按子系統(tǒng)繪制工藝流。程聯(lián)鎖圖、系統(tǒng)功能圖、系統(tǒng)運行邏輯框圖、這將有助于對系統(tǒng)運行邏輯的深刻理解,是前期技術(shù)準備的重要環(huán)節(jié)。
    的頭像 發(fā)表于 11-14 16:38 ?955次閱讀