A simple and one line explanation is “Test Automation means using a software tool to run repeatable tests against the application under test.
* Advantages of Automation
1. Repeatability of Tests.
2. Speed at which tests can be executed.
* When not to implement Automation?
1. Application’s user interface is not stable or its about to change in the future.
2. Not enough time to build test automation.i.e when the time for testing is very short its really hard to automate the project by writing a test scripts so manual approach is best.
* When Automation has to be implemented?
1. Regression / Re-testing
2. When a quick feedback is expected for Developers.
3. If we want to unlimited iterations of Test cases.
4. Finding defects missed by Manual Testing.