TestIt: A Unit Testing Framework

Domain Model

Software testing can b e divided into structural and behavioral testing. In structural testing the internal structure of the code is inspected. In behavioral testing only the input-output behavior of the code is examined.

The TestIt framework supports behavioral testing by associating a test case with every method in a system. The test case is also equipped with an oracle. An oracle is a table that pairs method inputs with their expected outputs. Running a test case feeds every oracle input to the method, then compares the actual output with the expected output.

A test suite is associated with every class. The test suite contains the test cases for the class's methods. Test suites are also associated with subsystems and the system:

Requirements Model

Testit doesn't have a user interface (yet). Instead, programmers must create and run tests by writing code. Here are a few use cases:

Design Model

The Testit design combines the Composite Design Pattern and the Pluggable Adapter Pattern.

A C++ Implementation

Project

Create a Java implementation using Java reflaction.

 

Create a C++ Implementation using Functors.