Links for fulltext
(May Require Subscription)
- Publisher Website: 10.1145/287000.287004
- Scopus: eid_2-s2.0-0032108147
- Find via
Supplementary
-
Citations:
- Scopus: 115
- Appears in Collections:
Article: In black and white: An integrated approach to class-level testing of object-oriented programs
Title | In black and white: An integrated approach to class-level testing of object-oriented programs |
---|---|
Authors | |
Keywords | Algorithms 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 Date | 1998 |
Publisher | Association for Computing Machinery, Inc. |
Citation | Acm Transactions On Software Engineering And Methodology, 1998, v. 7 n. 3, p. 250-295 How to Cite? |
Abstract | Because 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 Identifier | http://hdl.handle.net/10722/48420 |
ISSN | 2023 Impact Factor: 6.6 2023 SCImago Journal Rankings: 1.853 |
References |
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Chen, HY | en_HK |
dc.contributor.author | Tse, TH | en_HK |
dc.contributor.author | Chan, FT | en_HK |
dc.contributor.author | Chen, TY | en_HK |
dc.date.accessioned | 2008-05-22T04:12:33Z | - |
dc.date.available | 2008-05-22T04:12:33Z | - |
dc.date.issued | 1998 | en_HK |
dc.identifier.citation | Acm Transactions On Software Engineering And Methodology, 1998, v. 7 n. 3, p. 250-295 | en_HK |
dc.identifier.issn | 1049-331X | en_HK |
dc.identifier.uri | http://hdl.handle.net/10722/48420 | - |
dc.description.abstract | Because 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.language | eng | en_HK |
dc.publisher | Association for Computing Machinery, Inc. | en_HK |
dc.relation.ispartof | ACM Transactions on Software Engineering and Methodology | en_HK |
dc.rights | ACM 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.subject | Algorithms | en_HK |
dc.subject | D.2.1 [Software Engineering]: Requirements/Specifications-languages | en_HK |
dc.subject | D.2.5 [Software Engineering]: Testing and Debugging - test data generators | en_HK |
dc.subject | D.3.2 [Programming Languages]: Language Classifications - object-oriented languages | en_HK |
dc.subject | Languages | en_HK |
dc.title | In black and white: An integrated approach to class-level testing of object-oriented programs | en_HK |
dc.type | Article | en_HK |
dc.identifier.openurl | http://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+programs | en_HK |
dc.identifier.email | Tse, TH: thtse@cs.hku.hk | en_HK |
dc.identifier.email | Chan, FT: hrxecft@hkucc.hku.hk | en_HK |
dc.identifier.authority | Tse, TH=rp00546 | en_HK |
dc.identifier.authority | Chan, FT=rp01309 | en_HK |
dc.description.nature | postprint | en_HK |
dc.identifier.doi | 10.1145/287000.287004 | en_HK |
dc.identifier.scopus | eid_2-s2.0-0032108147 | en_HK |
dc.identifier.hkuros | 29731 | - |
dc.relation.references | http://www.scopus.com/mlt/select.url?eid=2-s2.0-0032108147&selection=ref&src=s&origin=recordpage | en_HK |
dc.identifier.volume | 7 | en_HK |
dc.identifier.issue | 3 | en_HK |
dc.identifier.spage | 250 | en_HK |
dc.identifier.epage | 295 | en_HK |
dc.publisher.place | United States | en_HK |
dc.identifier.scopusauthorid | Chen, HY=7501614657 | en_HK |
dc.identifier.scopusauthorid | Tse, TH=7005496974 | en_HK |
dc.identifier.scopusauthorid | Chan, FT=36151749500 | en_HK |
dc.identifier.scopusauthorid | Chen, TY=13104290200 | en_HK |
dc.identifier.issnl | 1049-331X | - |