Home Page
Boundary Values and Automated Testing
 
by Daniel Hoffman, Lee White and Paul Strooper 
 
formalWARE 
    project  

  Participating 
     Organizations 
  Research   
     Topics 
  People 
   

formalWARE 
    results  

  Overview 
  Publications 
  Presentations 
  Tools   
  Methods 
  Examples   
  Training 

formalWARE  
  information  

  Events 
  Index  
  Links   
  Contacts

 
Abstract 
Structural coverage approaches to software testing are mature, having been thoroughly studied for decades.  Significant tool support, in the form of instrumentation for statement or branch coverage, is available in commercial compilers.  While structural coverage is sensitive to which code structures are covered it is insensitive to the values of the variables when those structures are executed. 

Data coverage approaches, e.g., boundary value coverage, are far less mature.  They are known to practitioners mostly as a few useful heuristics with very little support for automation.  Because of its sensitivity to variable values, data coverage has significant potential, especially when used in combination with structural coverage. 

In this paper we generalize the traditional notion of boundary coverage, and formalize it with two new data coverage measures: $k\Bdy$ and $k\Per$.  We show how to use $k\Bdy$ and $k\Per$ to automatically generate test cases, and from these, sophisticated test suites for 
functions from the C++ Standard Template Library.  Finally, we evaluate these test suites with respect to both structural coverage and discovery of seeded faults. 
 


Download postscript  
Download PDF 



 

.