焦点要闻:持续测试(CT)实战经验分享
前言
传统汽车行业正在向互联网汽车方向发展
(资料图片)
在汽车行业向“新四化”趋势的推动下,传统分布式的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权威指南
相关阅读
-
如何培养学生的空间思维能力(如何培养...
大家好,小琪来为大家解答以上的问题。如何培养学生的空间思维能力,... -
十滴水洗澡的功效(十滴水打一字)
大家好,小琪来为大家解答以上的问题。十滴水洗澡的功效,十滴水打一... -
地铁逃生怎么下载(地团网)|要闻速递
大家好,小琪来为大家解答以上的问题。地铁逃生怎么下载,地团网这个... -
女人在床上说的最刻薄的话_世界即时看
大家好,小琪来为大家解答以上的问题。女人在床上说的最刻薄的话这个... -
霍建华近态曝光豪横十足,接连换乘豪车...
跟妻子林心如从朋友转变为恋人,当时这场恋情引得最大争议,两人的... -
当前关注:胡歌所开车曝光上热搜,网友...
这让不少网友感叹:“现在普通人的包袱比明星都多,内耗太重了。”...
- 如何培养学生的空间思维能力(如何培养学生2022-11-25
- 十滴水洗澡的功效(十滴水打一字)2022-11-25
- 焦点快播:“外国人讲安徽故事·合肥站”宣2022-11-25
- 2022黄山旅游节推出14项主题活动2022-11-25
- 世界微速讯:以群众口碑检验富裕江西幸福江2022-11-25
- 内双画眼妆选择什么样的眼影?内双眼妆怎么2022-11-25
- 眼影选购需要注意哪些方面?眼影是不是越贵2022-11-25
- 深邃欧式眼妆教程 欧美上挑眼线怎么画?-2022-11-25
- 环球观热点:中分刘海怎么打理好看?哪些中2022-11-25
- 适合中分发型的脸型有哪些?2022年短发发型2022-11-25
- 全球今热点:中分发型有哪些优势?方形脸适2022-11-25
- 中分短发发型有哪些?你更喜欢哪一款?|全2022-11-25
- 中分适合什么脸型?刘海中分怎么处理?2022-11-25
- 刘海分开合不上怎么恢复?去理发店可以吗?2022-11-25
- 【世界新要闻】圆脸脸型特点是什么?圆脸适2022-11-25
- 不想中分怎么变回来?哪些脸型留中分发型不2022-11-25
- 环球热推荐:中分刘海留烦了想换发型怎么办2022-11-25
- 热点聚焦:刘海中分怎么解决?刘海剪厚了怎2022-11-25
- 如何让头发快速生长?刚染完头发第二天就洗2022-11-25
- 男士中分适合烫大卷还是小卷?男生烫发发型2022-11-25
- 自然卷应该使用什么样的护发产品?自然卷该2022-11-25
- 月饼分着吃寓意好吗?为什么说月饼吃多了也2022-11-25
- 月饼能煎着吃吗?月饼的吃法有哪些?|环球2022-11-25
- 中秋节该怎么送礼?中秋节后天气会转凉吗?2022-11-25
- 月饼烤完很硬怎么回事?月饼的好坏主要看什2022-11-25
- 十八数藏引入新投资方,深度布局产业化2022-11-25
- 地铁逃生怎么下载(地团网)|要闻速递2022-11-25
- 女人在床上说的最刻薄的话_世界即时看2022-11-25
- 玉竹可以和什么一起泡酒?玉竹酒做法是什么2022-11-25
- 玉竹能放多久?玉竹食用方法有哪些?-全球2022-11-25