Generating Test Plans for Acceptance Tests from UML Activity Diagrams Andreas Heinecke, Tobias Br¨ uckmann, Tobias Griebe, Volker Gruhn Applied Telematics and e-Business Group University of Leipzig, Department of Computer Science Klostergasse 3, 04109 Leipzig, Germany heinecke@ebus.informatik.uni-leipzig.de Abstract The Unified Modeling Language (UML) is the standard to specify the structure and behaviour of software systems. The created models are a constitutive part of the software specification that serves as guideline for the implementa- tion and the test of software systems. In order to verify the functionality which is defined within the specification doc- uments, the domain experts need to perform an acceptance test. Hence, they have to generate test cases for the accep- tance test. Since domain experts usually have a low level of software engineering knowledge, the test case generation process is challenging and error-prone. In this paper we propose an approach to generate high-level acceptance test plans automatically from business processes. These pro- cesses are modeled as UML Activity Diagrams (ACD). Our method enables the application of an all-path coverage cri- terion to business processes for testing software systems. 1 Introduction Testing is a crucial action throughout the complete life- cycle of software systems. The different phases of a soft- ware life-cycle involve different groups of stakeholders whose knowledge and understanding of software engineer- ing differs heavily. This is especially true if software ar- chitects and domain experts talk about the software system. The software architect constructs the system design specifi- cation documents depending on the requirements stated by representatives of the customer’s group, namely, domain ex- perts. The software architect has extensive knowledge about the software engineering process, while the domain expert has extensive knowledge about the functional domain but low level of knowledge or none knowledge about software engineering. As a suitable level of abstraction used to talk about a soft- ware system, software architects employ the Unified Mod- eling Language (UML) which de facto is the standard of the software industry. The models created with UML usu- ally constitute a big part of the software system’s specifi- cation documents. The specification documents are created during the initial phases of the software process to record early design decisions and stated requirements. They exist alongside the software product, serve as guidelines during the phase of implementation and are part of the documen- tation as well as a deliverable on completion of the prod- uct. Even though the specification documents are used to communicate the design progress of the system, the domain experts struggle to understand the contained models of the software system. At the latest, on the time of delivery of the whole soft- ware system or at the time of delivery of fixed milestones, the domain expert needs to perform an acceptance test to verify the completeness and correctness of agreed func- tions. Hence, the domain expert needs to test the system, and, therefore, he needs to create the respective test cases. It is obvious that the better the test cases reflect the real usage scenario of the system, the better the quality of the result. Therefore, the test cases should be closely related to the software specification. This can be achieved if the test cases are generated from the software specification. Since a domain expert usually has a low level of software engineer- ing knowledge, in particular, software testing knowledge, he is likely to have difficulties with the task to derive test cases from the specification documents which are predom- inantly UML diagrams. This can lead to an unstructured test case generation process and cause several effects. The test cases do not cover the functionality that is to be tested, and, therefore, the results are insufficient. Furthermore, the test case generation process may be not repeatable. All in all the acceptance test can become inefficient and therefore expensive. In this paper we propose an approach which enables the domain expert to generate high-level acceptance test plans automatically from the software specification documents. The approach regards the testers viewpoint as relevant one and focusses on the workflows of modeled business pro-