By Chris Stark and Bob Soleimani
Over the past few years the automated testing using tools such as Quick Test Pro (QTP) have taken over software Quality assurance by storm. Now-a-days with such a short application life cycle and fast changing UI (User Interface) the question is, well, is it worth spending on the infrastructure? Usually the startup cost of these platforms is really high and there is also maintenance costs associated with keeping and updating the scripts. The best approach could be a hybrid system of both manual and automated. The portion of an application that requires forms and transactions can be automated so in these cases repetitive testing proves to be of great importance. Normally, the interfaces for forms don’t change that much from the original comp and with a couple tweaks here and there the script is up and ready to run again. But automating a full application (especially web-based) will take too long and may need frequent updates to the test script.
Automated testing has proven beneficial in a more traditional software development processes such as ‘waterfall’. In methodologies such as waterfall, the software goes through a series of specific phases of development. By the time the “implementation” phase is completed and “verification” starts, the code for the application under test (AUT) is mostly stable, unit tested, and ready to go! It could go through some modifications, but not magnificent ones. As the result, the script developed for the testing would be stable and require very few changes. One of the major challenges of the test automation is outdated scripts. This is a costly side effect of automation. Basically the time it takes to develop a good test script and debug it is the time lost in testing and bug reporting. The developed script is good so long as there is no major change in the application code base. Test team can use and reuse the script to the end of time; however, on any minor or major code changes the test scripts must be revisited and updated.
Today, with most firms embracing AGIL methodology and such shorter product life span, could automated testing be as beneficial? Well, it depends. Quality assurance (QA) engineers can still benefit greatly from automation in AGILE shops in CRMs, and applications with heavy data insertion and retrieval, file open and close. Basically, we may want to see if our form front and backend implementation can support 2000 hits without crashing the site front-end or the backend DB. However, mimicking users’ navigation on a site can be a tedious scripting task to undertake and the value of manual testing may by far outweigh the automation. The biggest benefit will come from a hybrid system of manual and automated testing. This method allows for very specific, targeted automated testing of critical components, while allowing testers to have time to manually test the application and detect bugs.
