A product even after being rigorously tested and delivered has bugs. In spite of all the efforts to identify and solve the bugs before the product release, they often reappear, with the best manual testing processes in place. Automation testing eliminates all possible human errors occurring due to manual testing.
Many, perhaps most, software applications today are written as web-based applications to be run in an Internet browser. Test automation is nothing but using a software tool to run repeatable tests for such web applications. There are many advantages of test automation. Most are related to the repeatability of the tests and the speed at which the tests can be executed.
Traditionally organizations have been applying ‘Waterfall’ methodology for software development, where the various phases like Analysis, Planning, Development, Testing, Deployment and Maintenance are executed in a sequential manner. In this model, there is very little room to accommodate changes once the requirements are ‘Signed off’! The major limitation of this model is lack of flexibility with respect to changes in business scenario as well as functional requirements.