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

UML behavioral model based test case generation: a survey

Published: 12 July 2013 Publication History

Abstract

In software engineering, system modeling is the process of formulating a representation of a real system in an abstract way to understand its behavior. Software testing encourages reusing these models for testing purpose. This expedites the process of test case generation. UML structural and behavioral specification diagrams have been used by testing researchers for generation of test scenarios and test data.
The aim of this survey is to improve the understanding of UML based testing techniques. We have focused on test case generation from the behavioral specification diagrams, namely sequence, state chart and activity diagrams. We classify the various research approaches that are based on formal specifications, graph theoretic, heuristic testing, and direct UML specification processing. We discuss the issues of test coverage associated with these approaches.

References

[1]
T. McCabe, "A complexity measure," IEEE Transactions on Software Engineering, vol. SE-2, pp. 308--320, Dec. 1976.
[2]
T. Chow, "Testing Software Design Modeled by Finite-State Machines," IEEE Transactions on Software Engineering, vol. SE-4, pp. 178--187, May 1978.
[3]
W. H. Jessop, J. R. Kane, S. Roy, and J. M. Scanlon, "ATLAS-An Automated Software Testing System," in Proceedings of the 2nd international conference on Software engineering, ICSE '76, (Los Alamitos, CA, USA), pp. 629--635, IEEE Computer Society Press, 1976.
[4]
R. V. Binder, Testing Object-Oriented Systems: Models, Patterns, and Tools, vol. 1. Addison Wesley Longman, Inc., 1999.
[5]
L. C. Briand and Y. Labiche, "A UML-Based Approach to System Testing," in Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools, (London, UK, UK), pp. 194--208, Springer-Verlag, 2001.
[6]
F. Basanieri, A. Bertolino, and E. Marchetti, "The Cow Suite Approach to Planning and Deriving Test Suites in UML Projects," in Proceedings of the 5th International Conference on The Unified Modeling Language, UML '02, pp. 383--397, Springer-Verlag, 2002.
[7]
J. Hartmann, M. Vieira, H. Foster, and A. Ruder, "A UML-based approach to system testing," Innovations in Systems and Software Engineering, vol. 1, pp. 12--24, 2005.
[8]
A. Bertolino and S. Gnesi, "Use Case-based Testing of Product Lines," SIGSOFT Softw. Eng. Notes, vol. 28, pp. 355--358, Sept. 2003.
[9]
C. Nebut, F. Fleurey, Y. Le Traon, and J.-M. Jezequel, "Automatic Test Generation: A Use Case Driven Approach," IEEE Transactions on Software Engineering, vol. 32, pp. 140--155, March 2006.
[10]
J. J. Gutiérrez, M. J. Escalona, M. Mejías, and J. Torres, "An Approach to Generate Test Cases from Use Cases," in Proceedings of the 6th International Conference on Web Engineering, ICWE '06, (New York, USA), pp. 113--114, ACM, 2006.
[11]
B. Hasling, H. Goetz, and K. Beetz, "Model Based Testing of System Requirements using UML Use Case Models," in Proceedings of the 1st International Conference on Software Testing, Verification, and Validation, 2008, pp. 367--376, April 2008.
[12]
L. Chen and Q. Li, "Automated test case generation from use case: A model based approach," in Proceedings of the 3rd IEEE International Conference on Computer Science and Information Technology (ICCSIT), 2010, vol. 1, pp. 372--377, July 2010.
[13]
M. Utting and B. Legeard, Practical Model-Based Testing: A Tools Approach. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 2006.
[14]
A. Abdurazik and J. Offutt, "Using UML collaboration diagrams for static checking and test generation," in Proceedings of the 3rd International Conference on the Unified Modeling Language: Advancing the Standard, pp. 383--395, Springer-Verlag, 2000.
[15]
F. Fraikin and T. Leonhardt, "SeDiTeC-Testing Based on Sequence Diagrams," in Proceedings of the 17th IEEE International Conference on Automated Software Engineering, ASE 2002, pp. 261--266, 2002.
[16]
T. Dinh-Trong, S. Ghosh, and R. France, "A Systematic Approach to Generate Inputs to Test UML Design Models," in Proceedings of the 17th International Symposium on Software Reliability Engineering, ISSRE '06, pp. 95--104, 2006.
[17]
M. S. Lund and K. Stølen, "Deriving Tests from UML 2.0 Sequence Diagrams with neg and assert," in Proceedings of the 2006 International Workshop on Automation of Software Test, AST '06, pp. 22--28, ACM, 2006.
[18]
E. Cartaxo, F. Neto, and P. Machado, "Test Case Generation by means of UML Sequence Diagrams and Labeled Transition Systems," in Proceedings of the IEEE International Conference on Systems, Man and Cybernetics, ISIC, pp. 1292--1297, 2007.
[19]
B. Li, Z. Li, L. Qing, and Y. Chen, "Test Case Automate Generation from UML Sequence Diagram and OCL Expression," in International Conference on Computational Intelligence and Security, 2007, pp. 1048--1052, Dec. 2007.
[20]
M. Sarma, D. Kundu, and R. Mall, "Automatic Test Case Generation from UML Sequence Diagram," in International Conference on Advanced Computing and Communications, 2007. ADCOM 2007, pp. 60--67, December 2007.
[21]
Y. Lei and N. Lin, "Semiautomatic Test Case Generation Based on Sequence Diagrams," International Computer Symposium, ICS2008, pp. 349--355, 2008.
[22]
H. Zhou, Z. Huang, and Y. Zhu, "Polymorphism Sequence Diagrams Test Data Automatic Generation Based on OCL," in 9th International Conference for Young Computer Scientists, 2008, ICYCS 2008, pp. 1235--1240, November 2008.
[23]
M. Shirole and R. Kumar, "A Hybrid Genetic Algorithm Based Test Case Generation Using Sequence Diagrams," in Contemporary Computing, vol. 94 of Communications in Computer and Information Science, pp. 53--63, Springer Berlin Heidelberg, 2010.
[24]
A. Nayak and D. Samanta, "Automatic Test Data Synthesis using UML Sequence Diagrams," Journal of Object Technology, vol. 9, no. 2, pp. 115--144, 2010.
[25]
J. Offutt and A. Abdurazik, "Generating Tests from UML Specifications," in UML'99 -- The Unified Modeling Language, vol. 1723 of Lecture Notes in Computer Science, pp. 76--76, Springer, 1999.
[26]
Y. Kim, H. Hong, D. Bae, and S. Cha, "Test Cases Generation from UML State Diagrams," IEE Proceedings-Software, vol. 146, pp. 187--192, August 1999.
[27]
L. Liuying and Q. Zhichang, "Test Selection from UML Statecharts," in Proceedings of the Technology of Object-Oriented Languages and Systems, TOOLS 31, pp. 273--279, 1999.
[28]
J. Hartmann, C. Imoberdorf, and M. Meisinger, "UML-Based Integration Testing," SIGSOFT Softw. Eng. Notes, vol. 25, pp. 60--70, August 2000.
[29]
A. Baresel, H. Pohlheim, and S. Sadeghipour, "Structural and functional sequence test of dynamic and state-based software with evolutionary algorithms," in Proceedings of the 2003 International Conference on Genetic and Evolutionary Computation: Part-II, GECCO'03, pp. 2428--2441, Springer-Verlag, 2003.
[30]
L. Briand, J. Cui, and Y. Labiche, "Towards Automated Support for Deriving Test Data from UML Statecharts," in UML 2003 - The Unified Modeling Language. Modeling Languages and Applications, vol. 2863 of Lecture Notes in Computer Science, pp. 249{264, Springer Berlin / Heidelberg, 2003.
[31]
S. Kansomkeat and W. Rivepiboon, "Automated-Generating Test Case Using UML Statechart Diagrams," in Proceedings of the Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists on Enablement through technology, SAICSIT '03, pp. 296--300, 2003.
[32]
J. Offutt, S. Liu, A. Abdurazik, and P. Ammann, "Generating Test Data from State-Based Specifications," The Journal of Software Testing, Verification and Reliability, vol. 13, pp. 25--53, 2003.
[33]
S. Gnesi, D. Latella, and M. Massink, "Formal Test-case Generation for UML Statecharts," in Proceedings of the Ninth IEEE International Conference onEngineering Complex Computer Systems, 2004, pp. 75--84, April 2004.
[34]
L. C. Briand, Y. Labiche, and J. Cui, "Automated support for deriving test requirements from UML statecharts," Software and System Modeling, vol. 4, no. 4, pp. 399--423, 2005.
[35]
H. Li and C. Lam, "An Ant Colony Optimization Approach to Test Sequence Generation for State-based Software Testing," in Fifth International Conference on Quality Software, 2005. (QSIC 2005), pp. 255--262, Sept. 2005.
[36]
M. Massink, D. Latella, and S. Gnesi, "On testing UML statecharts," Journal of Logic and Algebraic Programming, vol. 69, no. 1-2, pp. 1--74, 2006.
[37]
C. Doungsa-ard, K. Dahal, A. Hossain, and T. Suwannasart, "Test Data Generation from UML State Machine Diagrams using GAs," in International Conference on Software Engineering Advances, ICSEA 2007, p. 47, 2007.
[38]
R. Lefticaru and F. Ipate, "Automatic State-Based Test Generation Using Genetic Algorithms," in Proceedings of the International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, SYNASC, pp. 188--195, 2007.
[39]
M. Shirole, A. Suthar, and R. Kumar, "Generation of Improved Test Cases from UML State Diagram Using Genetic Algorithm," in Proceedings of the 4th India Software Engineering Conference, pp. 125--134, 2011.
[40]
R. Eshuis and R. Wieringa, "Tool Support for Verifying UML Activity Diagrams," IEEE Transactions on Software Engineering, vol. 30, pp. 437--447, July 2004.
[41]
W. Linzhang, Y. Jiesong, Y. Xiaofeng, H. Jun, L. Xuandong, and Z. Guoliang, "Generating Test Cases from UML Activity Diagram based on Gray-Box Method," in Proceedings of the 11th Asia-Pacific Software Engineering Conference, pp. 284--291, 2004.
[42]
R. Chandler, C. P. Lam, and H. Li, "AD2US: An Automated Approach to Generating Usage Scenarios from UML Activity Diagrams," in Proceedings of the 12th Asia-Pacific Software Engineering Conference, pp. 9--16, 2005.
[43]
H. Li and C. Lam, "Using Anti-Ant-like Agents to Generate Test Threads from the UML Diagrams," in Testing of Communicating Systems, vol. 3502 of Lecture Notes in Computer Science, pp. 69--80, Springer Berlin / Heidelberg, 2005.
[44]
D. Xu, H. Li, and C. P. Lam, "Using Adaptive Agents to Automatically Generate Test Scenarios from the UML Activity Diagrams," in Proceedings of the 12th Asia-Pacific Software Engineering Conference, (Washington, DC, USA), pp. 385--392, IEEE Computer Society, 2005.
[45]
C. Mingsong, Q. Xiaokang, and L. Xuandong, "Automatic Test Case Generation for UML Activity Diagrams," in Proceedings of the 2006 International Workshop on Automation of Software Test, AST '06, pp. 2--8, ACM, 2006.
[46]
H. Kim, S. Kang, J. Baik, and I. Ko, "Test Cases Generation from UML Activity Diagrams," in Proceedings of the Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing - Volume 03, pp. 556--561, 2007.
[47]
M. Chen, P. Mishra, and D. Kalita, "Coverage-driven Automatic Test Generation for UML Activity Diagrams," in Proceedings of the 18th ACM Great Lakes symposium on VLSI, pp. 139--142, 2008.
[48]
B. Lei, L. Wang, and X. Li, "UML Activity Diagram Based Testing of Java Concurrent Programs for Data Race and Inconsistency," in Proceedings of the International Conference on Software Testing, Verification, and Validation, pp. 200--209, IEEE Computer Society, 2008.
[49]
C. Sun, "A Transformation-Based Approach to Generating Scenario-Oriented Test Cases from UML Activity Diagrams for Concurrent Applications," in Proceedings of the 32nd Annual IEEE International Conference of Computer Software and Applications, COMPSAC '08, pp. 160--167, 2008.
[50]
X. Fan, J. Shu, L. L. Liu, and Q. J. Liang, "Test Case Generation from UML Subactivity and Activity Diagram," in Second International Symposium on Electronic Commerce and Security, 2009. ISECS '09, vol. 2, pp. 244--248, May 2009.
[51]
D. Kundu and D. Samanta, "A Novel Approach to Generate Test Cases from UML Activity Diagrams," Journal of Object Technology, vol. 8, no. 3, pp. 65--83, 2009.
[52]
C. Sun, B. Zhang, and J. Li, "TSGen: A UML Activity Diagram-Based Test Scenario Generation Tool," in Proceedings of the 2009 International Conference on Computational Science and Engineering - Volume 02, CSE'09, pp. 853--858, 2009.
[53]
M. Chen, P. Mishra, and D. Kalita, "Efficient test case generation for validation of UML activity diagrams," Design Autom. for Emb. Sys., vol. 14, no. 2, pp. 105--130, 2010.
[54]
S. Kansomkeat, P. Thiket, and J. Offutt, "Generating Test Cases from UML Activity Diagrams using the Condition-Classification Tree Method," in Proceedings of the 2nd International Conference on Software Technology and Engineering (ICSTE), 2010, pp. 62--66, 2010.
[55]
A. Nayak and D. Samanta, "Synthesis of test scenarios using UML activity diagrams," Software and System Modeling, vol. 10, no. 1, pp. 63--89, 2011.
[56]
P. Pelliccione, H. Muccini, A. Bucchiarone, and F. Facchini, "TeStor: Deriving Test Sequences from Model-Based Specifications," in CBSE, vol. 3489 of Lecture Notes in Computer Science, pp. 267--282, Springer, 2005.
[57]
D. Sokenou, "Generating Test Sequences from UML Sequence Diagrams and State Diagrams," in GI Jahrestagung (2), pp. 236--240, 2006.
[58]
S. Ali, L. C. Briand, M. J. ur Rehman, H. Asghar, M. Z. Z. Iqbal, and A. Nadeem, "A state-based approach to integration testing based on UML models," Information and Software Technology, vol. 49, no. 11-12, pp. 1087--1106, 2007.
[59]
A. Bandyopadhyay and S. Ghosh, "Test Input Generation Using UML Sequence and State Machines Models," in Proceedings of the International Conference on Software Testing Verification and Validation, 2009. ICST '09, pp. 121--130, 2009.
[60]
S. K. Swain, D. P. Mohapatra, and R. Mall, "Test Case Generation Based on State and Activity Models," Journal of Object Technology, vol. 9, pp. 1--27, September 2010.
[61]
P. C. Jorgensen, Software Testing: A Craftsman's Approach, Third Edition. AUERBACH, 3 ed., 2008.
[62]
OMG, "UML superstructure v2.1.2," November 2007. http://www.omg.org/spec/UML/2.1.2/.
[63]
D. Buchs, L. Pedro, and L. Lucio, "Formal Test Generation from UML Models," in Research Results of the DICS Program, vol. 4028 of Lecture Notes in Computer Science, pp. 145--171, Springer, 2006.
[64]
Q. Malik, D. Truscan, and J. Lilius, "Using UML Models and Formal Verification in Model-Based Testing," in Proceedings of the 17th IEEE International Conference and Workshops on Engineering of Computer Based Systems (ECBS), 2010, pp. 50--56, March 2010.
[65]
E. Cunha, M. Custodio, H. Rocha, and R. Barreto, "Formal Verification of UML Sequence Diagrams in the Embedded Systems Context," in Proceeding of the Brazilian Symposium on Computing System Engineering (SBESC), 2011, pp. 39--45, Nov. 2011.
[66]
S. Flake and W. Muller, "Formal semantics of static and temporal state-oriented OCL constraints," Software and System Modeling, vol. 2, no. 3, pp. 164--186, 2003.
[67]
D. Latella and M. Massink, "A formal testig framework for UML statechart diagrams behaviours: from theory to automatic verification," in Proceedings of the Sixth IEEE International Symposium on High Assurance Systems Engineering, 2001, pp. 11--22, 2001.
[68]
D. Seifert, S. Helke, and T. Santen, "Test Case Generation for UML Statecharts," in Perspectives of System Informatics, vol. 2890 of Lecture Notes in Computer Science, pp. 93--109, Springer Berlin / Heidelberg, 2003.
[69]
O. Pilskalns, A. Andrews, S. Ghosh, and R. France, "Rigorous Testing by Merging Structural and Behavioral UML Representations," in Proceedings of the 6th International Conference on the Unified Modeling Language, pp. 234--248, 2003.
[70]
R. Lefticaru and F. Ipate, "Functional Search-based Testing from State Machines," in Proceedings of the First International Conference on Software Testing, Verfication and Validation (ICST 2008), pp. 525--528, 2008.
[71]
M. Shirole, M. Kommuri, and R. Kumar, "Transition sequence exploration of UML activity diagram using evolutionary algorithm," in Proceedings of the 5th India Software Engineering Conference, ISEC '12, pp. 97--100, ACM, 2012.
[72]
U. Farooq, C. P. Lam, and H. Li, "Towards Automated Test Sequence Generation," in Proceedings of the 19th Australian Conference on Software Engineering, pp. 441--450, IEEE Computer Society, 2008.
[73]
S. Weißleder, Test Models and Coverage Criteria for Automatic Model-Based Test Generation with UML State Machines. Doctoral thesis, Humboldt-University Berlin, Germany, 2010.
[74]
P. Ammann, J. Offutt, and W. Xu, "Coverage Criteria for State Based Specifications," in Formal Methods and Testing (R. Hierons, J. Bowen, and M. Harman, eds.), vol. 4949 of Lecture Notes in Computer Science, pp. 118--156, Springer Berlin / Heidelberg, 2008.
[75]
A. Rountev, S. Kagan, and J. Sawin, "Coverage Criteria for Testing of Object Interactions in Sequence Diagrams," in Fundamental Approaches to Software Engineering, vol. 3442 of Lecture Notes in Computer Science, pp. 289--304, Springer, 2005.
[76]
R. Ferreira, J. Faria, and A. Paiva, "Test Coverage Analysis of UML State Machines," in Proceedings of the Third International Conference on Software Testing, Verification, and Validation Workshops (ICSTW), 2010, pp. 284--289, Apr. 2010.
[77]
N. Kosmatov, B. Legeard, F. Peureux, and M. Utting, "Boundary Coverage Criteria for Test Generation from Formal Models," in Proceedings of the 15th International Symposium on Software Reliability Engineering, 2004. ISSRE 2004, pp. 139--150, Nov. 2004.
[78]
A. A. Sofokleous and A. S. Andreou, "Automatic, evolutionary test data generation for dynamic software testing," Journal of Systems and Software, vol. 81, no. 11, pp. 1883--1898, 2008.
[79]
S. Ali, L. Briand, H. Hemmati, and R. Panesar-Walawege, "A systematic review of the application and empirical investigation of search-based test case generation," IEEE Transactions on Software Engineering, vol. 36, no. 6, pp. 742--762, 2010.
[80]
L. Briand, M. Di Penta, and Y. Labiche, "Assessing and Improving State-Based Class Testing: A Series of Experiments," IEEE Transactions on Software Engineering, vol. 30, pp. 770--783, November 2004.
[81]
S. Mouchawrab, L. Briand, Y. Labiche, and M. Di Penta, "Assessing, Comparing, and Combining State Machine-Based Testing and Structural Testing: A Series of Experiments," IEEE Transactions on Software Engineering, vol. 37, pp. 161--187, March-April 2011.
[82]
A. Abdurazik and J. O utt, "A Controlled Experimental Evaluation of Test Cases Generated from UML Diagrams," tech. rep., 2004.

Cited By

View all
  • (2024)A New Approach for Multi-View Models’ Composition using Probes EventWSEAS TRANSACTIONS ON SYSTEMS10.37394/23202.2024.23.1923(164-175)Online publication date: 20-May-2024
  • (2024)Automatic Code Scraping Based Test Case GenerationThe Future of Artificial Intelligence and Robotics10.1007/978-3-031-60935-0_42(472-482)Online publication date: 20-Aug-2024
  • (2024)An automated model‐based testing approach for the self‐adaptive behavior of the unmanned aircraft system application softwareSoftware: Practice and Experience10.1002/spe.335854:12(2375-2427)Online publication date: 12-Jun-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 38, Issue 4
July 2013
185 pages
ISSN:0163-5948
DOI:10.1145/2492248
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 July 2013
Published in SIGSOFT Volume 38, Issue 4

Check for updates

Author Tags

  1. activity diagram
  2. formal specifications based testing
  3. graph theoretic testing
  4. heuristic testing
  5. sequence diagram
  6. state machine diagram
  7. test case generation

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2024)A New Approach for Multi-View Models’ Composition using Probes EventWSEAS TRANSACTIONS ON SYSTEMS10.37394/23202.2024.23.1923(164-175)Online publication date: 20-May-2024
  • (2024)Automatic Code Scraping Based Test Case GenerationThe Future of Artificial Intelligence and Robotics10.1007/978-3-031-60935-0_42(472-482)Online publication date: 20-Aug-2024
  • (2024)An automated model‐based testing approach for the self‐adaptive behavior of the unmanned aircraft system application softwareSoftware: Practice and Experience10.1002/spe.335854:12(2375-2427)Online publication date: 12-Jun-2024
  • (2023)Software Test Case Generation Tools and Techniques: A ReviewInternational Journal of Mathematical, Engineering and Management Sciences10.33889/IJMEMS.2023.8.2.0188:2(293-315)Online publication date: 1-Apr-2023
  • (2023)Survey of Model-Based Security Testing Approaches in the Automotive DomainIEEE Access10.1109/ACCESS.2023.328217611(55474-55514)Online publication date: 2023
  • (2023)Concurrent behavioral coverage criteria for sequence diagramsInnovations in Systems and Software Engineering10.1007/s11334-021-00413-719:2(157-176)Online publication date: 1-Jun-2023
  • (2022)Spider Monkey Particle Swarm Optimization (SMPSO) With Coverage Criteria for Optimal Test Case Generation in Object-Oriented SystemsInternational Journal of Open Source Software and Processes10.4018/IJOSSP.30075013:1(1-20)Online publication date: 23-May-2022
  • (2022)Automatic Generation of Acceptance Test Cases From Use Case Specifications: An NLP-Based ApproachIEEE Transactions on Software Engineering10.1109/TSE.2020.299850348:2(585-616)Online publication date: 1-Feb-2022
  • (2022)Combinatorial test case generation from sequence diagram using optimization algorithmsInternational Journal of System Assurance Engineering and Management10.1007/s13198-021-01579-w13:S1(642-657)Online publication date: 4-Jan-2022
  • (2022)Software validation based on prioritization using concurrent activity diagramInternational Journal of System Assurance Engineering and Management10.1007/s13198-021-01551-813:4(1801-1816)Online publication date: 4-Jan-2022
  • Show More Cited By

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