About JCP
Get Involved
Community Resources
Community News
FAQ
Contact Us

|
 |
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/.
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.
|
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.
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.
|
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.
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.
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:
|