An environment to support micro-incremental class development
- 16 Downloads
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.
KeywordsOperating System Search Space Test Object Regression Testing Complex State
Unable to display preview. Download preview PDF.
- 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.Google Scholar
- Gannon, J., P. McMullin and R. Hamlet (1981), “Data Abstraction, Implementation, Specification and Testing,”ACM Transactions on Programming Languages and Systems 3, 211–223.Google Scholar
- Guttag, J., J. Horning and J. Wing (1985), “The Larch Family of Specification Languages,”IEEE Software 4, 5, 24–36.Google Scholar
- Harrold, M., J. McGregor and K. Fitzpatrick (1992), “Incremental Testing of Object-Oriented Class Structures,” InProceedings of the International Conference on Software Engineering.Google Scholar
- 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.Google Scholar
- Jalote, P. (1989), “Testing the Completeness of Specifications,”IEEE Transactions on Software Engineering 15, 526–531.Google Scholar
- Liskov, B. and J. Guttag (1986),Abstraction and Specification in Program Development, McGraw-Hill, New York.Google Scholar
- McGregor, J. and D. Sykes (1992),Object-Oriented Software Development: Engineering Software for Reuse, Van Nostrand Reinhold, 1992.Google Scholar
- 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.Google Scholar
- 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.Google Scholar
- 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.Google Scholar