Wednesday, May 11, 2016

Continuous Integration for QA

Continuous Integration for QA
The Agile practice is completely changed the QA approach. Sprint iterations brought new practises to deliver the software quickly and with trusted quality. With the given limited time and dynamically  changing environment challenges the QA. Continuous integration practise  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 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 fulfils all needs of CI users. I personally admire 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.

Monday, August 23, 2010

After continuous testing for three years few questions raised and trying to share my experiences in this journey.

My biggest question is : Is testing is a science  or an art? 
Well I tried hard to find the answer.Here is my analysis.
  •  I do not agree with the people who believes in a concept: "The ultimate aim of a test engineer is to break the functionality of the software product". The ultimate bugs comes out only in the process of familiarizing and understanding the  software product. Any software is brittle and can easly breakable. The importance of a bug depends on the way that affects the customer/end user.The moral I learn t from my past experience is Understand the functionality.The good and quality bugs come into your way. 
*Yet to complete this post