Making a success of software test automation
Many attempts at software test automation fail because the groundwork is not carried out. This article lists five steps that are needed to succeed in this field.
Organisations are turning to automated testing tools more often than ever before to ensure that their applications are working properly prior to deployment. That is particularly important today as more and more applications are written for use on the Web which is the most public of arenas.
But for many IT and quality assurance managers, automation is a daunting task. So how do you get quick wins with automation? This article aims to help you develop a test strategy for automation that fits your circumstances:
1. Recognise that test automation is not automated software testing but computer-assisted testing.
Test automation may provide test execution elements, however what other ways could computers help testing. For example: test data generation; installations; file/database comparisons and analysing test results.
2. Decide what your automated test goal is (and re-evaluate your test mission as it may change)
Efficiency
This can be one Test Automation Goal, where the key aspects may be reducing testing costs, reducing the time in the testing phase, automating regression tests or improving test coverage.
Service
Tightening build schedules, preventing destabilization, playing to computer and human strengths and increasing management confidence in the product.
Extended testing reach
API based testing, component testing, model based tests, data driven tests and internal monitoring & control
Multiplying resources
Platform testing, configuration testing, model based tests and Data driven tests
3. Recognise that Test Automation scripting is akin to development and programming
When embarking on the use of scripted test tools the same practices used in software development apply. This includes code standards and reviews. The Key to success with scripting is to:
-- Generate re-usable components to maximize maintainability.
-- Use a data driven approach, so that a simple change to data can spawn a whole new raft of tests
-- Use keyword approaches to enable not technical users to 'drive' the automation.
4. Decide on the right tools
There are many automated testing tools that can aid testing from excel spreadsheets to Code analysers. The key here is to find tools that are right for your environment.
Commercial GUI Regression Test tools:
Mercury QTP, Winrunner, Compuware TestPartner, Rational Robot
Unit Test Tools:
nunit, junit, jwebunit, htmlunit Existing Development tools: Visual Studio Team test, perl, ruby
Open Source Test Tools:
Wink, rth, Fiddler, Selenium, WATIR, TestCaseManager, SwexplorerAutomation, ieunit, web test
What environment(s) do you wish to test? Web, SAP, Client/Server, .net, Java, UNIX
It is all too easy, however to select an automation tool and be tempted to try to use it for the total automation of all applications. Some tasks do not lend themselves to the tool, but can still be automated using other tools such as command files or PC functionality. There may also be some processes where it is more efficient to test manually. You should not attempt to automate these.
5. Decide who will perform the automation and use the tools
It is critical to decide who is going to use/and or create the tools. Don't treat test automation as a part time project. Allocate dedicated individuals time so they can provide real value. Overall when preparing a test automation strategy, plan to achieve small successes and grow.
Copyright Acutest
But for many IT and quality assurance managers, automation is a daunting task. So how do you get quick wins with automation? This article aims to help you develop a test strategy for automation that fits your circumstances:
1. Recognise that test automation is not automated software testing but computer-assisted testing.
Test automation may provide test execution elements, however what other ways could computers help testing. For example: test data generation; installations; file/database comparisons and analysing test results.
2. Decide what your automated test goal is (and re-evaluate your test mission as it may change)
Efficiency
This can be one Test Automation Goal, where the key aspects may be reducing testing costs, reducing the time in the testing phase, automating regression tests or improving test coverage.
Service
Tightening build schedules, preventing destabilization, playing to computer and human strengths and increasing management confidence in the product.
Extended testing reach
API based testing, component testing, model based tests, data driven tests and internal monitoring & control
Multiplying resources
Platform testing, configuration testing, model based tests and Data driven tests
3. Recognise that Test Automation scripting is akin to development and programming
When embarking on the use of scripted test tools the same practices used in software development apply. This includes code standards and reviews. The Key to success with scripting is to:
-- Generate re-usable components to maximize maintainability.
-- Use a data driven approach, so that a simple change to data can spawn a whole new raft of tests
-- Use keyword approaches to enable not technical users to 'drive' the automation.
4. Decide on the right tools
There are many automated testing tools that can aid testing from excel spreadsheets to Code analysers. The key here is to find tools that are right for your environment.
Commercial GUI Regression Test tools:
Mercury QTP, Winrunner, Compuware TestPartner, Rational Robot
Unit Test Tools:
nunit, junit, jwebunit, htmlunit Existing Development tools: Visual Studio Team test, perl, ruby
Open Source Test Tools:
Wink, rth, Fiddler, Selenium, WATIR, TestCaseManager, SwexplorerAutomation, ieunit, web test
What environment(s) do you wish to test? Web, SAP, Client/Server, .net, Java, UNIX
It is all too easy, however to select an automation tool and be tempted to try to use it for the total automation of all applications. Some tasks do not lend themselves to the tool, but can still be automated using other tools such as command files or PC functionality. There may also be some processes where it is more efficient to test manually. You should not attempt to automate these.
5. Decide who will perform the automation and use the tools
It is critical to decide who is going to use/and or create the tools. Don't treat test automation as a part time project. Allocate dedicated individuals time so they can provide real value. Overall when preparing a test automation strategy, plan to achieve small successes and grow.
Copyright Acutest

Use the feedback form below to submit your comments.

Use the form below to email this article to your friends.

- Software Testing - White Box Testing Strategy
- Software Testing - Black Box Testing Strategy
- Software Testing - Bug and Statuses Used During A Bug Life Cycle
- Software Verification & Validation Model - An Introduction
- Software Testing - Check Lists For Software Tester
- Software Testing - Brief Introduction To Exploratory Testing
- Software Testing - Test Cases
- Software Testing - How To Go About For Beginners
- Software Testing - An Introduction To Usability Testing
- Software Testing - Brief Introduction To Security Testing
- Software Testing - An Introduction!
- Software Testing - How To Log A Bug (Defect)
- Software Testing - Contents of a Bug
- Software Testing - Bug Life Cycles
- An Overview of Acceptance Testing
- Load testing – 10 pointers to improving performance
- Scalability Testing: A Checklist To Avoid Disaster
- How IT Company Makes Software Testing a Walk Through ?
- Is software testing company really important for your software?
- A Closer View at the Software Testing Company and its importance in SDLC…



