Back to research topics

Axini develops tools for model based testing (MBT) and model based software engineering (MBSE). Model based testing is a software testing approach in which test cases are automatically generated and executed from a model, a formal specification of the system under test. This approach allows for a high degree of test automation and more thorough testing.

Models are commonly written using the same specifications and requirements documents that are traditionally used to develop the system. These are generally written by architects or domain experts and express the desired behavior using natural language. To verify that the system under test meets all requirements, we must ensure that all requirements are modeled AND all requirements are covered by the generated test cases.

The Axini Modeling Platform has a prototype feature to express desired behavior as ‘regular expressions on test cases’ (called scenarios) to automatically check whether the behavior was covered while testing. Future research could investigate how to generate test cases to cover these scenarios as fast as possible or to automatically model check they are included in the models themselves.

Additionally, the regular expression like approach is very limited and cannot express all (natural language) requirements we see in practice. We are interested in whether an alternative approach using (linear time) logic formulas could be used to express requirements.

Possible research questions

There are several puzzles and research questions that students can work on.

Test generation from scenarios
How can test case be generated from requirements expresses as scenarios?
Model checking scenario inclusion
How can the model be checked whether all scenarios are included?
Formalizing requirements
How can requirements be expressed in a way that makes them usable for test case generation and/or coverage checking?
Requirements as logic formulas
How can requirements be expressed as (linear time) logic formulas?