Automation Test Framework
A testing framework or more specifically a testing automation framework is an execution environment for automated tests. It is the overall system in which the tests will be automated. It is defined as the set of assumptions, concepts, and practices that constitute a work platform or support for automated testing.
The Testing framework is responsible for: Defining the format in which to express expectations. Creating a mechanism to hook into or drive the application under test Executing the tests Reporting results Properties of a testing framework: It is application independent. It is easy to expand, maintain and perpetuate.
If we have a group of testers and suppose if each project implements a unique strategy then the time needed for the tester become productive in the new environment will take long. To handle this we cannot make changes to the automation environment for each new application that comes along.
For this purpose we use a testing framework that is application independent and has the capability to expand with the requirements of each application. Also an organized test framework helps in avoiding duplication of test cases automated across the application. In short Test frameworks helps teams organize their test suites and in turn help improve the efficiency of testing.
Modular Testing Framework
The Modularity testing framework is built on the concept of abstraction.
This involves the creation of independent scripts that represent the modules of the application under test. These modules in turn are used in a hierarchical fashion to build large test cases.
Thus it builds an abstraction layer for a component to hide that component from the rest of the application. Thus the changes made to the other part of the application do not effect that component.
Data-Driven Testing Framework Data driven testing is where the test input and the expected output results are stored in a separate data file (normally in a tabular format) so that a single driver script can execute all the test cases with multiple sets of data.
The driver script contains navigation through the program, reading of the data files and logging of the test status information.
Keyword - Driven Testing Framework Keyword driven testing is an application independent framework utilizing data tables and self explanatory keywords to explain the actions to be performed on the application under test.
Not only is the test data kept in the file but even the directives telling what to do which is in the test scripts is put in external input data file.
These directives are called keywords. The keyword based testing is an extension to the data driven testing.
Hybrid Testing Framework Hybrid testing framework is the combination of modular, data-driven and keyword driven testing frameworks. This combination of frameworks helps the data driven scripts take advantage of the libraries which usually accompany the keyword driven testing.
Agile life cycles are characterized by short and rapid test cycles and frequent change requests. Thus appropriate test automation plays a crucial role in software testing. In the agile environments, testing plays a crucial role through the different phases of iterations. It involves continuous integration, unit testing (which is usually done using test driven development) and constant regression testing