QTP - Frameworks
What is a Software Framework?
A Framework defines a set of guidelines/best practices that enforces a set of standards which makes it easy to use for the end users to work with. There are different types of automation frameworks and the most common ones are listed below:
- Keyword-Driven Framework
- Data-Driven Framework
- Hybrid Framework
Keyword driven testing is a type of functional automation testing framework which also known as table-driven testing or action word based testing.
In Keyword-driven testing we use a table format, usually a spreadsheet, to define keywords or action words for each function that we would like to execute.
It is best suited for novice or a non technical tester.
Enables writing tests in a more abstract manner using this approach.
Keyword driven testing allows automation to be started earlier in the SDLC even before a stable build is delivered for testing.
There is a high degree of reusability.
Initial investment in developing the keywords and its related functionalities might take longer.
It might act as a restriction to the technically abled testers.
Data Driven Framework
Data-driven testing is creation of test scripts where test data and/or output values are read from data files instead of using the same hard-coded values each time the test runs. This way testers can test how the application handles various inputs effectively. It can be any of the below data files.
- Excel files
- ADO objects
- CSV files
- ODBC sources
Data Driven Testing can be best understood by the following diagram:
Data driven framework results in less amount of code.
Offers greater flexibility for maintaining and fixing the scripting issues.
Test Data can be developed
Each script needs to be different to understand different sets of data.
Hybrid Framework is a combination of Keyword driven and data Driven framework that can be best described using the following flow diagram.
Following are the parameters one should take into account while developing the framework. The affects factors are listed below
Framework Files Should Support Versioning Controlling Software such as SVN,CVS, MS Source Control
Framework should support executing the scripts in different environments viz- QA, SAT, DEV
Upon Object Changes, Scripts should execute with minimal changes.
Framework should configure itself and take care of prerequisite such as creating folders/databases.
Framework Should have Robust Reporting Structure so that issues in the script/application can be easily spotted
Framework Should have greater flexibility so that it should be easy to use
Framework Should follow coding standards so that files, functions and history of changes are maintained correctly.
Designing a Framework
Let us design a simple framework by taking a sample application. We will automate few scenarios of the application under test and write reusable functions.
Please click the below link to learn more about designing frameworks. - QTP - Designing Framework