Home > Articles > Programming

The Case for Manual Software Testing

  • Print
  • + Share This
James A. Whittaker explains why the world of manual exploratory testing is one of the most challenging and satisfying jobs in the IT industry.
This chapter is from the book
  • "There are two ways to write error-free programs; only the third one works."
  • Alan J. Perlis

The Origin of Software Bugs

The origin of software bugs begins with the very origin of software development itself. It's clearly not the case that we started out with perfect software and invented ways to screw it up.1 Indeed, the term bug has been in common use within software development from the inception of the discipline2 and is a nomenclature that is used today in every office, garage, dorm room, data center, laboratory, bedroom, cafe, and every other place where software is developed. The first software had bugs, the latest software has bugs, and so have all the bits and bytes in between. Software is not, and likely never will be, bug free.

It's interesting to note that Hopper's moth (see the second footnote) was not a bug actually created by a programmer. Instead, it was an operational hazard that the developers didn't consider in their design. As we shall see in later chapters, a developer's failure to understand, predict, and test potential operational environments continues to be a main source of software failure. Unfortunately, the answer is more complex than closing the windows to keep out the moths. But let's not get ahead of ourselves. We'll talk about programmer-created bugs and bugs that creep in through the operational environment throughout this book.

  • + Share This
  • 🔖 Save To Your Account