Why We Need to Test Code
Testing is crucial for ensuring that the code does what it's meant to do.
Quality production software is empirically correct. That means that for the enumerated cases that developers and testers have found, the application behaves as expected.
This lies in contrast with software that has proven to be correct, which is a very time-consuming endeavor and is usually part of academic research projects. We are still at the point where correct software (proven) is still being built to show what kinds of systems are possible to build with this constraint of correctness.
Testing prevents the introduction of defects such as bugs and regressions (that is, when a feature stops working as expected). In the next section, we will learn about the various types of testing.