Testing is a crucial part of the application life cycle, and it differs greatly from debugging. Although debugging certainly involves execution testing, the debugging activity is aimed at locating and correcting code defects, while testing is aimed at demonstrating application correctness. The testing process involves proving that the software requirements are implementable in practice, and that they have been implemented according to the specification. Certain testing approaches, such as correctness proofs and peer reviews, don't even require code execution.
In the modern world, most software development teams aim to create a continuous integration and/or continuous delivery (CI/CD) framework. Automated testing ...