.A System 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
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.