An Approach to Generate Safety Validation Test Cases from UML Activity Diagram

A software is associated with certain modes of failure. Occurrence of such failures may be hazardous for the regular functioning of the software. Majority of these failures occur because of the unforeseen faults that manifest themselves during the execution of the software. The contemporary trends in the software industry indicate dedicated efforts to minimize these unforeseen faults, thereby minimizing the chances of unforeseen failures. One of the definitive ways is to analyze the specifications thoroughly for the potential faults it may contain. Fault tree analysis (FTA) is one such approach that scans the specifications to identify potential failure modes and has been used successfully in many domains including software. In this paper, we propose an approach to generate test cases from UML activity diagram specifications by first transforming an activity diagram into a Software Success Tree (SST) and a Software Fault Tree (SFT). Subsequently, the SST and the SFT are then used to generate test cases for testing the normal and exceptional behavior of the system, respectively. We demonstrate the applicability of the proposed approach using an illustrative example and compare its effectiveness with the other activity diagram based test case generation techniques.

[1]  S. Moore,et al.  Nuclear Regulatory Commission , 1975 .

[2]  C. H. Lie,et al.  Fault Tree Analysis, Methods, and Applications ߝ A Review , 1985, IEEE Transactions on Reliability.

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

[4]  J.-S. Lee,et al.  Qualitative formal method for requirements specification and validation of hybrid real-time safety systems , 2000, IEE Proc. Softw..

[5]  Ivar Jacobson,et al.  Use Cases and Aspects-Working Seamlessly Together , 2003, J. Object Technol..

[6]  Massood Towhidnejad,et al.  Validation of object oriented software design with fault tree analysis , 2003, 28th Annual NASA Goddard Software Engineering Workshop, 2003. Proceedings..

[7]  Josh Dehlinger,et al.  PLFaultCAT: A Product-Line Software Fault Tree Analysis Tool , 2006, Automated Software Engineering.

[8]  Anders P. Ravn,et al.  From Safety Analysis to Software Requirements , 1998, IEEE Trans. Software Eng..

[9]  Nancy G. Leveson,et al.  Analyzing Software Safety , 1983, IEEE Transactions on Software Engineering.

[10]  Doo-Hwan Bae,et al.  Bridging the Gap between Fault Trees and UML State Machine Diagrams for Safety Analysis , 2010, 2010 Asia Pacific Software Engineering Conference.

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

[12]  Mingsong Chen,et al.  Automatic test case generation for UML activity diagrams , 2006, AST '06.

[13]  Massood Towhidnejad,et al.  Fault tree analysis for software design , 2002, 27th Annual NASA Goddard/IEEE Software Engineering Workshop, 2002. Proceedings..

[14]  Insup Lee,et al.  Robust Test Generation and Coverage for Hybrid Systems , 2007, HSCC.

[15]  Rajib Mall,et al.  Test Case Generation Based on State and Activity Models , 2010, J. Object Technol..

[16]  Vasant Honavar,et al.  A Software Fault Tree Approach to Requirements Analysis of an Intrusion Detection System , 2002, Requirements Engineering.

[17]  Atul Gupta,et al.  Analysis of Use Case Requirements Using SFTA and SFMEA Techniques , 2012, 2012 IEEE 17th International Conference on Engineering of Complex Computer Systems.

[18]  Christoph Lauer,et al.  Fault tree synthesis from UML models for reliability analysis at early design stages , 2011, SOEN.

[19]  Chiou Peng Lam,et al.  Using Anti-Ant-like Agents to Generate Test Threads from the UML Diagrams , 2005, TestCom.

[20]  Zheng Yanyan,et al.  A Human Factors fault tree analysis method for software engineering , 2008, 2008 IEEE International Conference on Industrial Engineering and Engineering Management.

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

[22]  Mingsong Chen,et al.  Coverage-driven automatic test generation for uml activity diagrams , 2008, GLSVLSI '08.

[23]  Johannes RyserÊÊÊÊÊÊÊÊÊÊÊÊÊÊMartin Glinz,et al.  A Scenario-Based Approach to Validating and Testing Software Systems Using Statecharts , 1999 .

[24]  Laurent Mounier,et al.  A Model-Based Approach for Robustness Testing , 2005, TestCom.

[25]  Joanne Bechta Dugan,et al.  Automatic synthesis of dynamic fault trees from UML system models , 2002, 13th International Symposium on Software Reliability Engineering, 2002. Proceedings..