Test Package Alternatives

Description

This note describes packages for different types of tests. The list was compiled for the Proteios 2 project, but this does not imply that the packages, nor the different types of tests, necessarily will be used in the project.

This Wiki page is under development. If not specified otherwise, the data on the page correspond to information available at the time the page was initiated, 2006-03-08.

Terms used

Software package
Name of the software package
Package description
Short description of the category in which the package is intended to be used, e,g, "Tool for unit tests".
Home page
Home page on internet for the software package.
If there is uncertainty regarding the home page of the package,
e.g. if it forms part of a larger package, the web page given is followed by "(?)".
Release info page
Web page with release information for the software package.
If there is uncertainty regarding the release page of the package,
e.g. if it forms part of a larger package, the web page given is followed by "(?)".
Latest stable version
Latest stable version according to the package's web site.
If known, the release date of the version is given inside parenthesis.
Version differences
Differences between the latest and previous versions that may be important regarding which version to use.
License description
Explicit description of the license on the web site of the package, e.g. "BSD License", if existing.
If no explicit description is given on the web site, but there exist indications for the type of license,
the latter has been shown followed by "(?)".
License url
Link to the license as given on the web site of the package, if existing.
If no direct link is given on the web site, but there exist indications for what license is applicable,
a link to the latter has been shown followed by "(?)".
License comments
Local comments regarding the license.
Comments
Local comments regarding the package.
Local library file
Path to local copy of library file, if existing, given relative to the Proteios-2.x root directory.

Unit Tests

JUnit

Software package: JUnit
Package description:Tool for Java unit tests
Home page:  http://www.junit.org/
Release info page:

(File junit4.0/README.html in unzipped archive junit4.0.zip downloaded from
 http://prdownloads.sourceforge.net/junit/junit4.0.zip?download )
Latest stable version:4.0 (2006-02-16)
Version differences:





Starting with JUnit version 4.0, instead of tagging test classes by subclassing
junit.framework.TestCase and tagging test methods by starting their name with
"test", you tag test methods with the @Test annotation. There are indications on
the web that Junit 4 may support testing of code where the unit tests are written
according to the earlier specifications, but this is not certain
(see e.g.  http://www-128.ibm.com/developerworks/java/library/j-junit4.html).
License description:Common Public License Version 1.0
License url:  http://www.opensource.org/licenses/cpl.php
License comments:
Comments: Package used by jWebUnit.
Local library file: lib/test/junit.jar

TestNG

Software package: TestNG
Package description:A test framework for unit testing inspired by JUnit (Testing, the Next Generation)
Home page:  http://testng.org/doc/
Release info page:

Web page  http://testng.org/doc/download.html contains a list of and download
links for avaliable versions, but no information on the differences between them.
Latest stable version:4.6.1 (2006-02-27)
Version differences:
License description:Apache License, Version 2.0, January 2004
License url:

 http://www.apache.org/LICENSE.txt (re-directed to  http://www.apache.org/licenses/)
The first license link is found on TestNG development page  https://testng.dev.java.net/.
License comments:
Comments:

Runs on JDK 1.4 and 5. When run on JDK 5, annotations like @Test are normally
used to select test methods etc.
Local library file: (Not yet added)

Performance Unit Tests

JUnitPerf

Software package: JUnitPerf
Package description:JUnit test decorators for performance tests
Home page:  http://www.clarkware.com/software/JUnitPerf.html
Release info page:



 http://www.clarkware.com/software/JUnitPerf.html#download
(Specifies latest major release and link to download package.)
File junitperf-1.9.1/CHANGES in unzipped archive junitperf-1.9.1.zip
contains a changelog for different JUnitPerf versions.
Latest stable version:1.9.1 (2004-12-30)
Version differences:
License description:BSD License
License url:  http://www.clarkware.com/software/license.txt
License comments:
Comments: JUnitPerf 1.9 requires Java 2 and JUnit 3.5.
Local library file: lib/test/junitperf-1.9.1.jar

Unit Tests of Web Applications

HtmlUnit

Software package: HtmlUnit?
Package description:Java framework for unit testing of web applications
Home page:  http://htmlunit.sourceforge.net/
Release info page:  http://htmlunit.sourceforge.net/changes-report.html
Latest stable version:1.8 (2006-02-17)
Version differences:
License description:Apache style license
License url:  http://htmlunit.sourceforge.net/license.html
License comments:
Comments:



Similar in concept to HttpUnit, but models the returned document from an http request,
while HttpUnit models the http protocol. Can simulate a web browser for testing purposes.
Uses several jar libraries, see  http://htmlunit.sourceforge.net/dependencies.html.
Supports JavaScript through Rhino (js.jar).
Local library file: (Not yet added)

HttpUnit

Software package: HttpUnit?
Package description:Java library for the automatic stimulation and testing of web applications
Home page:  http://www.httpunit.org/
Release info page:

 http://www.httpunit.org/ (official page, latest version specified as HttpUnit 1.6)
 http://sourceforge.net/project/showfiles.php?group_id=6550 (download link to HttpUnit 1.6.1)
Latest stable version:

1.6 (2004-10-03) ( http://www.httpunit.org/ )
1.6.1 (2005-03-06) ( http://sourceforge.net/project/showfiles.php?group_id=6550)
Version differences:


According to file httpunit-1.6.1/doc/release_notes.txt, version 1.6 contains many bug fixes
relative to 1.5.4, but also deprecated methods, so upgrade problems cannot be ruled out,
if used together with jWebUnit.
License description:
License url:  http://www.httpunit.org/doc/license.html
License comments:

Most uses are granted by the license as long as the copyright notice and license itself
are included.
Comments:


Similar in concept to HtmlUnit, but models the http protocol, while HtmlUnit models the
returned document from an http request.
Package used by jWebUnit.
Local library file: lib/test/httpunit.jar

Acceptance Tests of Web Applications

jWebUnit

Software package: jWebUnit
Package description:Java framework that facilitates creation of acceptance tests for web applications
Home page:  http://jwebunit.sourceforge.net/
Release info page:  http://jwebunit.sourceforge.net/changes-report.html
Latest stable version: 1.2 (2004-06-13)
Version differences:
License description:
License url:  http://jwebunit.sourceforge.net/license.html
License comments: Basically the BSD License
Comments:

Uses several jar libraries, see  http://jwebunit.sourceforge.net/dependencies.html
and wiki page jWebUnit Package Dependencies for Latest Releases.
Local library file: lib/test/jwebunit-1.2.jar

Unit Tests of Server-side Code

Cactus

Software package: Cactus
Package description:A test framework for unit testing server-side Java code
Home page:  http://jakarta.apache.org/cactus/index.html
Release info page:  http://jakarta.apache.org/cactus/changes.html
Latest stable version:1.7.1 (2005-08-17) Available for J2EE 1.2 and 1.3
Version differences:
License description:Apache License, Version 2.0, January 2004
License url:  http://jakarta.apache.org/cactus/license.html
License comments:
Comments:
Local library file: (Not yet added)