Manual test case derivation from UML activity diagrams and state machines: A controlled experiment

Presents controlled experiment on manual test case derivation from system models.Provides taxonomy of errors made and statistics about their frequencies.Shows that activity diagrams have a higher comprehensibility than state machines.Shows that activity diagrams are more error-prone than state machines. ContextIt is a difficult and challenging task to fully automatize model-based testing because this demands complete and unambiguous system models as input. Therefore, in practice, test cases, especially on the system level, are still derived manually from behavioral models like UML activity diagrams or state machines. But this kind of manual test case derivation is error-prone and knowing these errors makes it possible to provide guidelines to reduce them. ObjectiveThe objective of the study presented in this paper therefore is to examine which errors are possible and actually made when manually deriving test cases from UML activity diagrams or state machines and whether there are differences between these diagram types. MethodWe investigate the errors made when deriving test cases manually in a controlled student experiment. The experiment was performed and internally replicated with overall 84 participants divided into three groups at two institutions. ResultsAs a result of our experiment, we provide a taxonomy of errors made and their frequencies. In addition, our experiment provides evidence that activity diagrams have a higher perceived comprehensibility but also a higher error-proneness than state machines with regard to manual test case derivation. This information helps to develop guidelines for manual test case derivation from UML activity diagrams and state machines. ConclusionMost errors observed were due to missing test steps, conditions or results, or content was written into the wrong field. As activity diagrams have a higher perceived comprehensibility, but also more error-prone than state machines, both diagram types are useful for manual test case derivation. Their application depends on the context and should be complemented with clear rules on how to derive test cases.

[1]  Dietmar Pfahl,et al.  Reporting Experiments in Software Engineering , 2008, Guide to Advanced Empirical Software Engineering.

[2]  Alexander Pretschner,et al.  One evaluation of model-based testing and its automation , 2005, ICSE.

[3]  Michel R. V. Chaudron,et al.  The impact of UML modeling on defect density and defect resolution time in a proprietary system , 2013, Empirical Software Engineering.

[4]  Li Xuandong,et al.  Automatic test case generation for UML activity diagrams , 2006 .

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

[6]  Ariadi Nugroho,et al.  Level of detail in UML models and its impact on model comprehension: A controlled experiment , 2009, Inf. Softw. Technol..

[7]  Stephan Weißleder,et al.  Automatic Test Case Generation from UML Models and OCL Expressions , 2008, Software Engineering.

[8]  Lionel C. Briand,et al.  A UML-Based Approach to System Testing , 2001, Software and Systems Modeling.

[9]  R. Mall,et al.  Automatic test case generation using unified modeling language (UML) state diagrams , 2008, IET Softw..

[10]  David A. Carrington,et al.  UML Class Diagram Syntax: An Empirical Study of Comprehension , 2001, InVis.au.

[11]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[12]  Neil A. Ernst,et al.  A Framework for Empirical Evaluation of Model Comprehensibility , 2007, International Workshop on Modeling in Software Engineering (MISE'07: ICSE Workshop 2007).

[13]  Pearl Brereton,et al.  Empirical evidence about the UML: a systematic literature review , 2011, Softw. Pract. Exp..

[14]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[15]  Rainer Unland,et al.  Objects, Components, Architectures, Services, and Applications for a Networked World , 2003, Lecture Notes in Computer Science.

[16]  A. Jefferson Offutt,et al.  Generating Tests from UML Specifications , 1999, UML.

[17]  Silvia Mara Abrahão,et al.  Assessing the Effectiveness of Sequence Diagrams in the Comprehension of Functional Requirements: Results from a Family of Five Experiments , 2013, IEEE Transactions on Software Engineering.

[18]  Walter F. Tichy,et al.  Hints for Reviewing Empirical Work in Software Engineering , 2000, Empirical Software Engineering.

[19]  Michael Felderer,et al.  Using Defect Taxonomies to Improve the Maturity of the System Test Process: Results from an Industrial Case Study , 2013, SWQD.

[20]  Li Xuandong,et al.  Generating test cases from UML activity diagram based on Gray-box method , 2004 .

[21]  Michael Felderer,et al.  On the Role of Defect Taxonomy Types for Testing Requirements: Results of a Controlled Experiment , 2014, 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications.

[22]  Danilo Caivano,et al.  Assessing the influence of stereotypes on the comprehension of UML sequence diagrams: A family of experiments , 2011, Inf. Softw. Technol..

[23]  Michel R. V. Chaudron,et al.  Evaluating the Impact of UML Modeling on Software Quality: An Industrial Case Study , 2009, MoDELS.

[24]  Michael J. Crawley,et al.  The R book , 2022 .

[25]  Pieter J. Mosterman,et al.  Model-Based Testing for Embedded Systems , 2011, Computational Analysis, Synthesis, & Design Dynamic Systems.

[26]  Massimiliano Di Penta,et al.  An experimental investigation of formality in UML-based development , 2005, IEEE Transactions on Software Engineering.

[27]  Wanchai Rivepiboon,et al.  Automated-generating test case using UML statechart diagrams , 2003 .

[28]  Miroslaw Staron,et al.  Empirical assessment of using stereotypes to improve comprehension of UML models: A set of experiments , 2006, J. Syst. Softw..

[29]  Sungwon Kang,et al.  Test Cases Generation from UML Activity Diagrams , 2007 .

[30]  Per Runeson,et al.  What do we know about defect detection methods? [software testing] , 2006, IEEE Software.

[31]  Jeffrey C. Carver,et al.  A Framework for Software Engineering Experimental Replications , 2008, 13th IEEE International Conference on Engineering of Complex Computer Systems (iceccs 2008).

[32]  Marco Torchiano,et al.  How Developers' Experience and Ability Influence Web Application Comprehension Tasks Supported by UML Stereotypes: A Series of Four Experiments , 2010, IEEE Transactions on Software Engineering.

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

[34]  Natalia Juristo Juzgado,et al.  Reviewing 25 Years of Testing Technique Experiments , 2004, Empirical Software Engineering.

[35]  Ilka Philippow,et al.  UML-Based Statistical Test Case Generation , 2002, NetObjectDays.

[36]  Jean Hartmann,et al.  A UML-based approach to system testing , 2005, Innovations in Systems and Software Engineering.

[37]  Peretz Shoval,et al.  Quality and comprehension of UML interaction diagrams-an experimental comparison , 2005, Inf. Softw. Technol..

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

[39]  José Javier Dolado,et al.  Evaluation of the comprehension of the dynamic modeling in UML , 2004, Inf. Softw. Technol..

[40]  Genny Tortora,et al.  An experimental comparison of ER and UML class diagrams for data modelling , 2010, Empirical Software Engineering.

[41]  Giuseppe Scanniello,et al.  A precise style for business process modelling: results from two controlled experiments , 2011, MODELS'11.

[42]  Michel R. V. Chaudron,et al.  Empirical studies concerning the maintenance of UML diagrams and their use in the maintenance of code: A systematic mapping study , 2013, Inf. Softw. Technol..

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

[44]  Doo-Hwan Bae,et al.  Test cases generation from UML state diagrams , 1999, IEE Proc. Softw..