Thursday, June 8, 2017

Introduction to Continuous Integration and Jenkins

Continuous Integration is a software development practice in which developers will be committing their code copies to central repositories (Git, SVN GitHub) frequently and for each integration automated build verification tests (unit tests) will be executed to accept or reject the build.

One the gating conditions met the build will be accepted and then further steps like functional tests, performance tests will be executed as part of CI/CD pipeline and finally build will be deployed.

In recent times Continuous Integration has become best-practice in software development. On of the advantage of CI is to identify the defects quickly and easily. Because each time relatively small component will be integrated to the system, finding out the defect in the small component becomes easy.

Generally the build verification tests are written by developers which are mainly unit tests to test their code. They create some Jobs in the Jenkins to trigger the unit tests when some code/build is committed in the share point. If the tests are passed the build is deployed to the application.

Using the above mechanism of CI tool like Jenkins in automation testing, the smoke or regression test suites can be triggered whenever the build deployed in the application server successfully. This continuous process reduces manual intervention; testers not need to wait for the build to get deployed to trigger the automation tests.

Jenkins is a mostly used Continuous Integration tool and it is developed in Java. Because it is developed in Java, Jenkins is platform independent tool, can be used in Window, Mac and etc. 

No comments:

Post a Comment

Selenium4: Working with two parallel windows in Selenium Automation

A new method newWindow() is introduced in Selenium 4 (Alpha). Using this method we can open a new tab or new window from the current window...