Test Case Generation and Optimization using UML Models and Genetic Algorithm - Khurana, Namita; Chillar, R.S. (Procedia computer science, 2015)
Software testing plays an important role in software development because it can minimize the development cost. Software testing approaches are divided into three parts i.e. code based testing, specification based testing and model based testing. In model based testing, the testing begins at design phase. So, early detection of faults can be achieved by using this approach further reducing time, cost and efforts of the developer to a large extent. In this paper we propose a technique for generating test cases using both UML sequence diagram and state chart diagram. Our approach is to convert Sequence Diagram into Sequence Graph and then to convert State Chart Diagram into State chart Graph. Finally System Testing Graph (SYTG) is formed by combining the two Graphs. From the graphs different control flow sequences also called test cases are identified and then optimized using evolutionary Algorithm, called Genetic Algorithm. Although State chart did better at revealing unit level faults and sequence diagram is better at removing integration level faults, but after integrating the two graphs, generated test cases are appropriate for system testing and to identify Error handling, correctness, pre-post condition faults, interaction, message sequence faults and scenario faults.