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


  1. Myers, Glenford. The Art of Software Testing, Wiley, New York, 1979
  2. "Software Reliability", https://www.rstcorp.com/reliability.html, RST.