Automation is really very usefull in testing coz there are so many advantages in automation. 1. We can get 100 error free product . 2. Fast process. 3. Less effort. By automation tools we can run thousands of testcases in very less time which is impossible in case of manual testing.
umm the answer is partially incorrect and ... it was not answered complete.
The the cost incurred on automating a test case is roughly 5 times more than just executing it once. So you just cant automate every test case. Rather you will choose a test case making sure it is:
not subjected to modification
gets effected by modifications in other modules
subjected to ripple effects
highly complex or involves loads of calculations
too lengthy to be executed multiple times
Once we know the criteria we know the benifits are:
Processing speed comparing to manual execution
Reliability (as you know the data set you provided and results are logged too)
Cost effective (initial cost on automating is 5 times higher; but once it is ready this required just a click)
If you have reusable concepts in your testing then u can go for doing that automation. For Eg: there is a login in to application if this by 100 members you cannot do that manually for testing using 100 logins. in this case you can automate the scipt and parameterise the login ID's.
So in this way where resuability and reproducibility concepts are used then we can choose Automating that perticular application
Automage of regration plays an impertant role when the project reaches the stage of regression testing. Regression testing is done when any new feature is added to the software.This test is done to check that the added feature doesnot harm the software as a whole.so at this stage automated testing plays the lead role as it saves time labour and energy.The whole software need not be tested manually.U instruct the automated tool to test the whole project.So in turn it saves time labour energy and money.