Pin Me

Organization of UML Diagrams and Testing

written by: Bob Legrand • edited by: Jean Scheid • updated: 7/6/2011

UML diagrams are primarily used for creating the architecture of new software products. These diagrams can also be used for testing purposes. Every diagram can be used for testing purposes. In this series of articles we will demonstrate how. First we will talk about organizational aspects.

  • slide 1 of 3

    The Sequence

    The sequence of defining the UML diagrams is important. You should go from process to the details of the program and in the end complete the structure of the program. First you start with the use case diagram to define the processes. After that you use the sequence diagram to explain timing, when which part of the process should take place. To focus more on the organizational aspects of the processes the collaboration diagram could now be created. After that the activity diagram can be defined to show the control structures and decisions as far as they are not defined in the sequence diagram, which is scenario based and not a complete model. To detail the activity diagram further the state chart diagram is used, in which the changes of states in the system are shown. After that the class diagram can be created, in which all components that were already described in earlier diagrams are detailed and put in perspective. All basic parts of the program are defined in detail including their relations. The object diagram could follow the class diagram. Finally the component diagram and deployment diagram could be made to put everything together on a high level. So first you get deeper and deeper and in the end you build it together into a structure.

  • slide 2 of 3

    The Responsibilities

    Development and testing are two different responsibilities. Until now in most companies the definition of test cases starts when the specifications have been made. In the article “should we redefine the role of testing” we promoted that a good test analyst should be involved in the analysis phase, when the models and specifications are defined. In this case we can combine the definition of specifications and test cases. Since both architects and test analysts will look at the processes the change of them being correct increases. You get better specs. In this case both the architects and the test analysts would become responsible for the design. The developers will be responsible for the correct implementation of the design, the realization of the product. The test manager will be responsible for the correct organization of the testing and the execution of the test cases. For the creation of the test cases the test analyst will define them using the UML models that were created earlier. The task of the test manager will become easier than before since he knows, better than ever, what to expect. In the end the project manager is responsible for the whole project for which the test manager will advise on the quality. The project manager has the final word, as ever. Of course in his or her MTP the test manager will define which tests will be defined using which models and how these test cases will be executed, at what time, in which environment, et cetera.

  • slide 3 of 3

    The Process

    There are tools for creating UML. There are even tools that create test scripts from UML diagrams. Leirios for example. However these diagrams still have to be created. Once you have them then creating test cases is a piece of cake, with or without a tool. The main development process is “knowing and defining the processes”. And getting an agreement on them.

    This article is based on Q-Course Quality & Organization, see

Quality Management

In the articles that you will find in this series quality management and testing is described. Since quality management and testing are a vital part of project management they deserve their own group.
  1. Organization of UML Diagrams and Testing
  2. Chain Testing is Risky Business
  3. Should We Redefine the Role of Testing?
  4. Obtaining Business Commitment for Testing