What Is Software Testing?
In his classical treatment, Glenford Myers describes software testing
as "the process of executing a program with the intent of
finding errors.[1]" The errors in question, unlike errors
resulting from syntaxical mistakes that become apparent during
compile-time and link-time, are logical and intent errors, that do not
manifest themselves so visibly. However, unless the testing completely
exhausts all possible paths of execution, applying software testing
with the intent of finding errors can only suggest the presence of
these errors, but not the lack there of. Modern software is so complex,
that such testing is both financially and temporally impossible. As
such, software testing is more than just error detection. Testing
software increases the reliability of the software. "Software
reliability is the probability that software will provide failure-free
operation in a fixed environment for a fixed interval of time.[2]"