Before we start coding, it is important to think carefully about the underlining structure (architecture) of the target framework. This will minimize the costs of framework development and maintenance of the automated test assets, so that they can easily be extended to cover new requirements.
The key activities we need to perform in order to design a robust test automation framework may include:
Defining a standard project (or solution) folder hierarchy.
Defining a standard configuration and launcher script. This is typically not required when using HP ALM/QC together with UFT, thanks to their interoperability.
Designing a standard format for the automation components.
Designing reusable modules to reduce development and maintenance costs.
Designing a layered architecture of reusable modules.
Designing a standard flow control module.
Designing a standard data storage, loading, and sharing mechanism.
Designing a standard reporting...