Automated testing or test automation is a method in software testing that makes use of special software tools to control the execution of tests and then compares actual test results with predicted or expected results. All of this is done automatically with little or no intervention from the test engineer. Automation is used to to add additional testing that may be too difficult to perform manually.
Testing is a very important phase in the development process. It ensures that all the bugs are ironed out and that the product, software or hardware, is functioning as expected or as close to the target performance as possible. Even so, some tasks are too laborious to be done manually even though they are easy enough to do. This is where automated testing comes in.
The key advantages to automated testing include:
Saves time and money by making testing more efficient
Improves testing accuracy compared to testing directed by humans
Increases test coverage because multiple testing tools can be deployed at once allowing for parallel testing of different test scenarios
Helps developers by finding bugs and errors more quickly
Manual testing is still being done in various periods during development but this is mostly done by developers or hardware engineers themselves to quickly test whether changes they've made have produced the desired effect. Extensive overall testing will later be done after a bunch of minor changes or a major change has been made to a product.