continuous integration (CI)
What is continuous integration (CI)?
Continuous integration (CI) is a software engineering practice in which isolated changes are
immediately tested and reported on when they are added to a larger code base. The goal of CI is to
provide rapid feedback so that if a defect is introduced into the code base, it can be identified
and corrected as soon as possible. Continuous integration software tools can be used to automate
the testing and build a document trail.
Continuous integration has evolved since its conception. Originally, a daily build was the standard.
Now, the usual rule is for each team member to submit work on a daily (or more frequent) basis and
for a build to be conducted with each significant change. When used properly, continuous
integration provides various benefits, such as constant feedback on the status of the software.
Because CI detects deficiencies early on in development, defects are typically smaller, less
complex and easier to resolve.
According to Paul Duvall, co-author of Continuous Integration: Improving Software Quality and
Reducing Risk, best practices of CI include:
- Committing code frequently.
- Categorizing developer tests.
- Using a dedicated integration build machine.
- Using continuous feedback mechanisms.
- Staging builds.
CI originated from within the extreme
programming paradigm but the principles can be applied to any iterative programming model, such
as agile programming. Traditional development approaches, such as the waterfall model
can benefit from using CI methods for the construction stage.
This was last updated in July 2008
Email Alerts
Register now to receive SearchSoftwareQuality.com-related news, tips and more, delivered to your inbox.
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States.
Privacy
More News and Tutorials
-
Software consultant Nari Kannan describes how agile practices and work can be scaled appropriately for success in large organizations. Using lean thinking, reduction of waste, and appropriately organizing work and people, agile can be successfully adapted, regardless of the size of the organization.
-
Undiscovered software glitches in complex systems are common, and one of the primary drivers is the loss of mainframe knowledge of a retiring workforce. Software glitches are lurking in many large systems, particularly mainframe systems, and the COBOL programmers that understand the code best are retiring, according to Jeff Papows, author of the new book, "Glitch - The hidden impact of faulty software." Papows describes how faulty software caused a huge charge to debit card holder's account and why such mistakes are on the rise in this interview. Papows notes the three most pressing drivers for software glitches: loss of intellectual knowledge, market consolidation and the ubiquity of technology
-
Karen Johnson suggests a variety of ways that testers can gain additional skills and experience, including social networking and open source testing.
-
Articles
-
Resources from around the Web