se logo TestStudio
An Automatic Contract-Based Testing Environment

TestStudio Screenshot
(Click on screenshot to see video)

What is TestStudio

Practice shows that, in spite of on-going research in the field of software testing, methodologies and tools have not yet managed to provide software developers with adequate support for testing activities.

In this project, we suggest a different approach to testing: the testing process is fully automatic. Our methodology is based on Design by Contract (TM). Contracts are a valuable source of information regarding the intended semantics of the software. The information that contracts (preconditions, postconditions, class invariants, loop variants and invariants, and check instructions) provide can be used to check whether the software fulfills its intended purpose. By checking that the software respects its contracts, we can ascertain its validity. Therefore, contracts provide the basis for automation of the testing process.

The goal of this project is to develop an environment for automatic generation of tests, which we call TestStudio. It allows the user to generate, compile and run tests on the push of a button. It also allows fine tuning of the testing process and offers all the benefits of a friendly user interface.

TestStudio is proof of concept for push-button testing. It shows that, in the presence of contracts, a fully automatic testing process is possible. In fact, it is not only possible, but also effective and efficient. By using TestStudio, we discovered several bugs in production-quality libraries.

TestStudio Team



Release Notes



Please send feedback to Andreas Leitner.

Last updated: 15 April 2005