Find JSRs
Submit this Search


Ad Banner
 
 
 
 

Community Resources
JavaTM Compatibility Test Tools (Java CTT) Info
Contents
 
Overview
One of the three required pieces for each JSR is the Technology Compatibility Kit (TCK). A TCK is a suite of tests, tools and documentation that determines whether or not a product complies with a particular Java™ technology specification. A TCK must be included in a final Java technology release under the direction of its Expert Group.

Java Compatibility Test Tools (Java CTT) includes tools, documentation and example code that simplifies compatibility test development and makes developing and running tests more efficient, especially when multiple companies are contributing tests to a TCK.

UPDATE:
  • Since the Java CTT package was created, three of the tools provided in the Java CTT bundle have moved into open source communities where their development has continued. You are strongly urged to use the open source versions of the JavaTest™ harness (JT harness project), Signature Test and API Cover (SigTest project) in place of the versions included in the Java CTT download bundle. Links to the JT harness and SigTest tool projects are provided in Test Tools below.
  • In addition, Sun has developed a test framework that makes it much easier to create and run TCK test suites on Java Platform, Micro Edition (Java ME) devices. If you are developing a TCK for the Java ME platform, you are strongly urged to consider using the ME Framework. The ME Framework is an open source project and is described in more detail in the ME Framework section below.

For more information about developing TCKs, refer to the TCK Project Planning and Development Guide.

For more information about developing TCK tests, refer to the Java Technology Test Suite Development Guide. For assistance in the development of test suites, or to outsource this activity, The Open Group is one of the organizations that can help you. For more details see http://www.opengroup.org/certification/testdev/.

Test Tools

Sun provides tools that spec leads can use to help develop TCKs. Using some or all of these tools and information resources may help spec leads reduce test suite development time and improve the quality of their TCKS. The tools also help measure test suite coverage and quality and thus help track the progress of TCK development.

Tool Open Source Links Description
JavaTest/JT Harness • JT Harness project
• Download page
• Documentation
JT harness is the open source version of the JavaTest harness. JT harness is a general purpose, fully-featured, flexible, and configurable test harness very well suited for most types of unit testing, especially TCK test suites. The JT harness is an excellent tool for configuring, sequencing, and running test suites that consist of large numbers of discrete, independent tests. It is especially good at testing APIs and compilers. Originally developed as a test harness to run the JCK test suite, it has since evolved into a general purpose test platform well suited for use with all TCK test suites and other types of test suites.

Because the version included in the Java CTT package is out-of-date, you are strongly urged to download the open source version using the links to the left. The open source version of the tool includes a number of upgrades and new functionality. The new features are not discussed in the Java CTT documentation, but are described in the documentation provided with the tool.

SigTest

(Signature Test tool and API Coverage tool)

• SigTest project
• Download page
• Documentation
Signature Test tool verifies that a Java technology implementation undergoing compatibility testing and its reference APIs are mutually compatible as defined in Chapter 13, Binary Compatibility, of The Java Language Specification. The tool automates this verification process with a signature test algorithm that compares the API under test with a reference API.

APICover tool uses the Signature Test tool engine to provide static analysis of test coverage of an API. This is a useful metric for determining the quality of a TCK.

Because the version of the Signature Test and API Cover tools included in the Java CTT package are out-of-date, you are strongly urged to download the open source version using the links to the left. The tools have been combined and upgraded in the open source version. The new features are not discussed in the Java CTT documentation, but are described in the documentation provided with the tool.

Spec Trac Tool
Spec Trac tool helps test developers identify assertions in their Java technology specifications that must be tested. After tests are created, the Spec Trac Tool then helps the developer report on test case coverage of those assertions, including assertions that are tested or untested, and valid or invalid.

Spec Trac tool is only available to JCP members as a part of the Java CTT bundle.

Installing Open Source Tools

If you choose to use the recommended open source tools instead of the older versions included in the Java CTT download bundle, you will have to follow some additional installation steps. These steps are described in a separate document named Installing Open Source Tools.

Documentation

Sun provides documentation that spec leads can use to help develop TCKs. Using some or all of these documents may help spec leads reduce test suite development time and improve the quality of their TCKS.

Document Description
TCK Proj ect Planning and Development Guide (PPG) Provides an overview and starting point for an Expert Group responsible for developing a technology compatibility kit (TCK) under the Java Community Process program. It is a high-level planning guide for project managers.
Java Technology Test Suite Development Guide (TSDG) Describes how to design and write tests for any TCK. It also provides "how-to" instructions that describe how to build your TCK and write the tests that become your TCK's test suite. It includes examples of testable and non-testable assertions and the applicable test code.
JavaTest Architect's Guide Describes how to create test suites that work with the JavaTest harness. This manual includes tutorials that introduce you to the JavaTest GUI and help you build your first test suite. The manual also describes how the JavaTest harness works and contains instructions for creating custom components for your test suite.
TCK Project Plan Template Provides a template (based on IEEE project planning standards) that can be used to describe a TCK release or revision.
Java Technology Compatibility Kit User's Guide Template Provides an outline and template that can be used as the basis for creating a user's guide for a TCK. The template can be edited to provide the basis of the user manual that tells your customers how to use the TCK you are developing. The template is available in Adobe FrameMaker, Adobe Acrobat, and ASCII plain-text formats.
Sample TCK

The Sample TCK includes a test suite that illustrates TCK test development techniques. In addition to the TCK test suite, the Sample TCK includes the API implementation (and a revision of that implementation) tested by the TCK. The Sample TCK demonstrates the tools and processes described in the Java Technology Test Suite Development Guide (TSDG).

Available to JCP members as part of the Java CTT bundle, these tests can be used by test developers as models and examples of how to write their own tests.

ME Framework

Since the original JCTT package was created, Sun has developed a test framework that makes it much easier to create and run TCK test suites on Java ME devices. The ME Framework is an open source project and can be downloaded here.

The ME Framework is a set of JT harness plugins that provides support for the Java ME platform. TCK architects use the JT harness and the ME Framework to construct TCK test suites for Java ME technologies.

The following ME Framework features extend JT harness functionality:

  • Test bundling (for CLDC-based test suites). The framework packages several tests into one downloadable test application bundle. This significantly reduces the number of application downloads as well as the quantity of code that is downloaded.
  • Parallel test execution. The framework enables several test devices to connect to a JT harness host. Automated tests run concurrently on all connected devices as part of a single JT harness session.
  • Test export (for CLDC-based test suites). The framework creates standalone versions of automated tests that can be run without a harness-agent setup.
  • Preinstalled agent (for CLDC-based test suites). The framework makes it possible to preinstall shared agent classes on the device before the test run. This reduces the amount of application code that is downloaded.
  • MIDP 2.0 security. Provides functionality to handle MIDP security features, such as:
    • Permissions
    • Certificates
    • Java Archive (JAR) file signing
  • Base test suite classes and configuration interview questions. Automatically adds appropriate questions to the configuration interview.
Download Java CTT

To download the Java CTT bundle, you must be a JCP member. You can use the Member access info (the user-id/password combination associated with your Membership that you use to access Community Update pages, not the Expert Group page login specific to you as an individual) to download the Java CTT from the following site:

NOTE: If you use the open source versions of the tools, be sure to follow the additional instructions in Installing Open Source Tools.
 
Questions? Comments? Contact us at: pmo@jcp.org.