Linear scripting framework:
In a linear scripting framework, the test automation is carried out by running pre-written test cases/steps in sequential order. It is also known as a record and playback framework as testers record the sequence of steps and run them again to catch the issues/defects.
Advantages:
- No complex coding is involved.
- Test scripts are generated easily & fast
- Workflow is simple to understand
Disadvantages:
- No error handling
- Not reusable
- Not scalable & maintenance is hard
Modular testing framework:
As the name suggests in the modular testing framework, the application under test is divided into smaller modules based on functionality. Testers then code test cases for each module and run them separately. In this framework, there can be a master test script, which is a combination of module-based test scripts, linked in an orderly manner. It is based on OOPs concept abstraction. Change in one module will not affect other modules under test.
Advantages:
- Easy to maintain
- Cost-efficient
- Highly scalable framework
- Fixing test scripts is easier as it is based on modules
Disadvantages:
- Data is included in test script itself, hence hard to use for multiple data sets
- Coding knowledge is required
Data-driven framework:
In a linear and modular testing framework, the data is hard coded to the test scripts. It is a major drawback, when there is a need to test the application with varying data. That is when, data-driven framework comes into picture. Here the data is stored separately in an external database, which can be as simple as an excel spreadsheets or text files. From the external database, the data is sent into the test scripts. So, simply put, in a data-driven framework the test logic and data are stored separately.
Advantages:
- Tests can be done with varying data sets.
- Multiple scenarios can be tested easily
- Test execution is faster
Disadvantages:
- Designing the framework requires highly skilled tester
- Designing the framework takes a lot of time
Keyword-driven framework:
Keyword-driven framework is the extension of data-driven framework. Here along with the data, keywords are stored externally in a tabular format. Hence this is also known as table driven framework. This framework is application independent. Test function to be used is determined based on the keywords.
Advantages:
- Minimal scripting knowledge
- Test scripts are independent, irrespective of the application
- Reusable code
Disadvantages:
- Initial cost is high
- Time consuming to setup the framework
- Maintenance is high to build keyword repositories
Hybrid test automation framework:
Hybrid testing framework is the combination of above frameworks, based on the requirement. It is best suited for the agile environment. It is a flexible framework, designed to get best test results.
Advantages:
- Best test coverage
- Leveraging best of testing framework methods
Disadvantages:
- Complex to set up
- Involves additional cost
Behavior-driven Development testing framework:
Behavior-driven Development testing framework are user friendly. These frameworks don’t require end users to know programming and the end users being business analysts, testers, developers. They help in automation of functional validations. They are in understandable and readable format. It fills the gap between the team members working on the Project.