Software Testing

Gregory M. Kapfhammer. Software Testing. The Computer Science Handbook, CRC Press. June, 2004. (Revised and Extended Version).

Related Projects: DIATOMS, Kanonizo, Joshua, JavaWrap

Abstract

When a program is implemented to provide a concrete representation of an algorithm, the developers of this program are naturally concerned with the correctness and performance of the implementation. Software engineers must ensure that their software systems achieve an appropriate level of quality. Software verification is the process of ensuring that a program meets its intended specification. One technique that can assist during the specification, design, and implementation of a software system is software verification through correctness proof. Software testing, or the process of assessing the functionality and correctness of a program through execution or analysis, is an another alternative for verifying a software system.As noted by Bowen, Hinchley, and Geller, software testing can be appropriately used in conjunction with correctness proofs and other types of formal approaches in order to develop high quality software systems. Yet, it is also possible to use software testing techniques in isolation from program correctness proofs or other formal methods.

Software testing is not a ``silver bullet'' that can guarantee the production of high quality software systems. While a ``correct'' correctness proof demonstrates that a software system (which exactly meets its specification) will always operate in a given manner, software testing that is not fully exhaustive can only suggest the presence of flaws and cannot prove their absence. Moreover, Kaner et al. have noted that it is impossible to completely test an application because: (1) the domain of program inputs is too large, (2) there are too many possible input paths, and (3) design and specification issues are difficult to test. The first and second points present obvious complications and the final point highlights the difficulty of determining if the specification of a problem solution and the design of its implementation are also correct.

[PDF] [PS] [BibTeX Entry] [Copyright Notice]


Links to this Page

  • Complete News Listing last edited on 21 October 2009 at 5:22 pm by 141.195.226.29
  • Joshua last edited on 13 August 2008 at 1:11 pm by not available
  • JavaWrap last edited on 13 August 2008 at 4:11 pm by 141.195.226.29
  • DIATOMS last edited on 26 August 2009 at 11:19 pm by 141.195.226.29
  • Software Testing last edited on 21 May 2008 at 2:01 pm by aldenv29.allegheny.edu
  • Kanonizo last edited on 21 October 2009 at 5:06 pm by 141.195.226.29
  • Software Testing Tutorial last edited on 30 May 2008 at 2:02 pm by aldenv29.allegheny.edu
  • Juggernaut last edited on 11 August 2009 at 12:51 pm by 141.195.226.29
  • Research Papers last edited on 20 October 2009 at 5:41 pm by 141.195.226.29