The organization had initially invested in a suite of testing tools including Mercury's Test Director and QuickTest Professional (QTP). Mercury's Test Director had been embraced by the organization with a well defined set of requirements and manual test cases - unfortunately QuickTest Professional had effectively become "shelf ware". Now the organization needs to generate hundreds of transactions through the interface to validate the load capacity of the interface and the integrity of each transaction type. Solution "dust off" QuickTest Professional and quickly implement an effective automation solution to meet this immediate need.
A formal evaluation of QuickTest Professional (QTP) was only performed once the initial automation effort had been completed. The tool was first used to meet a specific need but the flexibility and power of the tool encouraged the testing team to engage in a proof-of-concept exercise with the tool exploring the possibility of automating several of the more time consuming test cases.
Management / Organization Perspective
General: QuickTest Professional (QTP) enabled the testing team to organize, author, and maintain a set of automated test cases and supporting software libraries in a shareable environment. The framework to support both Keywords and Data Driven is supplied "out-of-the-box" allowing the end-users to easily apply test case design, automation, and execution "best practices". QuickTest Professional comes with an easy to use interface that allows users to develop automation solutions using a bill-of-materials (tree) view of the Actions (Keywords) or a development view (expert).
Development: QuickTest Professional provides a software development environment designed to meet the needs of experienced and junior Test Automation Engineers. The programming language is derived from vbscript - this makes it accessible to anyone with even minimal development experience. Experienced Automation Engineers or developers will have little difficulty in becoming proficient QuickTest Professional developers - the online help and built-in tutorial certainly provides a firm foundation to grow from. The actual organization of the code is left up to the Engineers - the test organization must take responsibility for organizing and maintaining this code base.
Mapping: QuickTest Professional. provides an effective GUI mapping utility that enables a skilled test automation engineer to map and maintain information on the application interface. This information can be captured by script / action or as a shared resource - having a shared GUI resource did not prove to be as useful as one would expect (see lessons learned).
Wizards: QuickTest Professional is a mature Tier 1 test automation development tool. It comes with a large catalogue of integrated automation wizards - most of these wizards are aimed at the Keyword or Data Driven test automation paradigm. This is not an ad-hoc assembly of wizards - it is a well thought-out assembly of tools that are designed to support the Keyword and Data Driven testing paradigms.
Maintenance: QuickTest Professional is a test automation development studio, which allows for both development and maintenance of code, data, and test scripts. Management and control of the test artifacts is left to the testing organization - therefore maintenance can become burdensome if the testing organization does not implement adequate configuration management practices. The architectural framework, on which QuickTest Professional is built, certainly makes it much easier to accomplish these tasks than with previous generations of testing tools that were fundamentally based on the Record and Playback paradigm.
Summary: QuickTest Professional met and later exceeded the expectations of the test organization. For anyone familiar with the Keyword (Action Word) approach to test design and test automation this tool delivers almost immediate return on investment. The initial ramp-up was to create data driven scripts that would enable the automation of hundreds of transactions. This task was accomplished in four (4) business days by two (2) automation engineers. The success of this activity encouraged the testing team to perform a two (2) week proof-of-concept activity involving four (4) team members. During this exercise the team used a data driven Keyword approach that resulted in a Return-on-investment (ROI) of 10 to 1 - the ROI was based on person hours only (10 hours saved for every hour invested).
End-User "Automation Engineer"
The Test Automation Engineers found that QuickTest Professional supplied a complete framework to meet the organization's automation and test design needs. An enterprise wide test automation solution was implemented almost immediately - the framework supports an enterprise wide solution using the Keyword design paradigm. This was combined with a disciplined approach to Test Case Design and software development standards that led to a very robust solution.
From their automation work with QuickTest Professional the Test Automation engineers learned several valuable lessons.
QuickTest Professional is very dependent on the accuracy and robustness of the GUI map. The most effective way to construct and test a GUI map was to map against the most recent version and then test the map against earlier versions of the application. This helped the engineers identify object characteristics that would remain stable between releases - the engineers then used these object characteristics to map all objects of the same type. With QuickTest Professional. the default mapping characteristics almost always worked between releases but this could have been a result of the how the application under test was developed - recommend a cautious approach that verifies the robustness of the default map settings when first working with any application.
QuickTest Professional allows a group of engineers to work together by creating a common GUI map. The capability of creating a common GUI map was not a useful as originally thought - using a disciplined Keyword design approach resulted in most (98%) of objects only being used twice. Each object was usually used once for an "entry" Keyword and once for a "validation" Keyword - therefore the maintenance return on maintaining a common GUI map was minimal. Creating a common library or libraries of Keywords was much more useful.
QuickTest Professional allows a group of engineers to work together by creating a common library of Keywords (shared Keywords). The tool makes it extremely easy to setup these shared libraries - the important lesson here was the organization of libraries was critical to the successful reuse of the Keywords. Organizing the Keywords libraries based on the functional decomposition of the application under test worked extremely well. For example the Customer entity and Billing entity were separated into two separate libraries - therefore if a Keyword was required by a test designer they would check the Customer Keyword library, if it was not there then the designer would request a Keyword from the automation engineers.
QuickTest Professional comes with the capacity to create standalone code and store them in sharable libraries. This allowed the automation engineers to create a common toolkit that could be accessed and maintained by the team.
QuickTest Professional integrates with Mercury's new Quality Center - there was no opportunity to upgrade from Test Director to this new product line. QuickTest Professional integrated smoothly with Test Director but the team could not explore the new Business Process Testing model - on paper it certainly appears to be a good fit for anyone pursuing the Keyword testing paradigm.
QuickTest Professional is Tier 1 Test Automation solution that met the need of our Testing Organization. The combination of an effective test automation tool and a comprehensive testing framework provided immediate returns on the automation investment. The testing organization was able to maintain a return-on-investment of eight hours saved for every hour invested for each test cycle - this was a less than the original 10 to 1 ROI but the maintenance overhead made its presence felt once large portions of the application under test were automated. Most of this overhead was on the test design side - maintaining the Test Cases not the Keywords.