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]"