Automated testing is a process by which we rely on special software to continuously run pre-defined tests that verify the integrity of our application. To this end, automated tests are a collection of steps that cover the functionality of an application and compare triggered outcomes to the expected ones.
Manual testing and review is a great way to ensure that a piece of written functionality works as expected. The main problem encountered by most adopters of this strategy and those who use it exclusively is a regression. Once a piece of functionality is tested, the only way they can guarantee regressions (or bugs) were not introduced by another piece of functionality is by retesting it. Also, as the application grows, it becomes impossible to handle. This is where automated tests come in.
Automated testing uses special software that has an API which allows us...