A test automation framework is a collection of re-usable methods which helps in automating test process.
Automation of test process include automation of following modules:
Test Execution: This is the place where a tool is used to execute the scripts.
Report Generation: This module concentrates on taking test execution results as input and will generate the customized reports of different levels.
It can be summary report which provides details like PASS/FAIL status and Time taken to execute the test case.
In detailed reports, it can list the number of exceptions cases handled, Start time and End time for each test case, test cases passed, failed status and .
Defect Logging: This module concentrates on automatic defect logging of defects into bug tracking tool and taking the screen shots.
Test Case writing: Automation of this part includes providing help for writing manual test cases as well as generating corresponding keywords into automation steps.
There are four popular test automation methodologies :
In this methodology, is one of the most basic type of automation framework. In this framework, a test scripts are written to match a functionality that represent modules of the application-under-test. These modules in turn are used in a hierarchical fashion to build large test cases.
Data Driven Framework:
In this methodology, test data is separated from test scripts and results are returned against the test data. And finally if all the test data combinations are pass, then only the test case is treated as "PASS". If any one of the test data combination is failed, then the entire test case will be treated as "FAIL".
Keyword Driven :
In this methodology, keywords are developed which are equal to a unit level functionality. It is an application independent framework utilizing data tables methods and keywords to perform the actions
Click here to view Keyword driven framework example
This framework is the combination of both data-driven and keyword driven testing frameworks. It allows data driven scripts to take advantage of the powerful libraries and utilities in a keyword based approach.
The Hybrid framework is build with a number of reusable modules / function libraries that are developed with the following features in mind: