What is automation framework?
It is set procedures that are build to support software automation testing. It is more like a skeleton for automation testing.
To build the automation for any project we need to build the directory structure for it.
Structure of automation framework
- Test Project: the project that needs to be tested is mentioned first.
- Common libraries: we need to maintain a separate folder that consists of the library files.
- Configuration folder: here all the configurations like IP address, password etc is stored.
- Test data file: this is maintained such that in case any test data changes it won’t affect the test case.
- Test scripts
- Logs: all the log files are maintained this folder.
- Result: the actual and expected results are stored here. If any records or screen shot are there then those are kept here.
- Object repository: all the objects recognized are stored here.
- Reusable functions/modules
- Binaries: binaries related to data base, automation tools are stored here.
- Recovery: when data loss happens and we need to recover then those files are stored here.
Features and benefits of test automation framework Features:
- Easy to use.
- Easy to maintain.
- Unattended test execution.
- Handling exceptional errors, in case if the test crashes we can recover the files.
- Detailed logs are maintained.
- Consists of test results and reports.
- Reduced efforts.
- Avoids duplicates since folders are well structured.
Types of automation framework
- Linear framework record and playback
- Modular framework.
- Data driven automation framework.
- Keyword driven automation framework.
- Hybrid automation framework.
Linear framework record and playback
- They are easy to use.
- Automation testers make use of records and playback.
- Testers insert the check point for verification.
- It can playback the recorded scripts.
- It is very simple to use.
- It is easy to learn.
- It creates the test cases faster.
- It does not require any tool expertise to start this automation framework.
- No reusability since every code is together in the scripts and not separated.
- It is hard coded.
- The maintenance of it is hard.
- It creates test cases in the module wise or function wise.
- It breaks down large functions into smaller, reusable functions.
- For this type of framework one must have prominent programming skills.
- It works on the concept of abstraction and encapsulation.
- It enables the reuse of codes.
- The scripts are easy to maintain.
- The cost is less due to reusability of codes.
- It requires good programming skills.
- The test data are hard coded with scripts.
Test driven automation framework
- Both the test scripts and test data are separated
- Test data can be used through test scripts by external files such as csv.
- No impact to test scripts when there is change to test data.
- We can test wide variety of test data.
- High maintenance is required.
- One needs to have high programming skills to operate this.
Keyword driven automation framework
- This framework is also called as table driven.
- We need to create a table for data.
- We need to create a keyword.
- We have to write the code for each keyword, and be reused in the forms for keyword.
- Both data and keywords are reusable.
- Low maintenance is required.
- These are easy to use.
- No programming skills required.
- The cost of implementation is higher in this.
- Requires good understanding of the automation scripts development.
Is a combination of all the other frame works.