Abstract
Incremental development and testing is widely cited as one advantage of the object-oriented paradigm. To date, most of the work in this area emphasizes incremental development at the “macro” level, i.e., at the application or class hierarchy levels. We believe that incremental development should also be exploited at the individual class level. In particular, classes may contain a variety of methods that place objects of the class into relatively complex states. By organizing and developing an individual class in an incremental fashion, one can (a) develop and test “partial classes” and (b) generate simple states for test objects prior to generating more complex ones. This process realizes two benefits: it simplifies debugging by reducing the size of the search space when tracking down defects, and it makes regression testing more efficient. This paper reports on a development environment designed to support “micro-incremental” class development. This environment integrates several different components and techniques. We discuss each component of the environment individually, and then illustrate the use of the environment in a case study.
Similar content being viewed by others
References
Doong, R. and P. Frankl (1991), “Case Studies on Testing Object-Oriented Programs,” InProceedings of the Fourth Symposium on Software Testing, Analysis and Verification, pp. 165–177.
Gannon, J., P. McMullin and R. Hamlet (1981), “Data Abstraction, Implementation, Specification and Testing,”ACM Transactions on Programming Languages and Systems 3, 211–223.
Guttag, J., J. Horning and J. Wing (1985), “The Larch Family of Specification Languages,”IEEE Software 4, 5, 24–36.
Harrold, M., J. McGregor and K. Fitzpatrick (1992), “Incremental Testing of Object-Oriented Class Structures,” InProceedings of the International Conference on Software Engineering.
Hoffman, D. and C. Brealey (1989), “Module Test Case Generation,”Proceedings of the ACM SIGSOFT '89 Third Symposium on Software Testing, Analysis and Verification, pp. 97–102.
Jalote, P. (1989), “Testing the Completeness of Specifications,”IEEE Transactions on Software Engineering 15, 526–531.
Liskov, B. and J. Guttag (1986),Abstraction and Specification in Program Development, McGraw-Hill, New York.
McGregor, J. and D. Sykes (1992),Object-Oriented Software Development: Engineering Software for Reuse, Van Nostrand Reinhold, 1992.
Parrish, A., D. Cordes and H. Dyal (1995), “Incremental Testing of Algebraically Specified Object-Oriented Software Modules,” Department of Computer Science Technical Report, The University of Alabama.
Parrish, A., D. Cordes and M. Govindarajan (1994), “Systematic Defect Removal from Object-Oriented Software Modules,” InProceedings of the Seventh International Software Quality Week Conference, San Francisco.
Zweben, S., W. Heym and J. Kimmich (1992), “Systematic Testing of Data Abstractions Based on Software Specifications,”Journal of Software Testing, Verification and Reliability 1, 4, 39–55.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Parrish, A., Cordes, D. & Brown, D. An environment to support micro-incremental class development. Ann Software Eng 2, 213–236 (1996). https://doi.org/10.1007/BF02063811
Issue Date:
DOI: https://doi.org/10.1007/BF02063811