One of the hottest topics today in Application Development and Application Testing, in general, should be around Continuous Integration. Why there is so much buzz around this term?
Well, there are obvious reasons such as
a) improve the quality of the application
b) isolate and resolve defects faster
c) drastic improvement in tools, processes, and test suite.
Predominantly, there are few challenges that the testing folks can address quickly with the help of Continuous integration.
- Large teams working on the same code base
- Multiple stages of code deployments
- Conflicts between geographically scattered teams
The New Era
In this blog, I would like to explain why Continuous Integration and Jenkins are the ideal fit for any agile-driven process-oriented organization.
I will start with a two-liner snippet around Continuous Integration.
- CI is the practice of merging all developer workspaces several times a day with a shared mainline
- CI servers constantly monitor source code repositories
Yes, CI improves the quality
CI is a blessing for testers as it offers a variety of benefits. As an organization, if you’re not using Continuous Integration, my word of advice is “Just give it a try”.
As a big time CI fan, my list of benefits for the testers by using Continuous integration goes like this:
- Avoids or detects compatibility issues early
- Keeps workspace continually integrated with other developers
- Reduces less bugs – run a strong test suite against the code
- Integrates code with mainline, compiles and runs automated tests
- Deploys working piece of code at any point of time in the system
- Helps the developer to get early feedback on their code
- Reduces fixed cost: If a defect is introduced into the system, it can be identified and corrected as early as possible
Jenkins – Features and Strengths
If it is Continuous integration, then the marriage with Jenkins is made in heaven. Jenkins is a java based Continuous Integration Tool and it has its own capabilities, features, and strengths
To conclude with, I would like to list down
some of the notable benefits you can get as a tester when you are using Jenkins as a Continuous Integration tool.
- Highly configurable system by itself
- Push artifact to a wide range of repositories
- A wide variety of plugins provide more flexibility
- Integrate with different Version Control Systems
- Direct deployment to production or test environments
- Automated Notification of build status to stakeholders
- Immediate Bug detection by integrating development builds with test automation builds
- Combination of Jenkins with Ant, Gradle, or other Build Automation tools provides limitless feature
?Most Popular Topics
Follow us on Aspire Systems Testing to get detailed insights and updates about Testing!
- Continuous Integration using Jenkins – A 100% win-win situation - February 21, 2014