IJIRST International Journal for Innovative Research in Science & Technology| Volume 2 | Issue 03 | August 2015 ISSN (online): 2349-6010 All rights reserved by www.ijirst.org 71 Testing UML Designs using Class, Sequence and Activity Diagrams Bhavnesh Kumar Kulvinder Singh M. Tech Student Faculty Department of Computer Science & Engineering Department of Computer Science & Engineering U.I.E.T, Kurukshetra University Kurukshetra, Haryana, India U.I.E.T, Kurukshetra University Kurukshetra, Haryana, India Abstract Testing is performed by different types of strategies. Generally testing is performed on code, but if the software can be tested in the earlier phases then most of the errors can be eliminated and can be stopped from propagating to next phase. The proposed work presents a novel design based testing approach that can fix errors in initial phase. To perform design based testing, we need a language that can deal with the design ably i.e. Unified Modeling Language (UML). UML, which supports object-oriented technology, is widely used to describe the analysis and design specifications of software development. UML models are an important source of information for test case design. UML activity diagrams describe the realization of the operation in design phase and also support description of parallel activities and synchronization aspects involved in different activities perfectly. However UML Sequence diagram describes the way in which different objects interacts with each other, sequence of message passing between different objects. And Class diagram identifies the different classes, its attributes and operations respectively. We propose a method to generate test cases using UML activity diagram. Next, we propose a novel approach to generate test cases from test scenarios using UML activity, sequence and class diagram. First we generate xml from UML diagram. UML consists of different designs that are used to specify the static and dynamic behavior of the software. Proposed system focuses on three diagrams viz. class, sequence and activity diagrams. The class diagrams help us to generate static test cases and the sequence and activity diagrams give dynamic test cases and integrity test cases. Keywords: UML, Class Diagrams, Activity Diagrams, Sequence Diagrams _______________________________________________________________________________________________________ I. INTRODUCTION On behalf of the waterfall software development life cycle (SDLC) model; a software life cycle is consist of five phases which are (I) requirements (II) design (III) implementation (IV) software testing (V) maintenance. Execution of a program is done in software testing phase and the system works with an intention of finding the errors. With the increase in the complexity and size of the software system; there will be a requirement of more and more time and manpower for testing. Testing process is done in three parts: test case generation, test execution and test evaluation. Test case generation is the most difficult in all the three parts. Now we will discuss about UML testing. Unified Modeling Language A. UML is a standard visual modeling language which is designed for specifying, visualizing, constructing and documenting of the artifacts of software systems. A number of diagrams for describing particular aspects of software artifacts are provided by UML. These diagrams are classified on the behalf whether they are used for describing structural or behavior aspects of the systems. The diagrams under consideration for this particular task are: Class Diagram B. The class diagram represents the static view of an object oriented application. It describes the attributes and operations of a class and also the constraints imposed on these members. It is not only used for visualizing, describing and documenting different aspects of a system but it also can be convert to executable code of the software application. The class diagrams are most important component used in the modelling of object oriented systems because they are the only UML diagrams which can be directly associated with object oriented languages and hence help in automatic code generation.