Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3652620.3687823acmconferencesArticle/Chapter ViewAbstractPublication PagesmodelsConference Proceedingsconference-collections
research-article

Towards Model-Driven Test Case Concretization for End-to-end Combinatorial Testing

Published: 31 October 2024 Publication History

Abstract

Combinatorial testing can be used to automatically generate relevant sets of combinations of abstract test data for a System Under Test (SUT). It requires defining a combinatorial model with possible abstract values for the SUT input parameters, from which relevant abstract test cases can be generated to reach a chosen coverage criterion. However, concretizing abstract test cases into concrete test cases, and writing corresponding test scripts, is a tedious and error-prone manual process. With a focus on Java unit testing, we present in this paper a first end-to-end approach where combinatorial testing is supplemented with a model-driven concretization step for abstract test cases. To produce concrete test cases out of abstract test cases, the process requires a context-specific data generator provided by the test engineer, which can be implemented using constraint solving techniques. A code generator is used to produce the working JUnit test script for each concrete test case. The approach is implemented and integrated with the PICT combinatorial testing tool, the Choco-Solver Java library for data generation, and the Eclipse Modeling Framework (EMF) for model management. While the approach is currently limited to primitive data types, an initial evaluation on five Java methods shows that the testing effort can be greatly reduced when the combinatorial complexity is high.

References

[1]
Paul Ammann and Jeff Offutt. 2016. Introduction to software testing, Second Edition. Cambridge University Press.
[2]
M. Balcer, W. Hasling, and T. Ostrand. 1989. Automatic generation of test scripts from formal test specifications. In Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification - TAV3 (TAV3). ACM Press.
[3]
Gordon Fraser and Andrea Arcuri. 2011. EvoSuite: automatic test suite generation for object-oriented software. In Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering (ESEC/FSE'11). ACM.
[4]
Thom Frühwirth and Slim Abdennadher. 2003. Essentials of Constraint Programming. Springer Science & Business Media.
[5]
Mats Grindal and Jeff Offutt. 2007. Input Parameter Modeling for Combination Strategies. In Proceedings of the 25th Conference on IASTED International MultiConference: Software Engineering. ACTA Press, 255--260.
[6]
Sebastian Krings, Joshua Schmidt, Patrick Skowronek, Jannik Dunkelau, and Dierk Ehmke. 2020. Towards Constraint Logic Programming over Strings for Test Data Generation. In Declarative Programming and Knowledge Management, Petra Hofstedt, Salvador Abreu, Ulrich John, Herbert Kuchen, and Dietmar Seipel (Eds.). Springer International Publishing, Cham, 139--159.
[7]
Peter M. Kruse. 2016. Test Oracles and Test Script Generation in Combinatorial Testing. In 2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW).
[8]
D Richard Kuhn, Raghu N Kacker, and Yu Lei. 2013. Introduction to combinatorial testing. CRC press.
[9]
Yu Lei, Raghu Kacker, D. Richard Kuhn, Vadim Okun, and James Lawrence. 2007. IPOG: A General Strategy for T-Way Software Testing. In 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'07). 549--556.
[10]
Carlos Pacheco and Michael D. Ernst. 2007. Randoop: feedback-directed random testing for Java. In Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion (OOPSLA07). ACM.
[11]
Charles Prud'homme and Jean-Guillaume Fages. 2022. Choco-solver: A Java Library for Constraint Programming. Journal of Open Source Software 7, 78 (2022), 4708.
[12]
Maria Spichkova and Anna Zamansky. 2016. A Human-Centred Framework for Combinatorial Test Design. In International Conference on Evaluation of Novel Approaches to Software Engineering, Vol. 2. SCITEPRESS, 228--233.
[13]
Shiva Houshmand Yazdi. 2011. Analyzing Password Strength & Efficient Password Cracking. Ph. D. Dissertation. Florida State University.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
MODELS Companion '24: Proceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems
September 2024
1261 pages
ISBN:9798400706226
DOI:10.1145/3652620
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 the author(s) 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: 31 October 2024

Check for updates

Author Tags

  1. combinatorial testing
  2. unit testing
  3. automatic test generation
  4. test case concretization

Qualifiers

  • Research-article

Conference

MODELS Companion '24
Sponsor:

Acceptance Rates

Overall Acceptance Rate 144 of 506 submissions, 28%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 32
    Total Downloads
  • Downloads (Last 12 months)32
  • Downloads (Last 6 weeks)4
Reflects downloads up to 23 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media