Debugging is critical when testing a new product’s quality. It is the process of trying a product out in a variety of contexts until something breaks or goes wrong, at which point the designer must figure out why the undesirable event happened and what to do to prevent it. This needs to be done whether the product is new prototype vacuum cleaner or a space shuttle, but the term “debugging” is most typically applied to computer software and related technology, where a “bug” is an error in the programming. As such, the development of a new software product always involves an extensive testing phase where many people try everything they can to “break” the software so that the designers can fix any problems that might arise.
Debugging requires a tremendous effort from everyone, not just the designers and programmers, but the testers as well. Take video game testing as an example. It sounds like it might be a great job to get paid to play video games, but testers are actually being paid to test video games, and what that means is very different than “play.” Testers must replay the same part of a game over and over and over again for hours on end, trying every kind of command and interaction they can think of. Even the sorts of things the designers would never expect players to try must be attempted, because any kind of bug could be damaging to the company if left in the product and users have a knack for finding any hidden error.
Once testers do find a problem with the game, they must identify how to replicate that bug and explain it to the programmers in such a way that the programmers can figure out how to fix it. This requires strong communication skills and attention to detail. It also requires a tedious slog, but the quality of the release depends upon this work.