Synthesis of test scenarios using UML activity diagrams

Often system developers follow Unified Modeling Language (UML) activity diagrams to depict all possible flows of controls commonly known as scenarios of use cases. Hence, an activity diagram is treated as a useful design artifact to identify all possible scenarios and then check faults in scenarios of a use case. However, identification of all possible scenarios and then testing with activity diagrams is a challenging task because several control flow constructs and their nested combinations make path identification difficult. In this paper, we address this problem and propose an approach to identify all scenarios from activity diagrams and use them to test use cases. The proposed approach is based on the classification of control constructs followed by a transformation approach which takes into account any combination of nested structures and transforms an activity diagram into a model called Intermediate Testable Model (ITM). We use ITM to generate test scenarios. With our approach it is possible to generate more scenarios than the existing work. Further, the proposed approach can be directly carried out using design models without any addition of testability information unlike the existing approaches.

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

[2]  Marc J. Balcer,et al.  The category-partition method for specifying and generating fuctional tests , 1988, CACM.

[3]  Ravi Sethi,et al.  Testing for the Church-Rosser Property , 1974, JACM.

[4]  A. Jefferson Offutt,et al.  Investigations of the software testing coupling effect , 1992, TSEM.

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

[6]  Gregg Rothermel,et al.  Performing data flow testing on classes , 1994, SIGSOFT '94.

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

[8]  Matthias Jarke,et al.  Scenario usage in system development: a report on current practice , 1998, Proceedings of IEEE International Symposium on Requirements Engineering: RE '98.

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

[10]  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..

[11]  Youngchul Kim,et al.  Scenario based integration testing for object-oriented software development , 1999, Proceedings Eighth Asian Test Symposium (ATS'99).

[12]  Chiou Peng Lam,et al.  Dealing with Concurrent Regions during Scenario Generation from Activity Diagrams , 2007 .

[13]  Frances E. Allen,et al.  Control-flow analysis , 2022 .

[14]  Jia-Guang Sun,et al.  Automated Test Data Generation Algorithm Based on Reversed Binary Tree , 2007 .

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

[16]  Peter Fröhlich,et al.  Automated Test Case Generation from Dynamic Models , 2000, ECOOP.

[17]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

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

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

[20]  John A. Clark,et al.  The Rigorous Generation of Java Mutation Operators Using HAZOP , 1999 .

[21]  Jeffrey D. Ullman,et al.  Flow Graph Reducibility , 1972, SIAM J. Comput..

[22]  Matthias Jarke,et al.  Scenarios in System Development: Current Practice , 1998, IEEE Softw..

[23]  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).

[24]  A. Jefferson Offutt,et al.  Using UML Collaboration Diagrams for Static Checking and Test Generation , 2000, UML.

[25]  M. Pezzè,et al.  Mutant Operators for Testing Concurrent Java Programs , 2001, Anais do XV Simpósio Brasileiro de Engenharia de Software (SBES 2001).

[26]  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).

[27]  Erik H. D'Hollander,et al.  Using hammock graphs to structure programs , 2004, IEEE Transactions on Software Engineering.

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

[29]  Jeffrey D. Ullman,et al.  Characterizations of Reducible Flow Graphs , 1974, JACM.

[30]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .