Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/193173.195402acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article
Free access

Performing data flow testing on classes

Published: 01 December 1994 Publication History

Abstract

The basic unit of testing in an object-oriented program is a class. Although there has been much recent research on testing of classes, most of this work has focused on black-box approaches. However, since black-box testing techniques may not provide sufficient code coverage, they should be augmented with code-based or white-box techniques. Dataflow testing is a code-based testing technique that uses the dataflow relations in a program to guide the selection of tests. Existing dataflow testing techniques can be applied both to individual methods in a class and to methods in a class that interact through messages, but these techniques do not consider the dataflow interactions that arise when users of a class invoke sequences of methods in an arbitrary order. We present a new approach to class testing that supports dataflow testing for dataflow interactions in a class. For individual methods in a class, and methods that send messages to other methods in a the class, our technique is similar to existing dataflow testing techniques. For methods that are accessible outside the class, and can be called in any order by users of the class, we compute dataflow information, and use it to test possible interactions between these methods. The main benefit of our approach is that it facilitates dataflow testing for an entire class. By supporting dataflow testing of classes, we provide opportunities to find errors in classes that may not be uncovered by black-box testing. Our technique is also useful for determining which sequences of methods should be executed to test a class, even in the absence of a specification. Finally, as with other code-based testing techniques, a large portion of our technique can be automated.

References

[1]
A.V. Aho, R. Sethi, and J.D. Ullman. Compileru, Principles, Technique, and Tools. Addison-Wesley, Boston, MA, 1986.
[2]
L.A. Clarke, A. Podgurski, D. Richardson, and S. Zeil, A comparison of data flow path selection criteria. IEEE Transaction on Software Engineering, 15(11):1318- 1332, November 1989.
[3]
P.G. Frankl and R.K. Doong. Case studier on testing object-oriented programs. In Proceeding of the Fourth Symposium on Testing, Analysis, and Verification, pages 165-177, October 1991.
[4]
P.G. Frankl and S. Weiss. An experimental comparison of the effectiveness of branch testing and data flow testing. IEEE Transactions on Software Engineering, 19(8):774-787, August 1993.
[5]
P.G. Frankl, S. Weiss, and E.J. Weyuker. ASSET: A system to select and evaluate tests. In Proceedings of the IEEE Conference on Software Tools, pagea 72-79, Aprd 1985.
[6]
P.G. Frankl and E.J. Weyuker. An applicable family of data flow testing criteria. IEEE Transactions on Software Engineenring, 14(10):1493-1498, October 1988.
[7]
M.J. Harrold and P. Kolte. Combat: A compiler based data flow testing system. In Proceedings of the Pacific Northwest Quality Conference, pages 311-323, October 1992.
[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, May 1992.
[9]
M.J. Harrold and M.L. Soffa. Interprocedural data flow testing. In Procecdingu of the Third Testing, Analysis, and Verification Symposium, pages 158-167, December 1989.
[10]
M.J. Harrold and M.L. Soffa. Efficient computation of interprocedural definition-use chains. ACM Transactions on Programming Languages and Systems, 16(2):175-204, March 1994.
[11]
D. Hoffman and P. Strooper. Graph-based class testing. In Proceedings of the 7th Australian Software Engineering Conference, September 1993.
[12]
D. Hoffman and P. Strooper. Graph-based module testing. In Proceedings of the 16th Australian Computer Science Conference, pages 479-487, February 1993.
[13]
J. Horgan and S. London. Data flow coverage and the C language. In Proceedings of the Fourth Symposium on Testing, Analysis, and Verification, pages 87-97, October 1991.
[14]
M. Hutchins, H. Foster, T. Goradia, and T.J. Ostrand. Experiments on the electiveness of dataflowand controlflow-based test adequacy criteria. In Proceedings of the 16th International Conference on Software Engineering, pages 191-200, May 1994.
[15]
J. Laski and B. Korel. A data flow oriented program testing strategy. IEEE Transactions on Software Engineering, SE-9(3):347-354, May 1983.
[16]
S. Ntafos. An evaluation of the required element testing strategies. In Proceedings of the 7th International Conference on Software Engineering, pages 250-256, March 1984.
[17]
T.J. Ostrand and E.J. Weyuker. Data flow-based adequacy analysis for languages with pointers. In Proceeding of the Fourth Symposium on Testing, Analysis, and Verification (TA V4), pages 74-86, October 1991.
[18]
H. Pande, W. Landi, and B.G. Ryder. Interprocedural def-use associations in C programs. IEEE Transactions on Software Engineering, 20(5):385-403, May 1994.
[19]
A.S Parrish, R.B. Borie, and D.W. Cordes. Automated flow graph-based testing of object-oriented software madules. Journal of Systems Software, 23:95-109, November 1993.
[20]
S. Rapps and E.J. Weyuker. Selecting software test data using data flow information. IEEE Transactions on Software Engineering, SE 11 (4):367-375, April 1985.
[21]
C.D. Turner and D.J. Robson. The state-based testing of object-oriented programs. In Proceedings of the Conference on Software Maintenance, 199.9, pages 302-310, September 1993.
[22]
E.J. Weyuker. Fault detection using data flow testing or you showed me it was cheap, but is it any good? In Proceedings of the Eighth Annual Northwest Software Quality Conference, pagea 213-217, October 1990.
[23]
E.J. Weyuker. The cost of data flow testing: An empirical study. IEEE Transaction on Software Engineering, SE-16(2):121-128, February 1990.

Cited By

View all
  • (2022)Competitive Online Optimization with Multiple InventoriesACM SIGMETRICS Performance Evaluation Review10.1145/3547353.353096950:1(83-84)Online publication date: 7-Jul-2022
  • (2022)On Multivariate Singular Spectrum Analysis and Its VariantsACM SIGMETRICS Performance Evaluation Review10.1145/3547353.352695250:1(79-80)Online publication date: 7-Jul-2022
  • (2021)Archive-based multi-criteria Artificial Bee Colony algorithm for whole test suite generationEngineering Science and Technology, an International Journal10.1016/j.jestch.2020.12.011Online publication date: Feb-2021
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGSOFT '94: Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
December 1994
188 pages
ISBN:0897916913
DOI:10.1145/193173
  • cover image ACM SIGSOFT Software Engineering Notes
    ACM SIGSOFT Software Engineering Notes  Volume 19, Issue 5
    Dec. 1994
    187 pages
    ISSN:0163-5948
    DOI:10.1145/195274
    • Editor:
    • David Wile
    Issue’s Table of Contents
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 December 1994

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

SOFT94
Sponsor:
SOFT94: Foundations of Software Engineering II
December 6 - 9, 1994
Louisiana, New Orleans, USA

Acceptance Rates

Overall Acceptance Rate 17 of 128 submissions, 13%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)113
  • Downloads (Last 6 weeks)29
Reflects downloads up to 01 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Competitive Online Optimization with Multiple InventoriesACM SIGMETRICS Performance Evaluation Review10.1145/3547353.353096950:1(83-84)Online publication date: 7-Jul-2022
  • (2022)On Multivariate Singular Spectrum Analysis and Its VariantsACM SIGMETRICS Performance Evaluation Review10.1145/3547353.352695250:1(79-80)Online publication date: 7-Jul-2022
  • (2021)Archive-based multi-criteria Artificial Bee Colony algorithm for whole test suite generationEngineering Science and Technology, an International Journal10.1016/j.jestch.2020.12.011Online publication date: Feb-2021
  • (2020)ADF-GAProceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops10.1145/3387940.3391499(754-761)Online publication date: 27-Jun-2020
  • (2018)Which generated test failures are fault revealing? prioritizing failures based on inferred precondition violations using PAFProceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3236024.3236058(679-690)Online publication date: 26-Oct-2018
  • (2018)Computational Design of Transforming Pop-up BooksACM Transactions on Graphics10.1145/315693437:1(1-14)Online publication date: 18-Jan-2018
  • (2017)Learning Local Shape Descriptors from Part Correspondences with Multiview Convolutional NetworksACM Transactions on Graphics10.1145/313760937:1(1-14)Online publication date: 16-Nov-2017
  • (2017)A Survey on Data-Flow TestingACM Computing Surveys10.1145/302026650:1(1-35)Online publication date: 10-Mar-2017
  • (2016)ValiErlangProceedings of the 1st Brazilian Symposium on Systematic and Automated Software Testing10.1145/2993288.2993300(1-10)Online publication date: 19-Sep-2016
  • (2015)Dynamic data flow testing of object oriented systemsProceedings of the 37th International Conference on Software Engineering - Volume 110.5555/2818754.2818868(947-958)Online publication date: 16-May-2015
  • 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