Model-based testing using UML activity diagrams: A systematic mapping study

Abstract Context: The Unified Modeling Language (UML) has become the de facto standard for software modeling. UML models are often used to visualize, understand, and communicate the structure and behavior of a system. UML activity diagrams (ADs) are often used to elaborate and visualize individual use cases. Due to their higher level of abstraction and process-oriented perspective, UML ADs are also highly suitable for model-based test generation. In the last two decades, different researchers have used UML ADs for test generation. Despite the growing use of UML ADs for model-based testing, there are currently no comprehensive and unbiased studies on the topic. Objective: To present a comprehensive and unbiased overview of the state-of-the-art on model-based testing using UML ADs. Method: We review and structure the current body of knowledge on model-based testing using UML ADs by performing a systematic mapping study using well-known guidelines. We pose nine research questions, outline our selection criteria, and develop a classification scheme. Results: The results comprise 41 primary studies analyzed against nine research questions. We also highlight the current trends and research gaps in model-based testing using UML ADs and discuss some shortcomings for researchers and practitioners working in this area. The results show that the existing approaches on model-based testing using UML ADs tend to rely on intermediate formats and formalisms for model verification and test generation, employ a multitude of graph-based coverage criteria, and use graph search algorithms. Conclusion: We present a comprehensive overview of the existing approaches on model-based testing using UML ADs. We conclude that (1) UML ADs are not being used for non-functional testing, (2) only a few approaches have been validated against realistic, industrial case studies, (3) most approaches target very restricted application domains, and (4) there is currently a clear lack of holistic approaches for model-based testing using UML ADs.

[1]  Gurkarandesh Kaur,et al.  Test Case Generation Using UML Diagram , 2015 .

[2]  Peng Jiang,et al.  Regression Test Cases Generation Based on Automatic Model Revision , 2012, 2012 Sixth International Symposium on Theoretical Aspects of Software Engineering.

[3]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.

[4]  Bin Lei,et al.  UML Activity Diagram Based Testing of Java Concurrent Programs for Data Race and Inconsistency , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[5]  Debasis Samanta,et al.  Synthesis of test scenarios using UML activity diagrams , 2009, Software & Systems Modeling.

[6]  Tore Dybå,et al.  Applying Systematic Reviews to Diverse Study Types: An Experience Report , 2007, ESEM 2007.

[7]  Volker Gruhn,et al.  Generating Test Plans for Acceptance Tests from UML Activity Diagrams , 2010, 2010 17th IEEE International Conference and Workshops on Engineering of Computer Based Systems.

[8]  Dong Xu,et al.  Using adaptive agents to automatically generate test scenarios from the UML activity diagrams , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[9]  Philip Samuel,et al.  Slicing-based test case generation from UML activity diagrams , 2009, SOEN.

[10]  Monica Berger,et al.  Everything You Ever Wanted to Know About Predatory Publishing but Were Afraid to Ask , 2017 .

[11]  Rajesh Subramanyan,et al.  Automation of GUI testing using a model-driven approach , 2006, AST '06.

[12]  Mingsong Chen,et al.  Efficient test case generation for validation of UML activity diagrams , 2010, Des. Autom. Embed. Syst..

[13]  Doo-Hwan Bae,et al.  A test sequence selection method for statecharts , 2000 .

[14]  Guoliang Zheng,et al.  Generating test cases from UML activity diagram based on Gray-box method , 2004, 11th Asia-Pacific Software Engineering Conference.

[15]  Lionel C. Briand,et al.  A UML-Based Approach to System Testing , 2001, UML.

[16]  Arvinder Kaur,et al.  Systematic Review of Automatic Test Case Generation by UML Diagrams , 2012 .

[17]  Tao He,et al.  Extenics-based Test Case Generation for UML Activity Diagram , 2013, ITQM.

[18]  James A. Whittaker,et al.  Model‐Based Software Testing , 2002 .

[19]  Allaoua Chaoui,et al.  A Graph Transformation Approach for Automatic Test Cases Generation from UML Activity Diagrams , 2015, C3S2E.

[20]  Robert B. France,et al.  Test adequacy criteria for UML design models , 2003, Softw. Test. Verification Reliab..

[21]  StörrleHarald Semantics and Verification of Data Flow in UML 2.0 Activities , 2005 .

[22]  A. Jefferson Offutt,et al.  Introduction to Software Testing , 2008 .

[23]  Danna Zhou,et al.  d. , 1934, Microbial pathogenesis.

[24]  Harald Störrle,et al.  Semantics and Verification of Data Flow in UML 2.0 Activities , 2005, VLFM.

[25]  S. Shanmuga Priya,et al.  TEST CASE GENERATION FROM UML MODELS - A SURVEY , 2013 .

[26]  James A. Whittaker,et al.  A Markov Chain Model for Statistical Software Testing , 1994, IEEE Trans. Software Eng..

[27]  Chiou Peng Lam,et al.  Towards Automated Test Sequence Generation , 2008, 19th Australian Conference on Software Engineering (aswec 2008).

[28]  Gregory Mahr Validation , 2019, Academic Psychiatry.

[29]  Debasish Kundu,et al.  A Novel Approach to Generate Test Cases from UML Activity Diagrams , 2009, J. Object Technol..

[30]  V. Sumalatha An Model Based Test Case Generation Technique Using Genetic Algorithms , 2022 .

[31]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[32]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .

[33]  Jeffrey Beall,et al.  Medical Publishing Triage – Chronicling Predatory Open Access Publishers , 2013, Annals of medicine and surgery.

[34]  Chang-ai Sun A Transformation-Based Approach to Generating Scenario-Oriented Test Cases from UML Activity Diagrams for Concurrent Applications , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[35]  Chiou Peng Lam,et al.  Transformation methodology for UML 2.0 activity diagram into colored Petri nets , 2007 .

[36]  Boris Beizer,et al.  Software testing techniques (2. ed.) , 1990 .

[37]  Atul Gupta,et al.  An Approach of Generating Test Requirements for Agile Software Development , 2015, ISEC.

[38]  Mohammed Akour,et al.  ADBT Frame Work as a Testing Technique: An Improvement in Comparison with Traditional Model Based Testing , 2016 .

[39]  Chiou Peng Lam,et al.  AD2US: an automated approach to generating usage scenarios from UML activity diagrams , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[40]  Yan Zhao,et al.  A transformation‐based approach to testing concurrent programs using UML activity diagrams , 2016, Softw. Pract. Exp..

[41]  David Moher,et al.  What is a predatory journal? A scoping review , 2018, F1000Research.

[42]  Emilia Mendes,et al.  Effort estimation in agile software development: a systematic literature review , 2014, PROMISE.

[43]  Bogdan Korel,et al.  Automated Software Test Data Generation , 1990, IEEE Trans. Software Eng..

[44]  M. F. Tolba,et al.  Automatic generation of multi-testing types test cases using requirements-based testing , 2012, 2012 Seventh International Conference on Computer Engineering & Systems (ICCES).

[45]  Claes Wohlin,et al.  Systematic literature studies: Database searches vs. backward snowballing , 2012, Proceedings of the 2012 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement.

[46]  Julio Cesar Sampaio do Prado Leite,et al.  On Non-Functional Requirements in Software Engineering , 2009, Conceptual Modeling: Foundations and Applications.

[47]  Chiou Peng Lam,et al.  A Max-Min Multiobjective Technique to Optimize Model Based Test Suite , 2009, 2009 10th ACIS International Conference on Software Engineering, Artificial Intelligences, Networking and Parallel/Distributed Computing.

[48]  Fausto Giunchiglia,et al.  NUSMV: A New Symbolic Model Verifier , 1999, CAV.

[49]  Amitranjan Gantait Test Case Generation and Prioritization from UML Models , 2011, 2011 Second International Conference on Emerging Applications of Information Technology.

[50]  Mingsong Chen,et al.  ADAutomation: An Activity Diagram Based Automated GUI Testing Framework for Smartphone Applications , 2014, 2014 Eighth International Conference on Software Security and Reliability.

[51]  Xin Fan,et al.  Test Case Generation from UML Subactivity and Activity Diagram , 2009, 2009 Second International Symposium on Electronic Commerce and Security.

[52]  Thomas J. Ostrand,et al.  Automatic Generation of Test Scripts from Formal Test Specifications , 1989, Symposium on Testing, Analysis, and Verification.

[53]  Rajeev Kumar,et al.  Testing for concurrency in UML diagrams , 2012, SOEN.

[54]  Hrushikesha Mohanty,et al.  Automated Scenario Generation Based on UML Activity Diagrams , 2008, 2008 International Conference on Information Technology.

[55]  Boris Beizer,et al.  Software Testing Techniques , 1983 .

[56]  Rajvir Singh,et al.  Test Case Generation for Object-Oriented Systems: A Review , 2014, 2014 Fourth International Conference on Communication Systems and Network Technologies.

[57]  John C. Cherniavsky,et al.  Validation, Verification, and Testing of Computer Software , 1982, CSUR.

[58]  Reza Akbari,et al.  Using memetic algorithms for test case prioritization in model based software testing , 2016, 2016 1st Conference on Swarm Intelligence and Evolutionary Computation (CSIEC).

[59]  Atul Gupta,et al.  An Approach to Generate Safety Validation Test Cases from UML Activity Diagram , 2013, 2013 20th Asia-Pacific Software Engineering Conference (APSEC).

[60]  Jin Li,et al.  TSGen: A UML Activity Diagram-Based Test Scenario Generation Tool , 2009, 2009 International Conference on Computational Science and Engineering.

[61]  PRATEEVA MAHALI,et al.  MODEL BASED TEST CASE PRIORITIZATION USING UML ACTIVITY DIAGRAM AND EVOLUTIONARY ALGORITHM , 2013 .

[62]  Kai Petersen,et al.  Guidelines for conducting systematic mapping studies in software engineering: An update , 2015, Inf. Softw. Technol..

[63]  Ji Wu,et al.  A model driven approach toward business process test case generation , 2008, 2008 10th International Symposium on Web Site Evolution.

[64]  Xiaoqing Bai,et al.  An approach to generate the thin-threads from the UML diagrams , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[65]  Supaporn Kansomkeat,et al.  Generating test cases from UML activity diagrams using the Condition-Classification Tree Method , 2010, 2010 2nd International Conference on Software Technology and Engineering.

[66]  Rajeev Kumar,et al.  UML behavioral model based test case generation: a survey , 2013, SOEN.

[67]  Bruno Legeard,et al.  A taxonomy of model‐based testing approaches , 2012, Softw. Test. Verification Reliab..

[68]  Rajeev Kumar,et al.  Transition sequence exploration of UML activity diagram using evolutionary algorithm , 2012, ISEC.

[69]  Ying Zhang,et al.  Improving Defect Detection Ability of Derived Test Cases Based on Mutated UML Activity Diagrams , 2016, 2016 IEEE 40th Annual Computer Software and Applications Conference (COMPSAC).

[70]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[71]  Paul C. Jorgensen,et al.  Software Testing: A Craftsman's Approach , 1995 .

[72]  Mohamed F. Tolba,et al.  An enhanced test case generation technique based on activity diagrams , 2011, The 2011 International Conference on Computer Engineering & Systems.

[73]  Hrushikesha Mohanty,et al.  Using similarity measures for test scenario selection , 2009, 2009 International Conference on Industrial and Information Systems (ICIIS).

[74]  Ivan Porres,et al.  Distributed virtual machine consolidation: A systematic mapping study , 2018, Comput. Sci. Rev..

[75]  Wei Xu,et al.  UML Activity Diagram-Based Automatic Test Case Generation For Java Programs , 2009, Comput. J..

[76]  Rajeev Kumar,et al.  Test scenario selection for concurrency testing from UML models , 2015, 2015 Eighth International Conference on Contemporary Computing (IC3).