Automation testing is a software engineering practice where pre-written scripts and automated tools are used to execute test cases on an application, compare actual results against expected results, and report defects—all without human intervention.