T3 is a powerful automated unit testing tool to test Java classes. Given a target class to test, it randomly generates sequences of calls to the class' methods to test it. It catches unexpected exception; but if you had written assertions in the class, then violations to those will be caught as well.
Note: the predecessor of T3, called T2 is phased out.
T3's main features:
- Sequence-based testing: it does not test a method individually, but instead generate sequences of method calls to trigger interactions between methods of the target class.
- Fast, able to generate thousands of test sequences in few seconds.
- Generated test suite can be saved and replayed.
- A combinator-based approach to compose custom value/object generators, ala QuickCheck?.
- It can be run from the command line, or called as an API from a JUnit test class.
I also provide a Groovy 'front-end' called T3i, that facilitates more powerful use of T3. T3i offers these additional features:
- We can do interactive testing through Groovy interactive shell.
- Provide a convenient way to configure T3, including specifying custom value/object generators.
- We can experiment with different configurations to generate multiple suites; combine them, filter them, and combine them again.
- We can query generated test suites for Hoare triples, LTL formulas, or algebraic formulas.
T3 needs Java 8, and T3i also needs Groovy at least 2.3.
License: GPL version 3.