Rather than being an actual component of a testing software application, the test automation framework is a combination of concepts and tools that works with items like internal libraries and reusable code modules to provide a foundation for test automation. Test automation frameworks can orient test cases by providing the test case syntax, including directions for methodology, and setting up a scope for iterative testing to make the whole process more efficient and less difficult.
There are different types of models for test automation frameworks — for example, some of them are keyword oriented, where a table of keywords provides the basis for building test cases. A data-driven approach is also possible, where the test framework supplies "inputs" and observes a series of corresponding "outputs." One way to think about this is that it is similar to a graphing calculator’s mapping of a parabolic curve: in the data-driven test cases, a range of variables is used to look at how variable changes affect test outcomes.