Test automation framework is a temporary platform made to provide a suitable environment to execute automated test scripts. It contains a set of rules, guidelines or protocols that will help the tester to execute the automated test with ease and perfection. There are many advantages for using test automation frameworks.
- Codes can be reused
- Maximum coverage can be provided
- Recovery scenario
- Maintenance cost is low
- Manual intervention is minimum so is the chances for human errors
- Reporting is easier
There are different types of frameworks and each one has its own pros and cons.
Automation Test Frameworks
Modular framework is based on one of the OOPs concepts, abstraction. In this type of test automation framework, the entire application is put under test, it is divided into several modules and individual test script will be written for each module. When these test scripts are put together, it builds a larger test script covering more than one module.
There are several advantages for this type of automation framework. As it allows high level of modularization, maintenance will be easier and cost effective. Besides, it is scalable and if any changes have to be made,it can be made on the specific part only leaving the other parts untouched.
The test scripts are implemented separately for each module embedding data into the test script. When you need to test with a different set of data, test scripts should be manipulated.
Library Architecture Framework
This type of test automation framework is nothing but modular framework with added advantages. In this framework the application will be divided into functions instead of test scripts and common functions can be used by the other parts of the application too.
While it enjoys all the advantages of modular framework, it has an extra advantage. As common functions are created that can be used in the other parts of the application, the level of reusability is high. However, it has the same disadvantages as modular framework and with the introduction of libraries the functioning has become complicated.
Data Driven Framework
Data driven framework allows the tester to segregate the test scripts from the test data and allows to store the test data in an external database. This comes as a blessing when the same functionality has to be tested multiple times. When the test data is embedded in the test scripts, you will have to write scripts every time.
Major advantages of data driven framework are it considerably reduce the total number of scripts and allows changes in the test data matrix without disturbing the test script code. It has a high level of flexibility and maintainability and allows execution of several repeated tests with ease.
However, you need proficiency in programming language to execute the test and the entire process is complicated and you need to make extra effort with test data sources and reading mechanisms.
Keyword Driven Framework
Keyword driven Framework can be considered as extension of data driven framework as it allows to store the test data in an external source and also allows to store specific set of code belonging to the test script. This set of code is called keywords.
Keyword driven framework has all advantages of data driven framework and the tester need not possess scripting knowledge. Single keywords can be used for multiple scripts and hence the testing will be quicker. However, the tester should have expertise in creating keywords. Although at the beginning it will be simple, the process gets complicated as more and more keywords are added.
As the name indicates, hybrid framework is a combination of two or more above mentioned frameworks. It has all the benefits of all frameworks put together to create it.