Context: As the number of possible tests for even simple software components is practically infinite, all software testing uses some strategy to select tests that are feasible for the available time and resources. As a result, software testing typically (but not exclusively) attempts to execute a program or application with the intent of finding software bugs (errors or other defects). The job of testing is an iterative process as when one bug is fixed, it can illuminate other, deeper bugs, or can even create new ones.

Question: What is the purpose of testing software?
Answer: finding software bugs

Question: Why is it so difficult to locate bugs in software?
Answer: tests for even simple software components is practically infinite

Question: What can come from one bug being fixed?
Answer: it can illuminate other, deeper bugs,

Question: What is the number of tests for complex software components?
Answer: Unanswerable

Question: Firmware testing uses strategy to accomplish what?
Answer: Unanswerable

Question: software testing attempts to eliminate a program for what reason?
Answer: Unanswerable

Question: The job of testing is called what type of progress?
Answer: Unanswerable

Question: What are some complications of not fixing bugs?
Answer: Unanswerable