If all programs contain bugs, you may be tempted to throw your hands up in the air, walk away
from your software engineering job, and open a bakery. Even though you generally cannot remove
every bug from a program, you can usually remove enough bugs that the remaining ones don’t
appear too often and don’t inconvenience users too much.
The key to fi nding bugs so that you can remove them is testing. By constantly testing code at small,
medium, and large scales, you can fi nd bugs as soon as possible and make removing them easier.
Continue testing until bug estimation techniques indicate that you may have caught most of the
important bugs.
When your testing efforts aren’t fi nding much to fi x, it’s time to start deployment. The next chapter
describes typical deployment tasks and some of the things you should do to make deployment easier.