一种软件自动化测试的方法和系统技术方案

技术编号:31924266 阅读:15 留言:0更新日期:2022-01-15 13:08
本发明专利技术公开了软件自动化测试的方法和系统,节省测试耗费时间,提升测试准确度,从而节省资源开销,提升测试效率,降低测试成本。其技术方案如下,系统包括:版本控制系统,接收来自软件开发人员提交的源代码;持续集成服务器,通过其上部署的Jenkins服务器,利用管道脚本机制接收来自版本控制系统的输入,自动进行代码同步,编译,下载,静态代码检查,动态代码检查以及集成测试,并反馈包括编译、静态代码检查,动态代码检查以及集成测试阶段在内的各阶段的测试报告;硬件设备工具,连接持续集成服务器和电子控制单元,且和持续集成服务器进行网络数据的交互;电子控制单元,运行软件代码,通过持续集成服务器对收发报文数据进行功能控制。控制。控制。

【技术实现步骤摘要】
一种软件自动化测试的方法和系统


[0001]本专利技术涉及软件测试技术,具体涉及一种对快速迭代更新的软件代码进行自动化测试的方法和系统。

技术介绍

[0002]随着汽车电子控制单元(ECU)软件的快速迭代更新,静态代码测试、动态代码测试以及集成测试等的工作量大大提升,单纯依靠人工测试,将耗费大量人力、时间、硬件等资源,并且也不能保证测试的效率与质量。

技术实现思路

[0003]以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
[0004]本专利技术的目的在于解决上述问题,提供了一种软件自动化测试的方法和系统,能够节省测试耗费的时间,提升软件测试的准确度,从而节省资源开销,提升测试效率,降低测试成本。
[0005]本专利技术的技术方案为:本专利技术揭示了一种软件自动化测试的系统,系统包括版本控制系统、持续集成服务器、硬件设备工具、电子控制单元,其中:
[0006]版本控制系统,配置为接收来自软件开发人员提交的源代码;
[0007]持续集成服务器,配置为通过服务器上部署的Jenkins服务器,利用管道脚本机制接收来自版本控制系统的输入,自动进行代码同步,编译,下载,静态代码检查,动态代码检查以及集成测试,并反馈包括编译、静态代码检查,动态代码检查以及集成测试阶段在内的各个阶段的测试报告;
[0008]硬件设备工具,配置为连接持续集成服务器和电子控制单元,且和持续集成服务器进行网络数据的交互;
[0009]电子控制单元,配置为运行软件代码,通过持续集成服务器对收发报文数据进行功能控制。
[0010]根据本专利技术的软件自动化测试的系统的一实施例,版本控制系统的数据传输到持续集成服务器,硬件设备工具分别和持续集成服务器、电子控制单元进行双向的数据连接。
[0011]根据本专利技术的软件自动化测试的系统的一实施例,版本控制系统包括开源版本控制系统或者分布式版本控制系统。
[0012]根据本专利技术的软件自动化测试的系统的一实施例,硬件设备工具和持续集成服务器交互的网络数据是CAN/CANFD数据。
[0013]根据本专利技术的软件自动化测试的系统的一实施例,持续集成服务器所配置的具体处理包含:
[0014]通过管道脚本自动同步版本控制系统上的源代码;
[0015]调用代码工程的编译脚本,对源代码进行代码编译,编译完成后将反馈结果;
[0016]将编译完成的可执行文件通过硬件设备工具下载到电子控制单元中;
[0017]调用LDRA静态代码测试脚本进行代码的静态分析,并反馈静态分析结果;
[0018]调用VectorCast动态测试工具对代码进行动态代码分析,并反馈动态分析结果;
[0019]调用Canoe集成测试脚本进行集成测试,并反馈集成测试报告。
[0020]本专利技术还揭示了一种软件自动化测试的方法,方法包括:
[0021]步骤1:版本控制系统的服务器接收来自软件开发人员提交的源代码;
[0022]步骤2:持续集成服务器通过其上部署的Jenkins服务器,利用管道脚本机制接收来自版本控制系统的输入,自动进行代码同步,编译,下载,静态代码检查,动态代码检查以及集成测试,并反馈包括编译、静态代码检查,动态代码检查以及集成测试阶段在内的各个阶段的测试报告。
[0023]根据本专利技术的软件自动化测试的方法的一实施例,版本控制系统包括开源版本控制系统或者分布式版本控制系统。
[0024]根据本专利技术的软件自动化测试的方法的一实施例,步骤2中进一步包括:
[0025]持续集成服务器上部署的Jenkins服务器自动同步版本控制系统服务器上的源代码,调用编译命令进行自动编译并反馈编译结果,同时调用下载脚本将编译好的可执行文件下载到电子控制单元中;
[0026]持续集成服务器上部署的Jenkins调用静态代码检测脚本,对源代码执行静态代码检查命令,反馈静态测试报告,以供开发人员根据静态测试报告提示内容修复代码的错误;
[0027]持续集成服务器上部署的Jenkins调用动态代码测试脚本,对源代码执行动态代码检查命令,反馈动态测试报告,以供开发人员根据动态测试报告提示内容修复代码的错误;
[0028]持续集成服务器上部署的Jenkins调用集成测试脚本,对下载到电子控制单元中的代码执行集成测试命令,反馈集成测试报告,以供开发人员根据集成测试报告提示内容修复代码的错误。
[0029]根据本专利技术的软件自动化测试的方法的一实施例,静态代码检测脚本是用Python编写的LDRA脚本,动态代码测试脚本是VectorCast脚本,集成测试脚本是Canoe中的CAPL脚本。
[0030]本专利技术对比现有技术有如下的有益效果:本专利技术利用Jenkins服务器实现软件的自动化测试,服务器自动进行代码同步,编译,下载,静态代码检查,动态代码检查以及集成测试,并将每个阶段的测试报告及时反馈给开发人员,覆盖了软件开发的整个流程,弥补了人工测试效率低,质量低,成本高等弊端,有效的提高了项目开发质量,降低开发成本。
附图说明
[0031]在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本专利技术的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
[0032]图1示出了本专利技术的软件自动化测试的系统的一实施例的原理图。
[0033]图2示出了本专利技术的软件自动化测试的方法的一实施例的流程图。
[0034]图3示出本专利技术中用到的Jenkins技术的示意图。
具体实施方式
[0035]以下结合附图和具体实施例对本专利技术作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本专利技术的保护范围进行任何限制。
[0036]图1示出了本专利技术的软件自动化测试的系统的一实施例的原理。请参见图1,本实施例的系统包括:版本控制系统、持续集成服务器(CI Server)、硬件设备工具(例如vector的硬件或者Pcan硬件)、电子控制单元(ECU,Electronic Control Unit)。版本控制系统在本实施例中包括:开源版本控制系统(SVN,即subversion)或者分布式版本控制系统(Git)。
[0037]上述模块之间的数据传输关系如下:版本控制系统的数据传输到持续集成服务器,硬件设备工具分别和持续集成服务器、电子控制单元进行双向的数据连接。
[0038]版本控制系统接收来自软件开发人员提交的源代码,通过Jenkins脚本同步到持续集成服务器中。
[0039]持续集成服务器通过部署的Jenkins服务器,利用管道(Pipeli本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件自动化测试的系统,其特征在于,系统包括版本控制系统、持续集成服务器、硬件设备工具、电子控制单元,其中:版本控制系统,配置为接收来自软件开发人员提交的源代码;持续集成服务器,配置为通过服务器上部署的Jenkins服务器,利用管道脚本机制接收来自版本控制系统的输入,自动进行代码同步,编译,下载,静态代码检查,动态代码检查以及集成测试,并反馈包括编译、静态代码检查,动态代码检查以及集成测试阶段在内的各个阶段的测试报告;硬件设备工具,配置为连接持续集成服务器和电子控制单元,且和持续集成服务器进行网络数据的交互;电子控制单元,配置为运行软件代码,通过持续集成服务器对收发报文数据进行功能控制。2.根据权利要求1所述的软件自动化测试的系统,其特征在于,版本控制系统的数据传输到持续集成服务器,硬件设备工具分别和持续集成服务器、电子控制单元进行双向的数据连接。3.根据权利要求1所述的软件自动化测试的系统,其特征在于,版本控制系统包括开源版本控制系统或者分布式版本控制系统。4.根据权利要求1所述的软件自动化测试的系统,其特征在于,硬件设备工具和持续集成服务器交互的网络数据是CAN/CANFD数据。5.根据权利要求1所述的软件自动化测试的系统,其特征在于,持续集成服务器所配置的具体处理包含:通过管道脚本自动同步版本控制系统上的源代码;调用代码工程的编译脚本,对源代码进行代码编译,编译完成后将反馈结果;将编译完成的可执行文件通过硬件设备工具下载到电子控制单元中;调用LDRA静态代码测试脚本进行代码的静态分析,并反馈静态分析结果;调用VectorCast动态测试工具对代码进行动态代码分析,并反馈动态分析结果;调用Canoe集成测试脚本进行集成测试,并反馈...

【专利技术属性】
技术研发人员:马高峰
申请(专利权)人:合众新能源汽车有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1