Software Test Automation And Strategy
By: M Trellis
Companies 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 testing or improving test coverage.
Service Tightening build schedules, preventing destabilisation, 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 maximise 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.
... to read more articles, visit http://sqa.fyicenter.com/art/