MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Prose + test cases = specifications (2000) [1 citations — 1 self]

Download:
pdf | ps
by Daniel Hoffman, Paul Strooper
In Proceedings��International Conference on Technology of Object-Oriented Languages and Systems
ftp://godot.uvic.ca/pub/dhoffman/PTC.ps
Add To MetaCart

Abstract:

The rise of component-based software development has created a need for API documentation. Experience has shown that it is hard to create and maintain precise and readable documentation. Prose documentation can provide a good overview but lacks precision. Formal methods offer precision but the resulting documentation is expensive to write and modify. Worse, few developers have the skill or inclination to read formal documentation. We present a pragmatic solution to the problem of API documentation. We augment the current prose documentation with test cases, including expected outputs, and use the prose plus the test cases as the documentation. Typically there are one or two simple test cases for each likely question about API behavior. With this approach, the documentation is precise, albeit partial. Consistency between code and documentation is guaranteed by running the test cases. The readability of the test cases is of paramount importance because communication with API users is their primary purpose. We present a test script language that supports compact, readable test cases and generation of test drivers, and illustrate the approach with a detailed case study. 1.

Citations

324 Extreme Programming Explained – Beck - 2000
97 Embracing change with extreme programming – Beck - 1999
69 A domain strategy for computer program testing – White, Cohen - 1980
59 Specifying the Mode Logic of a Flight Guidance System – Miller - 1998
54 Theories of Program Testing and the Application of Revealing Subdomains – Weyuker, Ostrand - 1980
44 Gunnar Övergaard, Object-Oriented Software Engineering: A Use Case Driven Approach – Jacobson, Christerson, et al. - 1992
27 Partition Analysis: A Method Combining Testing and Verification – Richardson, Clarke - 1985
24 The Psychology of Computer Vision – Winston, ed - 1975
8 Boundary values and automated component testing – Hoffman, Strooper, et al. - 1999
7 Theory of instruction: Principles and applications – Engelmann, Carnine - 1982
7 Tools and techniques for Java API testing – Hoffman, Strooper - 2000
5 Unit operations for automated class testing – Daley, Hoffman, et al. - 2000
1 Reusable Software---The Base Object-Oriented Component Libraries – Meyer - 1994