File Download
  Links for fulltext
     (May Require Subscription)
Supplementary

Article: In black and white: An integrated approach to class-level testing of object-oriented programs

TitleIn black and white: An integrated approach to class-level testing of object-oriented programs
Authors
KeywordsAlgorithms
D.2.1 [Software Engineering]: Requirements/Specifications-languages
D.2.5 [Software Engineering]: Testing and Debugging - test data generators
D.3.2 [Programming Languages]: Language Classifications - object-oriented languages
Languages
Issue Date1998
PublisherAssociation for Computing Machinery, Inc.
Citation
Acm Transactions On Software Engineering And Methodology, 1998, v. 7 n. 3, p. 250-295 How to Cite?
AbstractBecause of the growing importance of object-oriented programming, a number of testing strategies have been proposed. They are based either on pure black-box or white-box techniques. We propose in this article a methodology to integrate the black- and white-box techniques. The black-box technique is used to select test cases. The white-box technique is mainly applied to determine whether two objects resulting from the program execution of a test case are observationally equivalent. It is also used to select test cases in some situations. We define the concept of a fundamental pair as a pair of equivalent terms that are formed by replacing all the variables on both sides of an axiom by normal forms. We prove that an implementation is consistent with respect to all equivalent terms if and only if it is consistent with respect to all fundamental pairs. In other words, the testing coverage of fundamental pairs is as good as that of all possible term rewritings, and hence we need only concentrate on the testing of fundamental pairs. Our strategy is based on mathematical theorems. According to the strategy, we propose an algorithm for selecting a finite set of fundamental pairs as test cases. Given a pair of equivalent terms as a test case, we should then determine whether the objects that result from executing the implemented program are observationally equivalent. We prove, however, that the observational equivalence of objects cannot be determined using a finite set of observable contexts (which are operation sequences ending with an observer function) derived from any black-box technique. Hence we supplement our approach with a "relevant observable context" technique, which is a heuristic white-box technique to select a relevant finite subset of the set of observable contexts for determining the observational equivalence. The relevant observable contexts are constructed from a data member relevance graph (DRG), which is an abstraction of the given implementation for a given specification. A semiautomatic tool has been developed to support this technique. © 1998 ACM.
Persistent Identifierhttp://hdl.handle.net/10722/48420
ISSN
2021 Impact Factor: 3.685
2020 SCImago Journal Rankings: 0.597
References

 

DC FieldValueLanguage
dc.contributor.authorChen, HYen_HK
dc.contributor.authorTse, THen_HK
dc.contributor.authorChan, FTen_HK
dc.contributor.authorChen, TYen_HK
dc.date.accessioned2008-05-22T04:12:33Z-
dc.date.available2008-05-22T04:12:33Z-
dc.date.issued1998en_HK
dc.identifier.citationAcm Transactions On Software Engineering And Methodology, 1998, v. 7 n. 3, p. 250-295en_HK
dc.identifier.issn1049-331Xen_HK
dc.identifier.urihttp://hdl.handle.net/10722/48420-
dc.description.abstractBecause of the growing importance of object-oriented programming, a number of testing strategies have been proposed. They are based either on pure black-box or white-box techniques. We propose in this article a methodology to integrate the black- and white-box techniques. The black-box technique is used to select test cases. The white-box technique is mainly applied to determine whether two objects resulting from the program execution of a test case are observationally equivalent. It is also used to select test cases in some situations. We define the concept of a fundamental pair as a pair of equivalent terms that are formed by replacing all the variables on both sides of an axiom by normal forms. We prove that an implementation is consistent with respect to all equivalent terms if and only if it is consistent with respect to all fundamental pairs. In other words, the testing coverage of fundamental pairs is as good as that of all possible term rewritings, and hence we need only concentrate on the testing of fundamental pairs. Our strategy is based on mathematical theorems. According to the strategy, we propose an algorithm for selecting a finite set of fundamental pairs as test cases. Given a pair of equivalent terms as a test case, we should then determine whether the objects that result from executing the implemented program are observationally equivalent. We prove, however, that the observational equivalence of objects cannot be determined using a finite set of observable contexts (which are operation sequences ending with an observer function) derived from any black-box technique. Hence we supplement our approach with a "relevant observable context" technique, which is a heuristic white-box technique to select a relevant finite subset of the set of observable contexts for determining the observational equivalence. The relevant observable contexts are constructed from a data member relevance graph (DRG), which is an abstraction of the given implementation for a given specification. A semiautomatic tool has been developed to support this technique. © 1998 ACM.en_HK
dc.languageengen_HK
dc.publisherAssociation for Computing Machinery, Inc.en_HK
dc.relation.ispartofACM Transactions on Software Engineering and Methodologyen_HK
dc.rightsACM Transactions on Software Engineering and Methodology. Copyright © Association for Computing Machinery, Inc.en_HK
dc.rights©ACM, 1998. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in PUBLICATION, {VOL 7, ISS 3, (JUL 1998)} http://doi.acm.org/10.1145/nnnnnn.nnnnnn-
dc.subjectAlgorithmsen_HK
dc.subjectD.2.1 [Software Engineering]: Requirements/Specifications-languagesen_HK
dc.subjectD.2.5 [Software Engineering]: Testing and Debugging - test data generatorsen_HK
dc.subjectD.3.2 [Programming Languages]: Language Classifications - object-oriented languagesen_HK
dc.subjectLanguagesen_HK
dc.titleIn black and white: An integrated approach to class-level testing of object-oriented programsen_HK
dc.typeArticleen_HK
dc.identifier.openurlhttp://library.hku.hk:4550/resserv?sid=HKU:IR&issn=1049-331X&volume=7&issue=3&spage=250&epage=295&date=1998&atitle=In+black+and+white:+an+integrated+approach+to+class-level+testing+of+object-oriented+programsen_HK
dc.identifier.emailTse, TH: thtse@cs.hku.hken_HK
dc.identifier.emailChan, FT: hrxecft@hkucc.hku.hken_HK
dc.identifier.authorityTse, TH=rp00546en_HK
dc.identifier.authorityChan, FT=rp01309en_HK
dc.description.naturepostprinten_HK
dc.identifier.doi10.1145/287000.287004en_HK
dc.identifier.scopuseid_2-s2.0-0032108147en_HK
dc.identifier.hkuros29731-
dc.relation.referenceshttp://www.scopus.com/mlt/select.url?eid=2-s2.0-0032108147&selection=ref&src=s&origin=recordpageen_HK
dc.identifier.volume7en_HK
dc.identifier.issue3en_HK
dc.identifier.spage250en_HK
dc.identifier.epage295en_HK
dc.publisher.placeUnited Statesen_HK
dc.identifier.scopusauthoridChen, HY=7501614657en_HK
dc.identifier.scopusauthoridTse, TH=7005496974en_HK
dc.identifier.scopusauthoridChan, FT=36151749500en_HK
dc.identifier.scopusauthoridChen, TY=13104290200en_HK
dc.identifier.issnl1049-331X-

Export via OAI-PMH Interface in XML Formats


OR


Export to Other Non-XML Formats