Transforming workflow models into automated end-to-end acceptance test cases

The User Requirements Notation is a standard published by the International Telecommunication Union that contains two complementary notations for goal and scenario/workflow modeling. Use Case Maps (UCM) - the workflow notation - focuses on the causal relationships of the steps in a workflow without requiring the specification of detailed message exchanges and data. A UCM model captures the interactions between actors and the system and typically integrates several use cases into a combined system view. This results in a high-level description of the system and its end-to-end usage scenarios. At the UCM level, scenario definitions create a regression test suite for the UCM model. This paper investigates the transformation of such workflow models into end-to-end acceptance test cases that can be automated with the JUnit testing framework. For that purpose, the UCM model is enriched with (i) input data types and expected results, (ii) a code-level description of system behavior as needed for the workflow, and (iii) testing logic including assertions. Based on this specification, the proposed approach uses boundary value analysis of the input data and Myer's test selection heuristics to determine a set of test cases for the described workflow. Coverage criteria may be specified at the UCM model level. Results from a case study of a small data management system indicate a reduction of the number of lines of code that need to be specified in the workflow model vs. the test implementation by an order of magnitude.