skip to main content
10.1145/2396716.2396725acmotherconferencesArticle/Chapter ViewAbstractPublication PageseuroplopConference Proceedingsconference-collections
research-article

Bow tie testing: a testing pattern for product lines

Published: 13 July 2011 Publication History

Abstract

Verification of highly configurable systems poses a significant challenge, the challenge of knowing that every configuration works when there often are intractably many different configurations. When a homogeneous abstraction layer has many mutually exclusive alternative implementations, we might, according to the polymorphic server test pattern, test these implementations using one test suite targeted towards the abstraction layer which is then run for each concrete implementation of the abstraction layer. But, the pattern does not handle interaction testing. Combinatorial interaction testing is one of the more promising techniques for doing interaction testing of a software product line. The bow tie testing pattern describes how the configurations which differ only in the implementation layer require one test suite. In addition, comparing the execution results of one product with another provides for a test oracle. The pattern reduces the effort of testing a highly configurable system without reducing the error detection capabilities provided by ordinary combinatorial interaction testing. We present an example of a subset of the Eclipse IDE product line, and show that only 20 test suites is required to test 41 products, a significant reduction.

References

[1]
Binder, R. V. 1999. Testing object-oriented systems: models, patterns, and tools. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
[2]
Bosch, J. and Lee, J., Eds. 2010. Software Product Lines: Going Beyond - 14th International Conference, SPLC 2010, Jeju Island, South Korea, September 13--17, 2010. Proceedings. Lecture Notes in Computer Science Series, vol. 6287. Springer.
[3]
Cabral, I., Cohen, M. B., and Rothermel, G. 2010. Improving the testing and testability of software product lines. See Bosch and Lee {2010}, 241--255.
[4]
Cohen, M. B., Dwyer, M. B., and Shi, J. 2008. Constructing interaction test suites for highly-configurable systems in the presence of constraints: A greedy approach. IEEE Transactions on Software Engineering 34, 633--650.
[5]
Engström, E. and Runeson, P. 2011. Software product line testing - a systematic mapping study. Information and Software Technology 53, 1, 2--13.
[6]
Johansen, M. F., Haugen, Ø., and Fleurey, F. 2011. A Survey of Empirics of Strategies for Software Product Line Testing. In Proceedings of the 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops, ICSTW '11, L. O'Conner, Ed. IEEE Computer Society, Washington, DC, USA, 266--269.
[7]
Kang, K. C., Cohen, S. G., Hess, J. A., Novak, W. E., and Peterson, A. S. 1990. Feature-oriented domain analysis (foda) feasibility study. Tech. rep., Carnegie-Mellon University Software Engineering Institute. November.
[8]
Kuhn, D. R., Wallace, D. R., and Gallo, A. M. 2004. Software fault interactions and implications for software testing. IEEE Transactions on Software Engineering 30, 6, 418--421.
[9]
Pohl, K., Böckle, G., and Linden, F. J. v. d. 2005. Software Product Line Engineering: Foundations, Principles and Techniques. Springer-Verlag New York, Inc., Secaucus, NJ, USA.
[10]
Reuys, A., Reis, S., Kamsties, E., and Pohl, K. 2006. The scented method for testing software product lines. In Software Product Lines, T. Käkölä and J. C. Dueñas, Eds. Springer, Berlin, Heidelberg, 479--520.
[11]
Rivieres, J. and Beaton, W. 2006. Eclipse Platform Technical Overview.
[12]
Stricker, V., Metzger, A., and Pohl, K. 2010. Avoiding redundant testing in application engineering. See Bosch and Lee {2010}, 226--240.
[13]
Uzuncaova, E., Khurshid, S., and Batory, D. 2010. Incremental test generation for software product lines. Software Engineering, IEEE Transactions on 36, 3, 309--322.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
EuroPLoP '11: Proceedings of the 16th European Conference on Pattern Languages of Programs
July 2011
250 pages
ISBN:9781450313025
DOI:10.1145/2396716
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

  • Hillside Europe: Hillside Europe
  • IT-Szene Munchen: IT-Szene Munchen

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 July 2011

Permissions

Request permissions for this article.

Check for updates

Author Tag

  1. software product lines

Qualifiers

  • Research-article

Conference

EuroPLoP 2011
Sponsor:
  • Hillside Europe
  • IT-Szene Munchen

Acceptance Rates

EuroPLoP '11 Paper Acceptance Rate 15 of 39 submissions, 38%;
Overall Acceptance Rate 216 of 354 submissions, 61%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)1
Reflects downloads up to 07 Nov 2024

Other Metrics

Citations

Cited By

View all

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media