Automation testing refers to automatically testing software by writing test scripts that execute without human intervention. It automates repetitive test cases to reduce testing time and costs. Benefits include faster execution allowing for continuous integration and testing large data sets. Popular open-source tools like Selenium allow scripting in multiple languages while paid tools like UFT and TestComplete support both web and desktop testing. Key criteria for selecting a tool include skills, cost, features, support, and integration capabilities.