File Download
  Links for fulltext
     (May Require Subscription)
Supplementary

Article: TACCLE: A Methodology for Object-Oriented Software Testing at the Class and Cluster Levels

TitleTACCLE: A Methodology for Object-Oriented Software Testing at the Class and Cluster Levels
Authors
KeywordsD.2.1 [Software Engineering]: Requirements/Specifications - Languages
D.2.5 [Software Engineering]: Testing and Debugging - Testing tools (e.g., data generators, coverage testing)
Issue Date2001
PublisherAssociation for Computing Machinery, Inc.
Citation
Acm Transactions On Software Engineering And Methodology, 2001, v. 10 n. 1, p. 56-109 How to Cite?
AbstractObject-oriented programming consists of several different levels of abstraction, namely, the algorithmic level, class level, cluster level, and system level. The testing of object-oriented software at the algorithmic and system levels is similar to conventional program testing. Testing at the class and cluster levels poses new challenges. Since methods and objects may interact with one another with unforeseen combinations and invocations, they are much more complex to simulate and test than the hierarchy of functional calls in conventional programs. In this paper, we propose a methodology for object-oriented software testing at the class and cluster levels. In class-level testing, it is essential to determine whether objects produced from the execution of implemented systems would preserve the properties defined by the specification, such as behavioral equivalence and nonequivalence. Our class-level testing methodology addresses both of these aspects. For the testing of behavioral equivalence, we propose to select fundamental pairs of equivalent ground terms as test cases using a black-box technique based on algebraic specifications, and then determine by means of a white-box technique whether the objects resulting from executing such test cases are observationally equivalent. To address the testing of behavioral nonequivalence, we have identified and analyzed several nontrivial problems in the current literature. We propose to classify term equivalence into four types, thereby setting up new concepts and deriving important properties. Based on these results, we propose an approach to deal with the problems in the generation of nonequivalent ground terms as test cases. Relatively little research has contributed to cluster-level testing. In this paper, we also discuss black-box testing at the cluster level. We illustrate the feasibility of using Contract, a formal specification language for the behavioral dependencies and interactions among cooperating objects of different classes in a given cluster. We propose an approach to test the interactions among different classes using every individual message-passing rule in the given Contract specification. We also present an approach to examine the interactions among composite message-passing sequences. We have developed four testing tools to support our methodology.
Persistent Identifierhttp://hdl.handle.net/10722/48422
ISSN
2021 Impact Factor: 3.685
2020 SCImago Journal Rankings: 0.597
ISI Accession Number ID
References

 

DC FieldValueLanguage
dc.contributor.authorChen, HYen_HK
dc.contributor.authorTse, THen_HK
dc.contributor.authorChen, TYen_HK
dc.date.accessioned2008-05-22T04:12:36Z-
dc.date.available2008-05-22T04:12:36Z-
dc.date.issued2001en_HK
dc.identifier.citationAcm Transactions On Software Engineering And Methodology, 2001, v. 10 n. 1, p. 56-109en_HK
dc.identifier.issn1049-331Xen_HK
dc.identifier.urihttp://hdl.handle.net/10722/48422-
dc.description.abstractObject-oriented programming consists of several different levels of abstraction, namely, the algorithmic level, class level, cluster level, and system level. The testing of object-oriented software at the algorithmic and system levels is similar to conventional program testing. Testing at the class and cluster levels poses new challenges. Since methods and objects may interact with one another with unforeseen combinations and invocations, they are much more complex to simulate and test than the hierarchy of functional calls in conventional programs. In this paper, we propose a methodology for object-oriented software testing at the class and cluster levels. In class-level testing, it is essential to determine whether objects produced from the execution of implemented systems would preserve the properties defined by the specification, such as behavioral equivalence and nonequivalence. Our class-level testing methodology addresses both of these aspects. For the testing of behavioral equivalence, we propose to select fundamental pairs of equivalent ground terms as test cases using a black-box technique based on algebraic specifications, and then determine by means of a white-box technique whether the objects resulting from executing such test cases are observationally equivalent. To address the testing of behavioral nonequivalence, we have identified and analyzed several nontrivial problems in the current literature. We propose to classify term equivalence into four types, thereby setting up new concepts and deriving important properties. Based on these results, we propose an approach to deal with the problems in the generation of nonequivalent ground terms as test cases. Relatively little research has contributed to cluster-level testing. In this paper, we also discuss black-box testing at the cluster level. We illustrate the feasibility of using Contract, a formal specification language for the behavioral dependencies and interactions among cooperating objects of different classes in a given cluster. We propose an approach to test the interactions among different classes using every individual message-passing rule in the given Contract specification. We also present an approach to examine the interactions among composite message-passing sequences. We have developed four testing tools to support our methodology.en_HK
dc.format.extent388599 bytes-
dc.format.extent44544 bytes-
dc.format.extent783 bytes-
dc.format.extent783 bytes-
dc.format.mimetypeapplication/pdf-
dc.format.mimetypeapplication/msword-
dc.format.mimetypetext/plain-
dc.format.mimetypetext/plain-
dc.languageengen_HK
dc.publisherAssociation for Computing Machinery, Inc.en_HK
dc.relation.ispartofACM Transactions on Software Engineering and Methodologyen_HK
dc.rights© ACM, 2001. 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 ACM Transactions on Software Engineering and Methodology, 2001, v. 10 n. 1, p. 56-109en_HK
dc.subjectD.2.1 [Software Engineering]: Requirements/Specifications - Languagesen_HK
dc.subjectD.2.5 [Software Engineering]: Testing and Debugging - Testing tools (e.g., data generators, coverage testing)en_HK
dc.titleTACCLE: A Methodology for Object-Oriented Software Testing at the Class and Cluster Levelsen_HK
dc.typeArticleen_HK
dc.identifier.openurlhttp://library.hku.hk:4550/resserv?sid=HKU:IR&issn=1049-331X&volume=10 &issue=1&spage=56&epage=109&date=2001&atitle=TACCLE:+a+methodology+for+object-oriented+software+testing+at+the+class+and+cluster+levelsen_HK
dc.identifier.emailTse, TH: thtse@cs.hku.hken_HK
dc.identifier.authorityTse, TH=rp00546en_HK
dc.description.naturepostprinten_HK
dc.identifier.doi10.1145/366378.366380en_HK
dc.identifier.scopuseid_2-s2.0-0002908054en_HK
dc.identifier.hkuros57857-
dc.relation.referenceshttp://www.scopus.com/mlt/select.url?eid=2-s2.0-0002908054&selection=ref&src=s&origin=recordpageen_HK
dc.identifier.volume10en_HK
dc.identifier.issue1en_HK
dc.identifier.spage56en_HK
dc.identifier.epage109en_HK
dc.identifier.isiWOS:000167713100002-
dc.publisher.placeUnited Statesen_HK
dc.identifier.scopusauthoridChen, HY=7501614657en_HK
dc.identifier.scopusauthoridTse, TH=7005496974en_HK
dc.identifier.scopusauthoridChen, TY=13104290200en_HK
dc.identifier.citeulike130905-
dc.identifier.issnl1049-331X-

Export via OAI-PMH Interface in XML Formats


OR


Export to Other Non-XML Formats