{"title":"Testing object-oriented software","authors":"Gerald F. Gattis, Thomas J. Cheatham","doi":"10.1145/1122018.1122081","DOIUrl":null,"url":null,"abstract":"Object-oriented (OO) software development is now widely practiced because of its potential for improvement in design and maintenance. Several authors, for example [1], [2], [3], and [4], have addressed the testing of OO systems. None of the researchers claim that testing an OO system is easier than testing a procedural system. In this paper, we report on an experiment that compares four testing techniques for four systems from different application areas. The four testing techniques studied are code inspection, structural testing, functional testing, and state-based testing. Code inspection is an organized code-reading approach that draws strength from collaborative, organized questioning. In functional testing, the tester uses the requirements to design test cases which are then submitted to a running copy of the system. In structural testing, the source code (and its structure) is used to design test cases. State-based testing has been recently defined for OO systems [4]. It looks for errors in the state of the system that occur as the system responds to sequences of messages.Student teams in an elective senior/graduate software testing class, after receiving training, applied each method to one of the systems. The testers were divided into teams of two in such a way as to balance experience and ability. This process defined eight teams which were divided into four test groups, again balancing experience and ability. These four test groups were assigned different sequences for testing the systems. No team used a test method more than once or tested the same system twice.","PeriodicalId":349974,"journal":{"name":"ACM-SE 33","volume":"67 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1995-03-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM-SE 33","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1122018.1122081","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Object-oriented (OO) software development is now widely practiced because of its potential for improvement in design and maintenance. Several authors, for example [1], [2], [3], and [4], have addressed the testing of OO systems. None of the researchers claim that testing an OO system is easier than testing a procedural system. In this paper, we report on an experiment that compares four testing techniques for four systems from different application areas. The four testing techniques studied are code inspection, structural testing, functional testing, and state-based testing. Code inspection is an organized code-reading approach that draws strength from collaborative, organized questioning. In functional testing, the tester uses the requirements to design test cases which are then submitted to a running copy of the system. In structural testing, the source code (and its structure) is used to design test cases. State-based testing has been recently defined for OO systems [4]. It looks for errors in the state of the system that occur as the system responds to sequences of messages.Student teams in an elective senior/graduate software testing class, after receiving training, applied each method to one of the systems. The testers were divided into teams of two in such a way as to balance experience and ability. This process defined eight teams which were divided into four test groups, again balancing experience and ability. These four test groups were assigned different sequences for testing the systems. No team used a test method more than once or tested the same system twice.