Chapter 17: Automated Testing
Automated testing is a process in 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 collections of steps that cover the functionality of an application and compare triggered outcomes to expected ones.
Manual testing 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, especially those who use it exclusively, is regression. Once a piece of functionality is tested, the only way that you can guarantee that regressions (or bugs) were not introduced by another piece of functionality is by retesting it. And as the application grows, this becomes impossible to handle. This is where automated tests come in.
Automated testing uses special software that has an API that allows us to automate the steps involved in testing functionality. This means that we can rely on...