[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article
Free access

Automated Testing of Classes

Published: 01 August 2000 Publication History

Abstract

Programs developed with object technologies have unique features that often make traditional testing methods inadequate. Consider, for instance, the dependence between the state of an object and the behavior of that object: The outcome of a method executed by an object often depends on the state of the object when the method is invoked. It is therefore crucial that techniques for testing of classes exercise class methods when the method's receiver is in different states. The state of an object at any given time depends on the sequence of messages received by the object up to that time. Thus, methods for testing object-oriented software should identify sequences of method invocations that are likely to uncover potential defects in the code under test. However, testing methods for traditional software do not provide this kind of information.
In this paper, we use data flow analysis, symbolic execution, and automated deduction to produce sequences of method invocations exercising a class under test. Since the static analysis techniques that we use are applied to different subproblems, the method proposed in this paper can automatically generate information relevant to testing even when symbolic execution and automated deduction cannot be completed successfully.

References

[1]
S. Barbey, D.Buchs, and C. P~eraire. A theory of speci~cation-based testing for object-oriented software. In Proceedings of EDCC2 (European Dependable Computing Conference), Taormina (Italy), October 1996, Lecture Notes in Computer Science 1150, pages 303{320. Springer-Verlag, 1996.
[2]
H. Y. Chen, T. H.Tse, F. T.Chan, and T. Y.Chen. In black and white: an integrated approach to class-level testing of object-oriented programs. ACM Transactions on Software Engineering and Methodology, 7(3):250{295, July 1998.
[3]
M. Clerici and L. Mera. Esecuzione simbolica per l'analisi di sistemi critici. Laurea's thesis, Politecnico di Milano, 1999. (in Italian).
[4]
A. Coen-Porisini, F. De Paoli, C. Ghezzi, and D. Mandrioli. Software speci~cation via symbolic execution. IEEE Transaction on Software Engineering, SE-17(9):884{899, September 1991.
[5]
R.-K. Doong and P. G.Frankl. The ASTOOT approach to testing object-oriented programs. ACM Transactions on Software Engineering and Methodology, 3(2):101{130, April 1994.
[6]
E. D? usterwald, R. Gupta, and M. L. So~a. Rigorous data ow testing through output in uences. In Proceedings of the Second Irvine Software Symposium, pages 131{145, Irvine (California), March 1992.
[7]
Edison Design Group. http://www.edg.com, August 1999.
[8]
M. J. Harrold, J. D. McGregor, and K. J. Fitzpatrick. Incremental Testing of Object-Oriented Class Structures. In Proceedings of the 14th International Conference on Software Engineering, pages 68{80, Melbourne (Australia), May 1992.
[9]
M. J. Harrold and G. Rothermel. Performing data ow testing on classes. In 2nd ACM-SIGSOFT Symposium on the foundations of software engineering, pages 154{163, New Orleans, LA (USA), December 1994.
[10]
L. Hatton. Safer C : Developing Software for High-integrity and Safety-critical Systems. McGraw-Hill, 1995.
[11]
D. Ho~man and P. Strooper. ClassBench: A framework for automated class testing. Software Practice and Experience, 27(5):573{597, May 1997.
[12]
P. Jorgensen and C. Erickson. Object-oriented integration testing. Communications of the ACM, 37(9):30{38, September 1994.
[13]
S. Kirani. Speci~cation and Veri~cation of Object-Oriented Programs. PhD thesis, University of Minnesota, Minneapolis (Minnesota), December 1994.
[14]
D. Kung, J. Gao, P. Hsia, Y. Toyoshima, C. Chen, Y.-S. Kim, and Y.-K. Song. Developing and oject-oriented software testing and maintenance environment. Communications of the ACM, 38(10):75{86, October 1995.
[15]
J. D. McGregor. Constructing functional test cases using incrementally de~ned state machines. In Proceedings of the 11 th International Conference on Testing Computer Software, Washington DC (USA), June 1994.
[16]
G. C. Murphy, P. Townsend, and P. S.Wong. Experiences with cluster and class testing. Communications of the ACM, 37(9):39{47, September 1994.
[17]
A. Orso. Integration Testing of Object-Oriented Software. PhD thesis, Politecnico di Milano, Milano, Italy, 1998.
[18]
A. Orso. A framework for testing object-oriented classes. Technical report, Politecnico di Milano, 1999.
[19]
A. Orso, F. Saini, and N. Trevisan. Un algoritmo per il calcolo di coppie de~nizione-uso interprocedurali. Technical report, Politecnico di Milano, 1999. (in Italian).
[20]
S. Owre, J. Rushby, N. Shankar, and F. von Henke. Formal veri~cation for fault-tolerant architectures: Prolegomena to the design of PVS. IEEE Transactions on Software Engineering, 21(2):107{125, February 1995.
[21]
W. Pugh. The Omega test: a fast and practical integer programming algorithm for dependence analysis. Communications of the ACM, 8:102{114, August 1992.
[22]
G. Rothermel and M. J. Harrold. Selecting regression tests for object-oriented software. In International Conference on Software Maintenance (ICSM94), pages 14{25, Victoria, British Columbia (Canada), September 1994.
[23]
J. Rushby, S. Owre, and N. Shankar. Subtypes for speci~cations: Predicate subtyping in PVS. IEEE Transactions on Software Engineering, 24(9):709{720, September 1998.
[24]
A. L. Souter, L. L. Pollock, and D. Hisley. Inter-class def-use analysis with partial class representations. In Proceedings of the ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering PASTE'99, Toulouse (France), September 1999.
[25]
C. D. Turner and D. J. Robson. The state-based testing of object-oriented programs. In International Conference on Software Maintenance, pages 302{310, Montr~eal, Quebec (Canada), September 1993. IEEE Society Press.

Cited By

View all
  • (2023)Towards Efficient Data-Flow Test Data GenerationTheories of Programming and Formal Methods10.1007/978-3-031-40436-8_10(257-293)Online publication date: 8-Sep-2023
  • (2019)Automatic data flow class testing based on 2-step heterogeneous process using evolutionary algorithmsJournal of Statistics and Management Systems10.1080/09720510.2019.160956522:7(1315-1348)Online publication date: 24-Nov-2019
  • (2019)From Object-Oriented to Workflow: Refactoring of OO Applications into Workflows for an Efficient Resources Management in the CloudEvaluation of Novel Approaches to Software Engineering10.1007/978-3-030-22559-9_9(186-214)Online publication date: 29-Jun-2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 25, Issue 5
Sept. 2000
211 pages
ISSN:0163-5948
DOI:10.1145/347636
Issue’s Table of Contents
  • cover image ACM Conferences
    ISSTA '00: Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
    August 2000
    211 pages
    ISBN:1581132662
    DOI:10.1145/347324
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 August 2000
Published in SIGSOFT Volume 25, Issue 5

Check for updates

Author Tags

  1. class testing
  2. data flow analysis
  3. symbolic execution
  4. testing and analysis
  5. testing object-oriented software

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)138
  • Downloads (Last 6 weeks)30
Reflects downloads up to 18 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Towards Efficient Data-Flow Test Data GenerationTheories of Programming and Formal Methods10.1007/978-3-031-40436-8_10(257-293)Online publication date: 8-Sep-2023
  • (2019)Automatic data flow class testing based on 2-step heterogeneous process using evolutionary algorithmsJournal of Statistics and Management Systems10.1080/09720510.2019.160956522:7(1315-1348)Online publication date: 24-Nov-2019
  • (2019)From Object-Oriented to Workflow: Refactoring of OO Applications into Workflows for an Efficient Resources Management in the CloudEvaluation of Novel Approaches to Software Engineering10.1007/978-3-030-22559-9_9(186-214)Online publication date: 29-Jun-2019
  • (2017)A Survey on Data-Flow TestingACM Computing Surveys10.1145/302026650:1(1-35)Online publication date: 10-Mar-2017
  • (2010)Reliability improvement based on prioritization of source codeProceedings of the 6th international conference on Distributed Computing and Internet Technology10.1007/978-3-642-11659-9_24(212-223)Online publication date: 15-Feb-2010
  • (2009)Communication Sequence Graphs for Mutation-Oriented Integration TestingProceedings of the 2009 Third IEEE International Conference on Secure Software Integration and Reliability Improvement10.1109/SSIRI.2009.50(387-392)Online publication date: 8-Jul-2009
  • (2008)Search based software testing of object-oriented containersInformation Sciences: an International Journal10.1016/j.ins.2007.11.024178:15(3075-3095)Online publication date: 1-Aug-2008
  • (2003)The Construction of Contextual Def-Use Associations for Object-Oriented SystemsIEEE Transactions on Software Engineering10.1109/TSE.2003.124530229:11(1005-1018)Online publication date: 1-Nov-2003
  • (2017)A Survey on Data-Flow TestingACM Computing Surveys10.1145/302026650:1(1-35)Online publication date: 10-Mar-2017
  • (2016)A framework for test data generation of object-oriented programs based on complete testing chain2016 17th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD)10.1109/SNPD.2016.7515930(391-397)Online publication date: May-2016
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media