Planning Your Continuous Integration Roadmap

In today’s IT ecosystems, you see a lot of development shops that want Automation and Continuous Integration (CI) and they want it NOW! A common pitfall of Test Automation is setting unrealistic objectives. How often have you heard, “Let’s automate everything!”. Test Automation is not a silver bullet that will solve all your testing issues. It should be treated as a means of achieving your ultimate QA objectives. Ingraining quality into your software lifecycle from requirements definition to test execution will set you on the right path to successfully implementing Automation and CI.

There are many variations to the process, but the basic CI build cycle consists of these key steps:

  • Developer commits changes to the source code repository
  • Build server executes the master build script or delegates execution to another server
    • Checks out source code
    • Builds executable version of the application
    • Runs other jobs, such as testing and code inspection
  • Team is notified of build results through a feedback mechanism
    • If alerts are generated, the team takes immediate action to correct problems
    • If a code fix is needed, developer commits the corrected code back to the repository; this action kicks off a new build cycle.

Continuous deployment is a culmination of practices and steps that enable a team to release working software any time, any place, with as little effort as possible.

You need a quality manual QA process before test automation, and a quality test automation framework before CI can be successfully implemented. Investing in the right QA Roadmap will greatly increase your chances of successfully implementing an Automation/CI framework.