Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Using Bayesian optimization algorithm for model-based integration testing

Published: 01 April 2022 Publication History

Abstract

Model-based testing is an automated process in which executable tests are derived from behavioral models of a system. Model checking is a verification technique to reveal errors in which all reachable states of a system can be generated as state space. In the literature, different approaches suggest using model checkers for model-based testing. Model checker explores all possible system states, so utilizing the various paths in the state-space as test cases seems a promising solution. However, these approaches suffer from two main challenges. The first challenge is state space explosion, which prevents generating all reachable states by the model checker. The second one is generating redundant test cases. Recently, several methods using meta-heuristic and evolutionary approaches have been proposed to cope with these problems. Therefore, exploring a portion of state space using an optimization approach to detect the test objectives can be a proper way to manage the state space explosion and generate an optimal test suite with the least redundancy. In this paper, a method is proposed using a Bayesian optimization algorithm (BOA), and a model checker is as a bed to generate test cases for the service-oriented systems. In the proposed approach, the test suite is a set of paths on the state space starting from an initial state and leading to the state in which all the test objectives are satisfied. In this research, we have implemented BOA with three different structures in GROOVE toolset, an open-source toolset for designing and model checking graph transformation. Experimental results show that our solution generates better results in terms of coverage and speed in different case studies than the existing approaches.

References

[1]
A. Abdurazik, J. Offutt (2000) Using UML collaboration diagrams for static checking and test generation. In: Proceedings of the third international conference on the unified modeling language (UML’00), New York, pp 383–395
[2]
Ali S, Briand LC, Rehman MJ, Asghar H, Zohaib M, Iqbal Z, and Nadeem A A state-based approach to integration testing based on UML models Inf Softw Technol 2007 49 1087-1106
[3]
Ali S, Iqbal M, Arcuri A, Briand L (2011) A search-based OCL constraint solver for model-based test data generation. In: Proceedings of international conference on quality software, Madrid.
[4]
Ammann P and Offutt J Introduction to software testing 2008 New York Cambridge University Press
[5]
Andreou AS and Chatzis SP software defect prediction using doubly stochastic poisson processes driven by stochastic belief networks J Syst Softw 2016 122 72-82
[6]
Arcuri A, Briand L (2011) A practical guide for using statistical tests to assess randomized algorithms in software engineering. In: Proceedings of the 33rd international conference on software engineering, New York, USA
[7]
Badri M, Badri L, Naha M (2003) A use case driven testing process: towards a formal approach based on UML collaboration diagrams. In: Proceedings of the 3rd international workshop on formal approaches to testing of software FATES 2003, lecture notes in computer science. Springer-Verlag, Berlin, Heidelberg, pp 223–235
[8]
Bahrampour A and Rafe V Using memetic algorithms for robustness testing of contractbased software models Artif Intell Rev 2020 54 9 877-915
[9]
Bahrampour A and Rafe V Using search-based techniques for testing executable software models specified through graph transformations Int J Mach Learn Cybern 2020 11 12 2743-2770
[10]
Bai CG Bayesian network based software reliability prediction with an operational profile J Syst Softw 2005 77 103-112
[11]
Bai CG, Hu QP, Xie M, and Ng SH Software failure prediction based on a Markov Bayesian network mode J Syst Softw 2005 74 275-282
[12]
Baier C and Katoen JP Principles of model checking 2008 Cambridge MIT Press
[13]
Cimatti A, Clarke EM, Giunchiglia F, Roveri M (1999) NUSMV: a new symbolic model verifier. In: CAV ’99: proceedings of the 11th international conference on computer aided verification, London, UK, pp 495–499
[14]
Clarke D, Jéron T, Rusu V, and Zinovieva E A symbolic test generation tool. Tools and algorithms for the construction and analysis of systems (TACAS’02) Lecture notes computer science 2002 Berlin Springer 470-475
[15]
Colin S, Legeard B, and Peureux F Preamble computation in automated test case generation using constraint logic programming J Softw Test Verif Reliab 2004 14 3 213-235
[16]
Dick J, Faivre A (1993) Automating the generation and sequencing of test cases from model-based specifications. In: Proceedings of the 1st international symposium of formal methods Europe, Odense, Denmark, vol 670. pp 268–284
[17]
Ehrig H, Engels G, Presicce F, Rozenberg G (2004) Graph transformations. In: Second international conference on graph transformation, Rome, Italy
[18]
Engels G, G¨uldali B, Lohmann M (2006) Towards model-driven unit testing. In: International conference on models in software engineering, Berlin, Heidelberg
[19]
Fang Z, Sun H (2010) A software regression testing strategy based on bayesian network. In: International conference on computational intelligence and software engineering (CiSE). IEEE
[20]
Francesca G, Santone A, Vaglini G, Villani ML (2011) Ant colony optimization for deadlock detection in concurrent systems. In: Journal of computer software and applications conference (COMPSAC). IEEE, pp 108–117
[21]
Gallagher L, Offutt J, and Cincotta A Integration testing of object-oriented components using finite state machines Softw Test Verif Reliab 2006 16 215-266
[22]
Gallagher L, Offutt J (2004) Integration testing of object-oriented components using FSMS: theory and experimental details. GMU Technical Report ISE-TR-04–04
[23]
Gnesi S, Latella D, Massink M (2004) Formal test-case generation for UML state charts. In: Proceedings of the 9th IEEE international conference on engineering complex computer systems (ICECCS’04). pp 75–84
[24]
Gönczy L, Heckel R, Varró D (2007) Model-based testing of service infrastructure components. In: Testing of software and communicating systems, 19th IFIPTC6/WG6.1 international conference, TestCom 2007, 7th international workshop, FATES 2007, Tallinn, Estonia, June 26–29, 2007, proceedings. Lecture notes in computer science 4581. pp 155–170
[25]
Güldali B, Mlynarski M, Wübbeke A, Engels G (2009) Model-based system testing using visual contracts. In: 35th euromicro conference on software engineering and advanced applications, SEAA 2009, Patras, Greece, August 27–29, 2009, Proceedings. IEEE Computer Society, pp 121–124
[26]
Heckel R Graph transformation in a Nutshell Electr Notes Theor Comput Sci (ENTCS) 2006 148 1 187-198
[27]
Heckel R, Ahmed Khan T, Machado R (2011) Towards test coverage criteria for visual contracts. In: Proceedings of the tenth international workshop on graph transformation and visual modeling techniques, Berlin
[28]
Hong H, Lee I, Sokolsky O, Ural H (2002) A temporal logic based theory of test coverage and generation. In: Proceedings of the TACAS’02. pp 327–341
[29]
Jebari K and Madiafi M Selection methods for genetic algorithms Int J Emerg Sci 2013 3 4 333-344
[30]
Kalaee A and Rafe V Model-based test suite generation for graph transformation system using model simulation and search-based techniques Inf Softw Technol 2019 108 1-29
[31]
Kastenberg H and Rensink A Model checking dynamic states in GROOVE International SPIN workshop on model checking of software 2006 Berlin Heidelberg Springer 299-305
[32]
Khurana N and Chillar RS Test case generation and optimization using UML models and genetic algorithm Procedia Comput Sci 2015 57 996-1004
[33]
Larranaga P and Lozano JA Estimation of distribution algorithms: A new tool for evolutionary computation 2001 New York Springer
[34]
M. Mlynarski, (2012) Model-based testing: achievements and future challenges. University of Paderborn, s-lab – Software Quality Lab, Paderborn, Berlin, Germany
[35]
McMinn P Search-based software test data generation: a survey J Softw Test Verif Reliab 2004 14 2 105-156
[36]
Mohalik S, Gadkari A, Yeolekar A, Shashidhar K, and Ramesh S Automatic test case generation from Simulink/State flow models using model checking J Softw Test Verif Reliab 2014 24 2 155-180
[37]
Nikanjam A and Rahmani A Exploiting bivariate dependencies to speedup structure learning in Bayesian optimization algorithm J Comput Sci Tech 2012 27 5 1077-1090
[38]
Offutt A, Liu S, Abdurazik A, and Ammann P Generating test data from state-based specifications J Softw Test Verif Reliab 2003 13 1 25-53
[39]
Pearl J Probabilistic reasoning in intelligent systems: networks of plausible inference 2014 Burlington Morgan Kaufmann
[40]
Pelikan M Probabilistic model-building genetic algorithms Hierarchical bayesian optimization algorithm, studies in fuzziness and soft computing 2003 Berlin Heidelberg Springer 13-30
[41]
Pelikan M, Goldberg DE, Erick CP (1999) BOA: the bayesian optimization algorithm. In: Proceedings of the genetic and evolutionary computation conference GECCO-99, vol 1.
[42]
Peng X, Lu L (2011) A new approach for session-based test case generation by GA. In: IEEE 3rd international conference on communication software and networks
[43]
Pira E, Rafe V, Nikanjam A (2017) Deadlock detection in complex software systems specified through graph transformation using Bayesian optimization algorithm. J Syst Softw (131): 181–200
[44]
Rafe V Scenario-driven analysis of systems specified through graph transformations J vis Lang Comput 2013 24 2 136-145
[45]
Rafe V, Moradi M, Yousefian R, and Nikanjam A A meta-heuristic approach for automated refutation of complex software systems specified through graph transformations Appl Soft Comput 2015 33 136-149
[46]
Runge O, Ahmed Khan T, Heckel R (2013) Test case generation using visual contracts. In: Electronic communications of the EASST, vol 58, 2013, proceedings of the 12th international workshop on graph transformation and visual modeling techniques (GTVMT 2013)
[47]
Runge O, Khan T, Heckel R (2013) Test case generation using visual contracts. In: Proceedings of the 12th international workshop on graph transformation and visual modeling techniques (ECEASST)
[48]
Sagarna R and Lozano JA Scatter search in software testing, comparison and collaboration with estimation of distribution algorithms Euro J Oper Res 2006 169 392-412
[49]
Sagarna R, Arcuri A, Yao X (2007) Estimation of distribution algorithms for testing object oriented software. In: IEEE congress on evolutionary computation
[50]
Sajeev ASM and Wibowo B UML modeling for regression testing of component based systems Electronic Notes Theor Comput Sci 2003 82 6 1-9
[51]
Schnelte M, Güldali B (2010) Test case generation for visual contracts using AI planning. In: Conformance informatik 2010: service science – neue perspektiven für die informatik, beiträge der 40. Jahrestagung der gesellschaft für informatik e.V. (GI), Band 2, 27.09, 2010, Leipzig
[52]
Shamshiri S, Rojas J, Fraser G, McMinn P (2015) Random or genetic algorithm search for object-oriented test suite generation?. In: Proceedings of the 2015 annual conference on genetic and evolutionary computation, New York
[53]
Sumalatha VM and Raju GSVP Model based test case optimization of UML Activity diagram using evolutionary algorithms Int J Comput Sci Mob Appl 2014 2 11 131-142
[54]
Taentzer G AGG: a graph transformation environment for modeling and validation of software International workshop on applications of graph transformations with industrial relevance 2003 Berlin, Heidelberg Springer 446-453
[55]
Ting S, Wu K, Weikai M, Geguang P, Jifeng H, Yuting C, and Zhendong S A survey on data-flow testing ACM Comput Surv 2017 50 1 1-35
[56]
Utting M, Legerad B, Bouquet F, Fourneret E, Peureux F, and Vernotte A Memon A Recent advances in model-based testing Advances in Computers 2016 New York Elsevier 53-120
[57]
Utting M, Pretschner A, and Legeard B A taxonomy of model-based testing approaches Softw Test Verif Reliab 2011
[58]
Varro D and Balogh A The model transformation language of the VIATRA2framework Sci Comput Program 2007 68 3 214-234
[59]
Vieira ME, Dias MS, Richardson DJ (2000) Object-oriented specification-based testing using UML state-chart diagrams. In: Proceedings of the workshop on automated program analysis, testing, and verification (at ICSE’2000)
[60]
Wagner S A bayesian network approach to assess and predict software quality using activity-based quality models Inf Softw Technol 2010 52 1230-1241
[61]
Wilcoxon F Individual comparisons by ranking methods Biom Bull 1945 1 6 80-83
[62]
Yang Z, Yu Z, and Bai C The approach of graphical user interface testing guided by Bayesian model 2014 Springer, Cham Lecture notes in electrical engineering 385-393
[63]
Yousefian R, Rafe V, and Rahmani M A heuristic solution for model checking graph transformation systems Appl Soft Comput 2014 24 C 169-180

Cited By

View all
  • (2024)Using data mining techniques to generate test cases from graph transformation systems specificationsAutomated Software Engineering10.1007/s10515-024-00417-031:1Online publication date: 21-Feb-2024

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Soft Computing - A Fusion of Foundations, Methodologies and Applications
Soft Computing - A Fusion of Foundations, Methodologies and Applications  Volume 26, Issue 7
Apr 2022
444 pages
ISSN:1432-7643
EISSN:1433-7479
Issue’s Table of Contents

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 April 2022
Accepted: 21 October 2021

Author Tags

  1. Model-based testing
  2. Graph transformation
  3. Bayesian optimization algorithm
  4. Integration testing
  5. Data flow

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Using data mining techniques to generate test cases from graph transformation systems specificationsAutomated Software Engineering10.1007/s10515-024-00417-031:1Online publication date: 21-Feb-2024

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media