Programmatic testing of the Standard Template Library containers

We describe part of an STL conformance test suite under development. Test suites for all of the STL containers have been written, demonstrating the feasibility of thorough and highly automated testing of industrial component libraries. We describe affordable test suites that provide good code and boundary value coverage, including the thousands of cases that naturally occur from combinations of boundary values. We show how two simple oracles can provide fully automated output checking for all the containers. We refine the traditional categories of black-box and white-box testing to specification-based, implementation-based and implementation-dependent testing, and show how these three categories highlight the key cost/thoroughness trade-offs.

[1]  Daniel Hoffman,et al.  ClassBench: A Methodology and Framework for Automated Class Testing , 1996 .

[2]  Gail C. Murphy,et al.  Experiences with cluster and class testing , 1994, CACM.

[3]  D. J. Robson,et al.  A framework for testing object-oriented programs , 1992 .

[4]  Thomas R. Arnold,et al.  Testing “in a perfect world” , 1994, CACM.

[5]  Daniel Hoffman,et al.  State generation and automated class testing , 2000, Softw. Test. Verification Reliab..

[6]  Daniel Hoffman,et al.  The Testgraph Methodology: Automated Testing of Collection Classes , 1995, J. Object Oriented Program..

[7]  Daniel Hoffman,et al.  A CASE study in module testing , 1989, Proceedings. Conference on Software Maintenance - 1989.

[8]  Richard G. Hamlet,et al.  Data Abstraction, Implementation, Specification, and Testing , 1981, TOPL.

[9]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[10]  Phyllis G. Frankl,et al.  The ASTOOT approach to testing object-oriented programs , 1994, TSEM.

[11]  Robert V. Binder,et al.  Testing object‐oriented software: a survey , 1996 .

[12]  Derick Wood,et al.  Insertion Reachability, Skinny Skeletons, and Path Length in Red-Black Trees , 1994, Inf. Sci..

[13]  Daniel Hoffman,et al.  ClassBench: a framework for automated class testing , 1997 .

[14]  Brian Marick,et al.  The craft of software testing , 1994 .

[15]  David J. Panzl A language for specifying software tests , 1978, AFIPS National Computer Conference.

[16]  Daniel Hoffman,et al.  Software design, automated testing, and maintenance - a practical approach , 1995 .

[17]  Daniel Hoffman,et al.  Automated Module Testing in Prolog , 1991, IEEE Trans. Software Eng..

[18]  Don S. Batory,et al.  Software components in a data structure precompiler , 1992, Proceedings of 1993 15th International Conference on Software Engineering.