0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

持续测试(CT)实战经验分享

北汇信息POLELINK 2022-07-21 15:17 次阅读

传统汽车正在向互联网发展

在汽车行业向“新四化”趋势的推动下,传统分布式的EE架构向域集中式架构发展,伴随着域控制器概念的提出,软件也将根据相应功能域分类集成,域控制器的代码量也与日俱增。SOA的开发模式实现各软件功能模块间解耦,帮助软件团队缩短开发周期,快速迭代软件版本。OTA升级威廉希尔官方网站 将软件快速部署到各个域控制器,为软件产品的快速迭代提供保障。随着开发模式的变革,迭代测试变得周期短而频繁,持续测试将为软件产品提供快速的质量保证。

POLELINK

什么是持续测试?

A

持续测试来源于DevOps(Development和Operations)中提倡的CI(持续集成)- CO(持续部署) - CT(持续测试)- CD(持续交付),通过流程和持续集成/持续测试工具平台,自动化“软件交付”,使得构建、测试、发布软件能够更加快捷、频繁和可靠。

POLELINK

汽车行业为什么需要持续测试?

传统汽车软件开发模型中,测试方法包括手动测试和手动编写测试脚本后的自动化/半自动化测试。其特点是以“人”为中心,需要测试工程师重复性的手动测试、不断更新测试脚本或配置、记录测试问题和测试状态跟踪。测试的周期和质量,依赖于测试工程师的数量、经验能力和工具数量。

6bfa5684-05e3-11ed-9ade-dac502259ad0.png图1 传统测试流程持续测试的方法以人、测试流程、测试工具的结合,通过一系列测试工具链的组合与自动化测试工程结合,提交新版软件时即为测试流程的开始,快速找到软件缺陷,解决测试和开发在时间上的矛盾,帮助软件开发团队实现软件产品速度与质量的目标。本文将从持续测试角度,分享基于Jenkins和Vector软硬件实现的实战经验。

测试方案简介

系统框架

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

图2 系统框图

主要功能

测试流程管理

•测试项目管理模块、测试需求管理模块、测试用例管理模块、测试任务管理模块、测试缺陷管理模块、测试报告管理模块、远程设备管理模块等

持续验证调度管理

•测试对象、测试设备调度管理、代码版本库调用管理、测试流程搭建及执行

IDL脚本转换工具集成

•通过测试数据文件生成测试脚本

测试脚本/测试数据版本控制管理

•基于GitLab/SVN或自建数据库管理测试脚本/测试数据,构建有效的知识库

数据流引擎驱动测试数据分析

•基于测试数据进行分析,获得测试结果

测试报告引擎自动测试报告

•基于测试数据分析结果生成定制测试报告

案例介绍

基于Jenkins和Vector工具实现CAN/CAN FD/LIN/FlexRay/ETH网络和诊断测试。


6c1969ca-05e3-11ed-9ade-dac502259ad0.png图3 CT流程持续测试的核心在于把自动化测试的各个环节和流程自动地、智能地组织起来,并提供状态查询、通知等服务,实现步骤如下:

测试计划:根据开发人员提交的软件版本建立对应测试计划

测试环境搭建:测试工具链与测试对象连接,满足测试环境要求

更新测试用例:建立对应软件版本的测试用例库,并进行版本管理,方便回归测试

测试触发:监控开发人员提交状态,提交结束即为测试开始,采用Jenkins管理测试执行的流程

测试样件/设备管理:自动从测试样件/设备库中选择可执行测试的环境,提高测试资源的利用率

自动化测试用例脚本:根据标准化的测试用例和数据库,自动生成可测试工程

数据采集和分析:用自动化测试工程代替测试工程师手动执行测试,既缩短测试周期,又避免了人工测试产生的误测漏测等问题;分析测试数据,自动生成测试报告与测试问题,避免测试工程师手动录入测试问题的重复性劳动

测试报告版本管理:测试用例、测试工程、测试报告、测试数据与软件版本相对应,方便测试问题追溯与定位

以下将从测试准备、测试触发、测试执行与测试问题记录三个方面详细介绍搭建测试环境的步骤。

测试准备

测试准备过程将测试执行中需要使用到的各种工具进行配置,包含如下过程:

测试计划建立:使用北汇自研PAVELINK或者JIRA等测试管理软件建立测试计划,包含测试软件版本信息,测试用例库,测试责任人等

更新测试用例:根据新发布的软件版本建立测试用例库,使用GitLab/SVN进行版本管理

测试样件/设备管理:管理测试样件/设备状态及测试进度

测试环境搭建:测试设备与测试样件进行测试环境调试,以支持自动化测试。测试工具使用Vector总线接口设备和CANoe软件

Jenkins测试流程管理:配置Jenkins Job,管理测试执行的流程

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

图4 传统总线网络和以太网测试系统

测试触发

自动化测试流程通过Jenkins Job进行配置管理。Jenkins Job可通过手动、定时、监控GitLab/SVN版本或通过Jenkins API触发调用等方式触发。本次方案通过监控测试样件软件版本,读取到软件升级到指定版本后,使用Jenkins API调度方式触发测试流程的开始。


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

测试执行与测试问题记录

Jenkins Job定义一个测试流程,包含自动化测试脚本的生成、测试执行、测试问题记录。自动化测试脚本生成:通过解析数据库文件生成测试脚本。

6c946dd2-05e3-11ed-9ade-dac502259ad0.png图6 测试脚本自动生成
测试执行:通过CANoe软件COM接口调用的方式实现测试用例工程的选择、测试执行、测试数据和测试结果的回读。


6ca933fc-05e3-11ed-9ade-dac502259ad0.png图7 CANoe COM接口说明
测试问题记录:回读到的测试结果自动上传到测试问题管理系统,使用北汇自研的PAVELINK平台更新测试用例的测试结果,上传测试数据和新建测试问题。


6cbb1b4e-05e3-11ed-9ade-dac502259ad0.png图8 PAVELINK问题管理平台Jenkins具有邮件发送功能,在测试执行结束时,可将测试结果等信息通过邮件发送给相关责任人。

写在最后

1

持续测试不等同于自动化测试,持续测试一系列流程,包含自动化测试,自动化测试是持续测试的一个关键步骤。通过和软件开发迭代在流程上结合,快速发现软件缺陷。

2

采用持续测试的测试方式可以很好地将解决手动测试周期长的问题,提升了测试效率,提高测试人员的生产力。同时对测试输出物与软件开发版本进行控制,符合正向开发和测试管理的要求。

3

持续测试作为可提升测试效率的工具,的确给测试工程师带来“一键式”托管执行测试的工作体验。但作为工具而言,持续测试并不能满足所有的测试场景。首先,持续测试要求可执行的测试用例是可自动化执行的,测试过程中如果需要手动进行参数输入或测试环境的变更,很难达到提升测试效率的效果。其次,需要测试脚本可自动生成或测试脚本不需要修改,面对每次迭代的软件产品,手动编写或者修改测试工程也会给测试人员带来繁重的工作量。

4

持续测试使用的工具链多且复杂,测试系统整体的稳定性需要重点关注。所以是否进行持续测试需要先对测试场景进行分析,也不能为了追求持续性而去舍弃测试的精确性。

北汇信息紧跟市场风向,在持续测试方面也积累了很多的经验,除了基于Jenkins的持续测试方案,北汇信息也自研了基于CANoe软件的测试管理工具,期待与行业中的同仁进行交流。参考文献:【1】中国汽车基础软件发展白皮书2.0【2】Jenkins权威指南

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 测试
    +关注

    关注

    8

    文章

    5232

    浏览量

    126569
  • 汽车
    +关注

    关注

    13

    文章

    3470

    浏览量

    37225
收藏 人收藏

    评论

    相关推荐

    珠海航展无人机搭载相机选择的深度解析

    轩展科技,作为无人机视频产品解决方案提供商,具有15年的一体化摄像机模组二次开发实战经验,能为无人机通过各种分辨率、不同输出接口及性能的一站式视频产品解决方案,满足各种应用场景的需求。
    的头像 发表于 11-16 10:26 201次阅读

    【全新课程资料】正点原子《基于GD32 ARM32单片机项目实战入门》培训课程资料上线!

    ,提高编程能力和实战经验 四、适合人群 (1)单片机编程初学者 (2)电子工程师 (3)对ARM32单片机有兴趣的威廉希尔官方网站 爱好者 五、课程详细介绍 1、培训课程包含: (1)全套培训课程视频(已全部录制
    发表于 09-24 18:06

    蔡司工业CT检测设备厂家百年行业经验,值得选择

    的蔡司工业CT检测设备,以其百年的行业经验与威廉希尔官方网站 沉淀,正引领着精密制造的新纪元,成为众多企业信赖的品质伙伴。【开篇:历史的沉淀,科技的飞跃】回望过去,蔡司的故事是一部
    的头像 发表于 08-21 11:43 265次阅读
    蔡司工业<b class='flag-5'>CT</b>检测设备厂家百年行业<b class='flag-5'>经验</b>,值得选择

    拒绝无效尝试,EMC问题解决实战教学带你一次性解决问题!

    EMC实战教学SES2024.06.06辐射发射、传导发射、ESD、EFT、CS、浪涌等几个项目是产品电磁兼容测试中的常见问题,也是困扰广大工程师朋友的整改定位分析难题;在这种时刻,如有通过实战直播
    的头像 发表于 05-24 08:17 339次阅读
    拒绝无效尝试,EMC问题解决<b class='flag-5'>实战</b>教学带你一次性解决问题!

    求助,关于STM32F103C8T6的CAN波特率侦测问题求解

    ,看不到方波。 如果直接用单片机直接捕获不可实现,请问哪些方法适合用单片机捕获实现的?例如加一些外部电路等! 希望有高手能分享一些实战经验,谢谢!
    发表于 05-09 08:29

    HDHG型CT互感器励磁特性测试仪使用方法

    1.设计用途本参考GB1207-2006、GB1208-2006等标准设计,用于对保护类CT进行自动测试,适用于实验室及现场检测。可自动完成CT励磁特性、CT变比、
    的头像 发表于 04-08 13:46 510次阅读
    HDHG型<b class='flag-5'>CT</b>互感器励磁特性<b class='flag-5'>测试</b>仪使用方法

    工业CT测量机检测产品内部缺陷瑕疵

    在现代工业领域,对于产品内部结构和缺陷的精确检测已成为确保品质不可或缺的一环。蔡司工业CT厂家,凭借卓越的威廉希尔官方网站 实力和丰富的行业经验,为全球制造业提供了一流的工业CT测量机检测解决方案,助力企业洞察
    的头像 发表于 03-19 16:59 351次阅读
    工业<b class='flag-5'>CT</b>测量机检测产品内部缺陷瑕疵

    STM32H5 DA证书链实战经验

    之前我们已经讲过了如何通过 DA 认证来回退芯片产品状态,或者重新打开调试口,这样开发人员在芯片为 Closed 状态下时仍可以调试芯片。
    的头像 发表于 03-12 14:08 1057次阅读
    STM32H5 DA证书链<b class='flag-5'>实战经验</b>

    圣晖集成手单余额13.19亿,稳步攀升

    作为洁净室项目相关赛道的先驱,圣晖集成深入电子企业,熟知业界实用技艺如净化工程、气候调节、微振控制及环境破坏风险防范等,且经过实践验证积累了丰富的实战经验
    的头像 发表于 01-16 11:30 553次阅读

    什么是DevOps中的持续测试持续测试如何融入DevOps?

    持续测试(CT) 是在整个软件开发生命周期(SDLC) 中自动测试软件应用程序和组件的实践。在 DevOps 中,持续
    的头像 发表于 01-09 09:10 552次阅读
    什么是DevOps中的<b class='flag-5'>持续</b><b class='flag-5'>测试</b>?<b class='flag-5'>持续</b><b class='flag-5'>测试</b>如何融入DevOps?

    BlueNRG系列协处理器实战经验简介

    BlueNRG 系列芯片从最早的一代 BlueNRG-MS 开始就支持协处理器模式。
    的头像 发表于 01-05 18:16 1825次阅读
    BlueNRG系列协处理器<b class='flag-5'>实战经验</b>简介

    CT7302 CT5302 audio SRC bridge

    CT7302 CT5302 audio SRC bridge General DescriptionThe CT7302/CT5302 is a single chip dual ch
    发表于 01-04 12:48 4次下载

    实战经验 | 如何在用户应用中开启 LoRa CAD

    关键词:LoRa, CAD, Channel Activity Detection 目录预览 1、LoRa CAD 应用场景举例 2、STM32WL LoRa CAD 原理和驱动 3、如何在示例工程 SubGHz_Phy_Per 中开启 CAD 4、小结 01 LoRa CAD 应用场景举例 在 STM32WL LoRa 某些应用中,尤其是电池供电的设备上,需要按需发送数据,如下发指令,让 STM32WL LoRa 发送数据,或做相应的操作。为了降低功耗,STM32WL不能一直处于接收状态,这样功耗会很高。我们可以开启 LoRa CAD(信道活动检测)功能,STM32WL 通过开启 CAD 功能,检测前导码的前 1/
    的头像 发表于 12-26 17:45 1476次阅读
    <b class='flag-5'>实战经验</b> | 如何在用户应用中开启 LoRa CAD

    实战经验 | 如何选择 S2-LP 的外部晶体

    关键词:晶体, TCXO 目录预览 1、前言 2、S2-LP 外部晶体的选择问题分析 3、频偏的测试及调试 4、小结 01 前言 鉴于经常有基于 S2-LP 的客户对如何选择外部晶体,如何选择外部
    的头像 发表于 12-22 13:25 528次阅读
    <b class='flag-5'>实战经验</b> | 如何选择 S2-LP 的外部晶体

    实战经验 | 如何使用 S2LP 的 sniff 模式同时满足通讯和低功耗要求

    关键词:S2LP, Sniff 模式,低功耗 目录预览 1、引言 2、预设应用场景 3、LDC/Sniff 模式简介 4、解决方案 5、小结 01 引言 某些客户在其 S2LP 的设计方案中,发送端设备常供电,可以不考虑低功耗;而接收端设备一般用电池功能,对低功耗的要求比较高。发送和接收端的通讯是异步的,也就是说发送端在满足某些检测条件的情况下,可以在任意时刻发送数据包;而要求接收端设备在满足其低功耗要求的情况下,及时接收到数据包,保证响应的实时性。针对以
    的头像 发表于 12-16 15:55 737次阅读