A test Automation Framework is a set of rules or guidelines for the Programmer to keep in mind while typing code. It is a combination of function libraries, test data sources and other reusable modules and templates.