Home Page
A Discipline of Specification-Based Test Derivation
 
by Michael R. Donat
 
 formalWARE 
    project  

  Participating 
     Organizations 
  Research   
     Topics 
  People 
   

formalWARE 
    results  

  Overview 
  Publications 
  Presentations 
  Tools   
  Methods 
  Examples   
  Training 

formalWARE  
  information  

  Events 
  Index  
  Links   
  Contacts

Abstract 

System-level requirements-based testing is an important task in software development, providing evidence that each requirement has been satisfied. There are two major problems with how these tests are derived. First, the notion of coverage is subjective, i.e., there is a lack of objective definitions of coverage criteria. Second, there is a surprising lack of automation in deriving system-level requirements-based tests. Research into solutions for these problems has led to the formulation of the discipline of specification-based test derivation presented in this dissertation. This discipline, which is based on predicate logic, provides a scientific foundation for objective definitions of coverage criteria and algorithms for partially automating test derivation. This dissertation defines some fundamental coverage criteria as examples. A general test frame generation process illustrates a general application of the discipline to a broad range of formal specifications, which can include existential and universal quantification. A refinement of the process can be applied to system-level requirements-based testing. The discipline leverages work invested in compiling the requirements specification. In addition to partially automating the task of verifying that the requirements have been satisfied, the refined process automates the traceability of requirements to test descriptions. Other applications of the discipline of specification-based test derivation include requirements validation and objective measurements for requirements complexity. The discipline can also be used to predict the expected number of tests to be derived, which can then be used for process statistics. The uses of this discipline as a basis for repeatable processes, definitions, and measurements imply that it can form part of software development processes at Capability Maturity Model (CMM) Levels 2 through 5.  

 


Ph.D. Dissertation  

Download postscript  
Download PDF