Software bugs are a fact of life.
No matter how hard we try, the reality is that even the best programmers can't write error-free code all the time. On average, even well-written programs have one to three bugs for every 100 statements. Statistics like these explain why so much attention is focused on making testing more effective. In black-box testing, software is exercised over a full range of inputs and the outputs are observed for correctness. Although black-box testing has many advantages, by itself it is not sufficient.