... | @@ -2,9 +2,7 @@ |
... | @@ -2,9 +2,7 @@ |
|
|
|
|
|
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.
|
|
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. It is still kept [here](https://git.science.uu.nl/prase101/t2).
|
|
**Main features:**
|
|
|
|
|
|
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.
|
|
* 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.
|
|
* Fast, able to generate thousands of test sequences in few seconds.
|
... | @@ -12,7 +10,7 @@ T3's main features: |
... | @@ -12,7 +10,7 @@ T3's main features: |
|
* A combinator-based approach to compose custom value/object generators, ala QuickCheck?.
|
|
* 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.
|
|
* 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](https://git.science.uu.nl/prase101/t3i), that facilitates more powerful use of T3. [T3i](https://git.science.uu.nl/prase101/t3i) offers these additional features:
|
|
There is also a Groovy 'front-end' called [T3i](https://git.science.uu.nl/prase101/t3i), that facilitates more powerful use of T3. [T3i](https://git.science.uu.nl/prase101/t3i) offers these additional features:
|
|
|
|
|
|
* We can do interactive testing through Groovy interactive shell.
|
|
* We can do interactive testing through Groovy interactive shell.
|
|
* Provide a convenient way to configure T3, including specifying custom value/object generators.
|
|
* Provide a convenient way to configure T3, including specifying custom value/object generators.
|
... | @@ -23,13 +21,13 @@ T3 needs Java 8, and T3i also needs Groovy at least 2.3. |
... | @@ -23,13 +21,13 @@ T3 needs Java 8, and T3i also needs Groovy at least 2.3. |
|
|
|
|
|
**License:** GPL version 3.
|
|
**License:** GPL version 3.
|
|
|
|
|
|
**Binary download:** to do.
|
|
**Binary download:** [here](https://bitbucket.org/uprime815/t3/downloads)
|
|
|
|
|
|
**Manuals:**
|
|
**Manuals:**
|
|
|
|
|
|
* [T3-manual](doc/docs/manual.html)
|
|
* [T3-manual](http://uprime815.bitbucket.org/t3/docs/manual.html)
|
|
* [T3i-readme](/docs/manual.html)
|
|
* [T3i-readme](http://uprime815.bitbucket.org/t3i)
|
|
* [T3i-manual](https://git.science.uu.nl/prase101/t3i/docs/manual.html)
|
|
* [T3i-manual](http://uprime815.bitbucket.org/t3i/docs/manual.html)
|
|
|
|
|
|
**Contact:** [Wishnu Prasetya](www.cs.uu.ml/~wishnu), owner and developer.
|
|
**Contact:** [Wishnu Prasetya](www.cs.uu.ml/~wishnu), owner and developer.
|
|
|
|
|
... | @@ -37,6 +35,10 @@ T3 needs Java 8, and T3i also needs Groovy at least 2.3. |
... | @@ -37,6 +35,10 @@ T3 needs Java 8, and T3i also needs Groovy at least 2.3. |
|
|
|
|
|
> _T3i: A Tool for Generating and Querying Test Suites for Java_, I.S.W.B. Prasetya, 10th Joint Meeting of the European Software Engineering Conference (ESEC) and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE), ACM, 2015.
|
|
> _T3i: A Tool for Generating and Querying Test Suites for Java_, I.S.W.B. Prasetya, 10th Joint Meeting of the European Software Engineering Conference (ESEC) and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE), ACM, 2015.
|
|
|
|
|
|
|
|
**Note:**
|
|
|
|
* The predecessor of T3, called T2 is phased out. It is still kept [here](https://git.science.uu.nl/prase101/t2).
|
|
|
|
* T3 and T3i are now hosted in this git.science.uu.nl. The bitbucket repositories will still be maintained for a time; eventually they will be closed down.
|
|
|
|
|
|
**Other papers:**
|
|
**Other papers:**
|
|
|
|
|
|
* _Exploiting Annotations to Test Break-off Branches_, I.S.W.B. Prasetya, J. Hage, A. Elyasov, 22th Asia-Pacific Software Engineering Conference (APSEC), IEEE, 2015.
|
|
* _Exploiting Annotations to Test Break-off Branches_, I.S.W.B. Prasetya, J. Hage, A. Elyasov, 22th Asia-Pacific Software Engineering Conference (APSEC), IEEE, 2015.
|
... | | ... | |