Test Framework for Jenkins Shared Libraries

Renan Vieira Antunes, Gabriela Matias Navarro, Simone Hanazumi
{"title":"Test Framework for Jenkins Shared Libraries","authors":"Renan Vieira Antunes, Gabriela Matias Navarro, Simone Hanazumi","doi":"10.1145/3266003.3266008","DOIUrl":null,"url":null,"abstract":"Delivering new features to users as fast and efficiently as possible is a common challenge on software development. A continuous delivery and integration pipeline can be used for this purpose, since it provides an automated way to orchestrate a series of steps for building, versioning, testing and deploying an application code.\n The newest version of Jenkins works with a concept called pipeline-as-code, where instead of configuring jobs on Jenkins to build, deploy or test the application, the user can implement a shared library with the same purpose. As a result, Jenkins job settings have been transformed into Groovy code, which enables the development of automated unit tests. However, using this pipeline brings the challenge of guaranteeing the high quality of this orchestration process. Unit tests by themselves are not enough to make sure that the implementation of new pipeline features did not add new bugs or changed the pipeline behavior. To do this validation we need to write functional tests, but that requires understanding of Jenkins and Groovy which can make this task complex. For this reason, a test framework was created as a shared library to facilitate the creation of functional tests for Jenkins shared libraries. The framework can execute several pipeline scenarios described by the user and apply them to different projects. The framework helps to ensure a high quality in the pipeline code used to ship your application from development environment until production, resulting in a more reliable process.","PeriodicalId":208536,"journal":{"name":"Brazilian Symposium on Systematic and Automated Software Testing","volume":"53 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-09-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Brazilian Symposium on Systematic and Automated Software Testing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3266003.3266008","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Delivering new features to users as fast and efficiently as possible is a common challenge on software development. A continuous delivery and integration pipeline can be used for this purpose, since it provides an automated way to orchestrate a series of steps for building, versioning, testing and deploying an application code. The newest version of Jenkins works with a concept called pipeline-as-code, where instead of configuring jobs on Jenkins to build, deploy or test the application, the user can implement a shared library with the same purpose. As a result, Jenkins job settings have been transformed into Groovy code, which enables the development of automated unit tests. However, using this pipeline brings the challenge of guaranteeing the high quality of this orchestration process. Unit tests by themselves are not enough to make sure that the implementation of new pipeline features did not add new bugs or changed the pipeline behavior. To do this validation we need to write functional tests, but that requires understanding of Jenkins and Groovy which can make this task complex. For this reason, a test framework was created as a shared library to facilitate the creation of functional tests for Jenkins shared libraries. The framework can execute several pipeline scenarios described by the user and apply them to different projects. The framework helps to ensure a high quality in the pipeline code used to ship your application from development environment until production, resulting in a more reliable process.
Jenkins共享库的测试框架
尽可能快速有效地向用户交付新特性是软件开发中的一个常见挑战。持续交付和集成管道可以用于此目的,因为它提供了一种自动化的方式来编排构建、版本控制、测试和部署应用程序代码的一系列步骤。最新版本的Jenkins采用了管道即代码的概念,用户可以实现一个共享库,而不是在Jenkins上配置作业来构建、部署或测试应用程序。因此,Jenkins作业设置被转换成Groovy代码,从而支持自动化单元测试的开发。然而,使用这个管道带来了保证这个编排过程的高质量的挑战。单元测试本身不足以确保新管道特性的实现没有添加新的错误或改变管道行为。为了进行验证,我们需要编写功能测试,但这需要了解Jenkins和Groovy,这会使这项任务变得复杂。由于这个原因,一个测试框架被创建为一个共享库,以促进Jenkins共享库的功能测试的创建。框架可以执行用户描述的几个管道场景,并将它们应用于不同的项目。该框架有助于确保用于将应用程序从开发环境运送到生产环境的管道代码的高质量,从而产生更可靠的过程。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信