Home > Ask the Software Quality Experts > Software Testing and Quality Assurance Questions & Answers > Building automated tests for legacy applications
Ask The Software Quality Expert: Questions & Answers
EMAIL THIS

Building automated tests for legacy applications

Karen N. Johnson EXPERT RESPONSE FROM: Karen N. Johnson

Pose a Question
Other Software Quality Categories
Meet all Software Quality Experts
Become an Expert for this site


Software quality news and advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


>
QUESTION POSED ON: 21 May 2008
We use the TestFrame approach for testing our financial services messaging application which is on legacy HP tandem. Currently the test ware build is ON with manual design of test clusters but later on intend to progress towards automation. For this typical legacy application, what could be the automation challenges? Could we use current manual test clusters for future automation input? Currently the manual testers are not able to foresee the navigation requirements and challenges and fear huge rework.

>
EXPERT RESPONSE

Your specific environment and tools are unfamiliar to me. I'll reply to a more generic version of this question which I see as, "We have a legacy application that we would like to build automation for. What are the advantages and disadvantages? And also, can current manual tests be used to build future automation tests?"

Building automation for a legacy application has the advantage of the user interface most likely being settled and unlikely to be updated -- at least not updated significantly. If the test automation tool you are using relies on the user interface to navigate tests, then this is a considerable advantage. The other advantage with a stable user interface is that you and your team can work on the automation intermittently as time permits versus the automation frenzy and rework that sometimes takes place on applications still heavily under development and/or frequent releases.

The disadvantage of automating a legacy application is that if the user interface uses custom controls or has other interesting application quirks; it can be harder to solicit help from a team who may have moved onto focus on more current efforts. It might also be the case that if the application is older and the technology it relies on is older; you may no longer have developers on staff that can assist with challenges that may come your way. In my experience, the hardest aspect of working on legacy applications is psychological and technical. The psychological factor is that once an application is old and is no longer a primary focus of a team, getting and using resources becomes difficult; people want to work on new applications. The technical factor is that people want to work with the most current technology they can (this is often, but not always, the case as some people prefer the comfort of technology they know). You may find as a test lead or manager working with a legacy application that much of your efforts will be centered around inspiring people to continue work on the old.

As to the second part of your question, manual tests are often used as the foundation to building an automated test. Instead of trying to automate manual tests, I think it's more advantageous to look at the automation tool you're working with and the application and look to automate tests that fall into the following areas:

  • Tests that require extensive manual effort.


  • Tests where the result of pass and fail isn't arbitrary.


  • Tests that are best executed with volumes of data -- such as search testing or creating new items where the manual labor to execute the tests is considerable and the advantage of having run "many" tests with different data has a benefit.


  • Tests that use the automation tool for what you discover the tool is best suited to. Every tool has its advantages -- use the tool to do what the tool is best at. This may or may not always match what you wish the tool could do.

Software testing resources:
How to thoroughly test a website without automated tools

From manual tester to automated tester

Automated software testing: The role of a test engineer

Fearing rework to automation is an intelligent worry. Rework is time consuming. Planning automation where each script or component is a small slice that can be used by many scripts is a strategy that has been true for a long while and I would suspect may always be the case. For example, rather than write a test automation script where a user logs in, executes an action and then logs out -- these actions can be built in three separate automation scripts. There is nothing new about this strategy but that doesn't make the strategy less appealing. When you brainstorm with your team about building automation, I would suggest always thinking about how to build scripts that will be less susceptible to change and favor small component scripts whenever feasible.


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


RELATED CONTENT
Automated software testing
How to use tools for system integration testing
How Google developed the Chrome Web browser
Functional testing of Web services
Effective Web page testing
Parasoft enhances its Application Security Solution
Tools of the Agile trade
Automated functional testing boosts productivity at Arizona Federal
Brief: Sigma testing tool integrates with VMware virtual lab
GUI automated testing projects
Application performance management today, part 2: Role of Java developer groups

Software testing and quality assurance (QA) fundamentals
Pictures communicate software requirements without slowing development
Common mistakes of new software testers
Cloud computing creates software testing challenges
How cloud computing affects agile practices, testing
Test strategy document vs. an acceptance test plan
SOA application testing a combined effort
Overcoming SOA testing challenges
The future of software testing
Eliminating testing environment troubles
How to match the test environment to the production environment

Software Testing and Quality Assurance
Should you retest closed defects during regression testing?
Common mistakes of new software testers
How to test an application's scalability, performance
Integration testing: Is it black box or white box testing?
Test strategy document vs. an acceptance test plan
The future of software testing
Quality assurance testing vs. user acceptance testing
Eliminating testing environment troubles
How to use tools for system integration testing
How to match the test environment to the production environment

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
automated test equipment  (SearchSoftwareQuality.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary



Search and Browse the Expert Answer Center
Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
Browse our Expert Advice



Software Quality - Software Maintenance, Software Requirements, Software Standards
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides enterprise IT professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective IT purchase decisions and managing their organizations' IT projects - with its network of technology-specific Web sites, events and magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Reprints  |  Site Map




All Rights Reserved, Copyright 2006 - 2008, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts