? QA Design Gurus: Importance of automated tests in Continuous Integration

Jun 16, 2015

Importance of automated tests in Continuous Integration


In today's business world, it has become a norm to work as a distributed team. If we take the example of OpenEdge development in Progress Software (The Company i work for), OpenEdge product contains multiple components like a language, database, servers, IDE, etc.. The development of these components is done using multiple technologies like C, CPP, Java, ABL, .net, etc.. Along with that, the development of this product is distributed among different teams across the world. So, application development environment might have multiple teams, multiple technologies involved. Development happens at one place and testing at other. So, it is always difficult to catch right person at right time.

In addition to distributed teams, now a days with AGILE development everywhere, applications are being released in a very short time to market. With this, development is being done iteratively and for each iteration whole Software Development Lifecyle needs to be completed within that short cycles.

QA face difficulties to keep up with these fast releases, since they need to complete whole regression testing of existing functionality along with the new feature testing. Along with the functional testing, they may need to do load testing, performance and system testing.

Continuous integration is a good way to minimize regression testing. In order for Continuous integration to succeed, QA relies heavily on individuals writing scripts for tools. The scripts need to be written not only to test the feature being implemented, but the feature we delivered a year ago still has to work.

Continuously integrated builds undergo automated testing whenever a developer pushes code to a repository, but running larger tests at specific times is still valuable. During a nightly build, run a full site or application load test for whatever we expect the user base to be at any given time. Then, toward the end of an iteration or sprint, stress the application to its breaking point to set a new bar for how many concurrent users it can handle.

So, including all our automated test suites to Continuous integration increases QA's confidence.

No comments:

Post a Comment