Generation and Prioritization of MC/DC Test Cases using UML Communication Diagram

Mahanto, Parbati (2018) Generation and Prioritization of MC/DC Test Cases using UML Communication Diagram. MTech thesis.

Restricted to Repository staff only



In safety critical systems, Modified Condition/ Decision Coverage (MC/DC) is a compulsory criterion for testing as per RTCA/DO-178B/C standard. To reduce the burdensome task of software testing, test case generation has been elongated and can be generated not only from the coding documents but also from Software Requirement Specification (SRS) and object-oriented design model (or, UML model). A Unified Modeling Language (UML) contains different diagrams for visual modeling of the object-oriented software. Different types of UML diagrams are used to describe individual perspectives of a software system. In this study, we have used UML Communication Diagram and generated test cases under Modified Condition/ Decision Coverage (MC/DC) criterion. Communication diagram is used to describe a set of objects collaborating to implement a specific task and illustrate the relationship between them through a complex operation. We first propose a model-based technique for automatic generation of MC/DC test cases from UML communication diagram and for that we have proposed a framework named MC/DC Evaluator for UML Communication Diagram (MEUCD) which is a combination of different tools like Modelio, JiBX, jCUTE, and COPECA. We first design a UML communication diagram in Modelio UML Modeler and using the classes and instances of communication diagram, we design the XML Schema Design (XSD) model in Modelio XSD Designer. Then, XSD is given to a Java XML Binding tool JiBX to generate the Java Code. Next, we convert this Java code to a jCUTE executable form and supply it to jCUTE for generating the test cases. Finally, MC/DC coverage is measured using the acceptable Java code and the generated test cases by jCUTE.

In our second proposal, we prioritize these MC/DC test cases by applying Genetic Algorithm with the help of total Fault Exposing Potential (FEP). We mutate the original Java program by applying different primary mutants to it. Next, we apply test cases to the mutated program and calculate FEP estimate of each test case by finding out the total number of mutants killed by that test case. We prepare two coverage matrices for MC/DC predicates and conditions used in Java program to calculate the number of individual conditions affected by each test case(TI) and the total number of conditions covered by the test case(TC). We calculate test case weight of each test by using FEP,TI and TC. Using this test case weight, the fitness function is calculated for the genetic algorithm. After applying genetic algorithm it is found that we get an optimal test suite. The effectiveness of this test suit is measured using a new metric named Average Percentage Modified Condition/ Decision Coverage (APMC) which is proposed by us. It is found that prioritized test suit has better APMC than non-prioritized random test suit

Item Type:Thesis (MTech)
Uncontrolled Keywords:MC/DC; UML communication diagram; Test case prioritization; FEP; Genetic algorithm
Subjects:Engineering and Technology > Computer and Information Science > Networks
Divisions: Engineering and Technology > Department of Computer Science Engineering
ID Code:9636
Deposited By:IR Staff BPCL
Deposited On:15 Mar 2019 21:01
Last Modified:15 Mar 2019 21:01
Supervisor(s):Mohapatra, Durga Prasad

Repository Staff Only: item control page