These Guidelines are applicable for any Software Test Automation Tool.
Careful planning is the key to any successful process. To guarantee the best possible result from an automated testing program (For Example QTP), those evaluating test automation should consider these fundamental planning steps. The time invested in detailed planning significantly improves the benefits resulting from test automation.
Evaluating Business Requirements
Begin the automated testing process by defining exactly what tasks your application software should accomplish in terms of the actual business activities of the end-user. The definition of these tasks, or business requirements, defines the high-level, functional requirements of the software system in question.
These business requirements should be defined in such a way as to make it abundantly clear that the software system correctly (or incorrectly) performs the necessary business functions. For example, a business requirement for a payroll application might be to calculate a salary, or to print a salary check.
Script Planning & Design
This is the most crucial phase in the Automation cycle. Script planning essentially establishes the test architecture. All the modules are identified at this stage. The various modules are used for navigation, manipulating controls, data entry, data validation, error identification, and writing out logs.
Reusable modules consist of commands, logic, and data. Generic modules used throughout the testing system, such as initialization and setup functionality, are generally grouped together in files named to reflect their primarily function, such as “Init” or “setup”. Others that are more application specific, designed to service controls on a customer window, for example, are also grouped together and named similarly.
All the identified functions/modules/libraries/scripts are named as per the Standard Naming Conventions followed. The test data planning is also done in this phase.
Nice post.
Evaluating business requirements and planing/design is the major task, implementation in certain tools is secondary task.