At a time when software development cycle times have significantly reduced from years to months and even weeks, time is of paramount importance for clients. The need for speed in taking products to market puts extra pressure on everyone involved in the development and testing of the applications. This is to ensure that not only the time taken in coding and deployment is less but also that the requirements are perfectly met and the application is bug free. This need to reduce time calls for automating certain activities in the development cycle. One such activity is automated testing.
Time constraint often makes it impossible to test every feature of the application thoroughly before its release and that keeps everyone on the edge post release. Another important factor is that human beings are most likely to make mistakes while doing repeatable/mundane tasks. Unknowingly they may miss a few test scripts. Now this may not seem so serious but think about it this way: one single mistake might lead to poor product quality and that could ultimately lead to losing out on a customer or jeopardizing long built relationship with the client. Automation makes application testing repeatable and less prone to human errors.
Another advantage of automated testing is that tests can run faster hence they can be performed more number of times. At R Systems we have come across situations where 1600 test cases as part of test suite would require months to test but upon automation the tests could be run daily.
These days new requirements are continuously being added to an application, hence there is a need for developing new scripts to test the new features and the benefit of automated testing is that these new test cases can easily be added to the existing automation.
Automation also improves the test coverage and at R Systems we are working with clients where we have completely automated the testing of most of the components/elements in the project.
It has also become common to deploy applications on cloud and one of the biggest advantages of cloud applications is their scalability. But to take advantage of this feature continuous deployment is necessary and of course that automated deployment calls for the need to automate testing.
So, if everything is so great about automated testing then everyone should go for it, right? Well, in a way, yes, but there are a few things that one must know before making this decision.
The expectation of the clients is that automated testing is faster, cheaper and easier. But the truth is that there is a significant initial investment that needs to be made and hence it is important to carefully choose where to go for automated testing. It is important to accept that complete coverage of all tests using automation is impractical, as well as might prove to be extremely costly. Test cases which are likely to give more value as compared to the efforts and investments made should be automated first. Obviously when things are up and running, automated tests are much faster and easier but initially one needs expertise to make the most out of the benefits of automated testing.
Author: Bogdan Tudan – Business Unit Director