Chapter 1.2.4 in Agile Tester Add-On: Continuous Integration

An important concept of any agile software development is getting reliable, working and integrated software at the end of every sprint or iteration. Continuous integration is a software development practice addressing this challenge by merging all changes made to the software and integrate all changed components regularly, at least once a day. Goal is to wrap compilation, build, deployment and testing into a single, automated and regularly repeatable process. Continuous integration can also be seen as a process in which developers integrate their work constantly, build constantly, and test constantly so errors in code can be detected more quickly.

A full continuous integration process consists of the following activities:

  • Coding: write and debug code
  • Checking-In: transfer the code in a centralized source code repository
  • Static testing: execute and report automated static testing
  • Building: a build tool automatically builds the code
  • Unit testing: execute, measure coverage and report automated unit testing
  • Deploying: automatically deploy the build
  • Integration Testing: execute and report automated integration testing
  • Reporting (dashboard): make the status of all previous bullets/activities visible automatically

The text above is a sample from the upcoming Agile Tester Add-On that will be released in early 2014. Please note that Agile Tester Add-On is in its alpha phase, which means that its content may change. Visit www.istqb.org to get latest information.