QA Automation is the use of special software to control the execution of tests and to compare actual outcomes against expected outcomes.
QA Automation can automate repetitive but necessary tasks in a formalized testing process, or conduct additional testing that would be difficult to perform manually.
The main approaches to QA Automation are:
The public interfaces to classes, modules or libraries are tested. A variety of input arguments are also used in order to validate that the returned results are correct.
A testing framework generates user interface events, such as keystrokes and mouse clicks. Also observed are the changes that result in the user interface, in order to validate that the observable behaviour of the program is correct.
This is a testing framework that uses an interface to the application in order to validate the behaviour being tested.