? QA Design Gurus: Continuous Integration for QA

May 12, 2016

Continuous Integration for QA


The Agile practice has completely changed the QA approach. Sprint iterations brought new practices to deliver the software quickly and with trusted quality. With the given limited time and dynamically  changing environment challenges the QA. Continuous integration practice  is the blessing in disguise.

Continuous integration enforces a discipline to integrate the tests more frequently and offers the benefits like reduced manual effort of running tests, easier trouble shooting, produces deployable working software at any point of time. It also helps to get the confidence in the software, provides better visibility of software health and transparency.

 

Continuous integration tools are evolved over the time. In the initial days, I remember using Cruise Control. Cruise Control had its own limitations like not able to detect the hanging builds, showing the test status in live. But the next generation tools are evolved with many features incorporated and fulfills all needs of CI users. I personally admired by TeamCity, as it offers great set of features and provides many build runners like command line runners, Junit, NUnit etc. In the recent past Jenkins is gaining momentum due to lot of features for free of use!

The general approach to hook in your tests into continuous integration tool is:
  • Create a CI QA project in CI tool.
  • Configure the source control in your QA project.
  • Configure list of agent machines in the CI pool to run the test.
  •  Choose the build runner. For example, if your tests are written in Junit use a Junit build runner. It can be NUnit or CLI runner depends on your need.
  •  Create an ANT/MSBuild script and add this as a driver script in your CI QA project.
  • Create a run decency or build chain dependency.
  • Create publish rules.

4 comments: