Article on software testing principles
From Computer.org
As a verification method, testing is a paradox. Testing a program to assess its quality is, in theory, akin to sticking pins into a doll—very small pins, very large doll. The way out of the paradox is to set realistic expectations.
Too often the software engineering literature claims an overblown role for testing, echoed in the Wikipedia definition (http://en.wikipedia.org/wiki/Software_testing):
“Software testing is the process used to assess the quality of computer software.Software testing is an empirical technical investigation conducted to provide stakeholders with information about the quality of the product or service under test, with respect to the context in which it is intended to operate.”