RISE-TESTCOMP subproject

Evolving Tests with Integrational Development

Test Driven Development is an illustrative example of a process where testing is highly integrated in programming development. Test cases are designed and implemented in parallel to production code.

To support regression testing, frameworks such as JUnit are used to automate test execution. Doing this, testing can be performed often, and thus decrease complexity in the development process.

However, automatic test execution only makes tests easier to run. To improve the quality of tests the aim should be on how tests are generated. In this subproject we investigate how techniques in automatic test data generation can be applied to integrational software engineering.

Subproject members

Mariam Kamkar, subproject leader
Jon Edvardsson, PhD student
Carl Cederberg, PhD student

Subproject description

The main idea is to write a formal specification (instead of test code) and from this automatically generate functional tests. Structural tests can be generated in a similar fashion from production code and verified against the formal specification.

In this way the software development tool can automatically determine any inconsistencies, thus test code (i.e. a specification) and production code will always be synchronized. This is important since test code is often as large as (or larger than) production code.

Subproject plan

Publications

Acknowledgment

This subproject is part of the RISE project at PELAB, IDA, Linköpings universitet, and supported by SSF.


Mariam Kamkar (marka@ida.liu.se)