What is the Difference between automation testing tool and automation framework

I am trying to understand the difference between automation frameworks and automation testing tools. According to Test Automation in wikipedia a tool is dependent on the environment whereas a framework provides the structure for running the tool.

However, we have White which interacts with windows applications, then Selenium which works on browsers for web based applications. We call both of these “frameworks” but they both need to be run using a testing framework like NUnit or JUnit. So I feel they should be called tools because of this.

How exactly do we differentiate between an automation testing tool and an automation framework?

Automation tool is a platform to perform automation action on an application. Automation tool is a generic tool that can implement any types of test cases. Some automation tool will not have an option to separate test script or module or select multiple test scripts for execution.

Automation framework is an addon to the automation tool. Automation framework will do nothing without the automation tool which is created on top of automation tool. We are creating set of roles and standards of test execution like test cases selection, execution flow, report generation, test management tool integration etc.

  • We can do automation only with Tool but not possible to perform automation only with automation framework
  • Automation framework is depends on the organisation standard, and project structure, so we can create an automation framework i f tool itself is providing a framework (like UFT, Guage, etc.)
  • We can create new features which is not support by the tool or club multiple tools with single automation framework like Selenium and Sikuli
  • Automation Freemason will provide easy maintenance