Test Automation the means to Attain Business Value

Writing by Ralph Decker on Thursday, 12 of March, 2009 at 12:01 pm

As organizations look to reduce costs across a wide range of operational disciplines, IT will become under the radar more and more. The impact of project slippage, poor quality delivery and inadequate solutions will prove a pain-point for organizations who have traditionally failed in these critical areas. And Testing, like all project disciplines, especially the automation testing is one such key area where cost-savings and project efficiencies can be generated. However, to maximize the benefits across all, there needs some simple principles to be followed.

To really make test automation work we need scripts that are reusable, robust, and reliable. More importantly, however, the scripts need to be modular in a framework. The scripts should be data driven, using external data in spreadsheets or a database that the business users can control. To identify whether automation is appropriate for any given project, we need to understand the benefits of each type of testing, and when each method is most appropriate.

Productivity: Automated Testing gives the confidence that new functionality has not changed the behaviour of the existing code. Takes the tedium away from repetitive tasks and assures accuracy.

Repeatability and consistency: The tests can be exactly reproduced for regression purposes and can also be exactly repeated for deeper diagnosis by the developers.

Speed of Execution: The scripts run as fast as the AUT. This allows testers to be more productive, and hence improves the test pack’s coverage.

Maximizing Machine Resources: The Tests can be run out of hours at no additional cost

Results Recording: Test results are automatically recorded for all outcomes. Test success evidence is available for audit purposes.

Ad Hoc and Exploratory Testing: Not suitable for ad hoc testing (although this is a possible use for record and replay).

Dynamic Applications: Automated scripts need a high level of maintenance for highly dynamic applications, although this can be minimized by the use of modular, reusable scripts and functions.

Make the most of your test automation tools. Define your requirements, and then chose the tools accordingly. Test automation should not be looked at project specifically, but as an enterprise wide asset. The most realistic way forward is to prove it on a few projects first. Pilot projects should be encouraged as a precursor to a Center of Excellence for automation where a centralized team of automation experts can be tooled and skilled up and shared amongst several projects. The experience and expertise built up can then be readily adopted by other projects. With this mind-set it is more likely that testing will be incorporated earlier and more fully, into the software development lifecycle.

Leave a comment

Category: Software Testing, Test Automation

Plan your Approach to Test Automation

Writing by AppLabs on Thursday, 12 of February, 2009 at 11:56 am

For the successful approach to Test Automation, set out guidelines and standards for the structure of the automated test scripts and the test assets.

  • First automate the least business-critical tests. It is better to look at those where there is certainty that the user interface is 100% stable in terms of screens and controls. The manual test scripts for the first iteration become the first set of automated regression scripts for the second iteration of the AUT.
  • Once the initial regression pack is in place, the manual testers can concentrate on writing tests for new functionality. These tests will subsequently be incorporated into the automated regression pack, augmenting its coverage more and more over time. To increase coverage with automated scripts more quickly, take existing scripts and adapt them for varying business scenarios.
  • Modularize the scripts, and create function libraries in order to eliminate code redundancy, maximize reusability and maintainability.
  • Incorporate error handling and reporting functions into the reusable modules. This saves coding time and makes the scripts more consistent, robust, reliable and maintainable. Do not forget to document the scripts and function libraries. If the test engineers don’t know what’s available, then inconsistency and code redundancy will ensue, affecting the maintainability.

With planning and proper use of automated test tools, the cost of testing can be dramatically reduced, and the resulting quality and reliability of the software will bring even more cost benefits to the business.

Leave a comment

Category: Software Testing, Test Automation, Test Plan