Mutation based test case generation from UML models

This set of tools together generates test cases from UML models.

Several UML features are supported. Commercialy available UML test case generators often support only more limited UML subsets:

  • Behaviour defined in State Machine Diagrams
    • Multiple classes, multiple instances
    • Orthognal regions, nested states
    • Time, signal, call and change triggers
    • OCL guards
    • Transition effects, entry and exit actions
  • System structure defined in Class Diagrams
    • Classes, methods, datatypes
  • Additional markup
    • for test interface definition
    • for datatype and input range definitions

Mutation based coverage is in general more fine grained than classic coverage criteria - like state or transition coverage in case of state machines. The test case generation method used produces test cases that effectively expose certain implementation problems. While it is to hope that manual developped test cases do the same, test cases generated to achieve certain levels of classic structural coverage do not necessarily do so.

The tools as of the end of the project do work for a project size of one up to several concurrently active objects. While there is ongoing work to support larger applications, the currently supported size is already useful in industrial contexts.

Graz University of Technology and Austrian Institute of Technology developed this set of tools together.

We are currently looking for further real-world examples to test and improve the tools. If you have a testing problem, we are interested in it. Please contact us!