持续集成(Continuous Integration,简称CI)是一种软件开发/测试方法。它要求开发及测试人员频繁地将代码提交到用于共享的开发分支中,经过充分的测试和审查,然后通过自动化的构建和测试流程,对代码进行构建、单元测试、集成测试等步骤以确保代码的质量和可交付性。早在2000年代初,就有主机厂及零部件供应商开始尝试通过持续集成来提升软件开发效率和质量。而在竞争愈发激烈、整车集成化趋势愈加凸显的当下,二者都认识到提升软件开发效率和质量的重要性。他们深刻的明白为了快速响应市场需求和用户反馈,同时尽可能避免缺陷和故障,一个高效可靠的持续集成流程是必须的。因此,持续集成在汽车软件测试行业的重要性自是不言而喻。Jenkins作为最具代表性,市场占比最高的开源CI工具,在构建持续集成流程方面发挥了重要作用。通过使用Jenkins,可以轻松地集成其他各式工具,自动构建、执行测试流程。Jenkins 还提供了灵活且丰富的插件系统,允许用户根据需要去定制专属的工作流程。
在这样的背景下,VectorCAST作为Vector公司旗下基于V模型开发的C/C++代码动态测试工具,也针对Jenkins开发了自己的插件,使其能够与Jenkins进行无缝集成。通过使用VectorCAST和Jenkins进行集成测试,无需启动客户端便可便捷快速的完成自动测试及增量回归测试,得到完整的测试结果报告。那么接下来就为大家介绍如何在Jenkins上完成对VectorCAST工程的持续集成。集成准备工作
一、VectorCAST工程配置当我们想在Jenkins上执行VectorCAST工程时,我们首先需要有一个完整的VectorCAST工程,包含四个部分,即编译器、测试套件、组和环境。
在完成于VectorCAST工具上的测试项目创建后(具体操作方式请查看上方视频,得到工程对应的vcm文件:
二、Jenkins配置
在网页端打开Jenkins,通过Jenkins的Manage Jenkins Plugins Available plugins搜索安装VectorCAST对应的两个可安装插件:通过Jenkins的节点管理Manage Jenkins Nodes来创建执行项目所用的节点并设置节点并发数。节点是用来执行构建任务的工作机器或服务器,我们可以自由选择创建在主机或虚拟机中,通过在Jenkins中配置和管理节点,可以实现分布式构建和部署,通过将任务分配到不同的节点上并行执行,来提高构建和部署的效率;而并发数应选择设置为大于等于当前项目的环境数,否则会导致当前项目没有可用的节点致使执行停止:
回到Jenkins主页面选择VectorCAST,我们便可以看到现在可通过Create Single Job或是Create Jenkins Pipeline来创建任务,在Jenkins中,Single Job和Pipeline Job都可以完成同样的构建过程与结果,而Pipeline Job更适合多个测试环境下需要节省时间并行执行的项目,且对于Pipeline Job,我们不需要单独去编写pipeline脚本,VectorCAST插件会自动生成pipeline脚本来帮助我们更快速便捷的构建Jenkins工程:Jenkins Job创建
我们选择任一Jenkins Job,开始对相应的VectorCAST工程进行配置,配置选项除以下提及外皆选择默认即可。
在Project Path处选择我们项目的vcm文件的路径,如是本地则选择其绝对路径,如使用Git库/SVN拉取文件则转为选择相对路径:Node Label处填入此前创建好的节点名称:
Job Options处选择为当下创建的任务命名,此处也可保持空白,插件会根据 vcm 文件的名字自动命名:
在接下来的Scripts脚本处可用于定义 Windows及Unix(根据实际使用的系统而定)的脚本命令。我们可以通过定义环境变量或调用批处理文件来设置环境脚本命令。当我们的工程是通过交叉编译链进行编译的,那么就可以将相应的环境配置或是批处理脚本填入此处:
当我们需要从Git库/SVN检出文件时,我们可以通过SCM项进行关联:Single Job:Pipeline Job:在我们完成对于Jenkins Job的配置后,选择Create即可完成Jenkins Job的创建。执行并查看结果
选择我们上面创建好的Jenkins Job,通过Build Now执行当前任务。
Jenkins的自身特性会在任务执行过程中实时监控并进行记录,通过点击执行进度条进入控制台查看实时执行进度:
待执行完成后便可查看执行结果,VectorCAST插件同样会生成通过工具执行结果所得的相应报告:
同时我们也可以检查这个工程的测试用例的执行情况及整体的覆盖度情况:
对于Pipeline Job,我们还可以通过阶段视图与Blue Ocean来帮助我们更清晰的认知到每一阶段的执行情况:
以上就是我们通过Jenkins集成VectorCAST的全部内容,而除此之外,我们还提供基于脚本的方案来助力自动化整个测试流程。相较于需要手动进行配置的插件。脚本方案可以更加便捷灵活的完成适配工程,执行测试,报告生成并通知的全自动化流程。如果您对这方面感兴趣或是有任何需求,请随时与我们取得联系,我们很乐意与您进行详细讨论。
总结
目前,持续集成在汽车软件测试行业已经成为一种必要的实践。许多的汽车公司都建立了专门的持续集成流程,来管理和执行软件的构建、部署、测试和监控等活动。同时,也另有一些新兴的技术和工具,如云计算、微服务架构、DevOps实践等,为持续集成提供了更多的可能性和挑战。
对于VectorCAST来说,它不仅仅在持续集成领域提供了卓越的支持,还可以通过与Docker集成来提供更灵活的测试环境,VectorCAST还支持与多种需求管理服务器(如Polarion、CodeBeamer等)进行集成。同时,VectorCAST还提供了整个测试过程的命令行接口,并支持自定义生成报告等多种功能。
如果您想了解更多有关信息请联系北汇信息,北汇信息作为Vector公司的中国合作伙伴,拥有专业的VectorCAST测试服务团队,可为您提供周全完整的研发、测试解决方案及优质的技术支持服务。
全部0条评论
快来发表一下你的评论吧 !