Introduction |
Previous | Next | Contents |
This chapter provides an overview of the principles that apply generally to all Technology Compatibility Kits (TCKs) and describes the Debugging Support for Other Languages TCK 1.0 (JSR 045). It also includes a high level listing of what is needed to get up and running with the Debugging Support for Other Languages TCK.
This chapter includes the following topics:
Compatibility testing differs from traditional product testing in a number of ways. The focus of compatibility testing is to test those features and areas of an implementation that are likely to differ across other implementations, such as those features that:
Rely on hardware or operating system-specific behavior
Are difficult to port
Mask or abstract hardware or operating system behavior
Compatibility test development for a given feature relies on a complete specification and reference implementation for that feature. Compatibility testing is not primarily concerned with robustness, performance, or ease of use.
Java platform compatibility is important to different groups involved with Java technologies for different reasons:
Compatibility testing ensures that the Java platform does not become fragmented as it is ported to different operating systems and hardware environments.
Compatibility testing benefits developers working in the Java programming language, allowing them to write applications once and then to deploy them across heterogeneous computing environments without porting.
Compatibility testing allows application users to obtain applications from disparate sources and deploy them with confidence.
Conformance testing benefits Java platform implementors by ensuring a level playing field for all Java platform ports.
Compatibility criteria for all technology implementations are embodied in the TCK Compatibility Rules that apply to a specified technology. Each TCK tests for adherence to these Rules as described in Chapter 2, "Procedure for Certification."
A TCK is a set of tools and tests used to verify that a licensee’s implementation of a Java EE technology conforms to the applicable specification. All tests in the TCK are based on the written specifications for the Java platform. A TCK tests compatibility of a licensee’s implementation of the technology to the applicable specification of the technology. Compatibility testing is a means of ensuring correctness, completeness, and consistency across all implementations developed by technology licensees.
The set of tests included with each TCK is called the test suite. Most tests in a TCK’s test suite are self-checking, but some tests may require tester interaction. Most tests return either a Pass or Fail status. For a given platform to be certified, all of the required tests must pass. The definition of required tests may change from platform to platform.
The definition of required tests will change over time. Before your final certification test pass, be sure to download the latest Exclude List for the TCK you are using.
The Java Community Process (JCP) program is the formalization of the open process that has been used since 1995 to develop and revise Java technology specifications in cooperation with the international Java community. The JCP program specifies that the following three major components must be included as deliverables in a final Java technology release under the direction of the responsible Expert Group:
Technology Specification
Reference Implementation
Technology Compatibility Kit (TCK)
For further information about the JCP program, go to Java Community Process (http://jcp.org/en/home/index).
The Debugging Support for Other Languages TCK 1.0 is designed as a portable, configurable, automated test suite for verifying the compatibility of a licensee’s implementation of the Debugging Support for Other Languages 1.0 Specification.
The Debugging Support for Other Languages does not define APIs, but instead defines a data format and process. As a result, the TCK is different than most, it verifies the data format, and thus indirectly the process. The input to the process is source code in an arbitrary language, and thus the process cannot be directly tested by the TCK.
This section lists the applicable requirements and specifications.
Specification Requirements: Software requirements for a Debugging Support for Other Languages implementation are described in detail in the Debugging Support for Other Languages 1.0 Specification. Links to the Debugging Support for Other Languages specification and other product information can be found at http://jcp.org/en/jsr/detail?id=045.
Debugging Support for Other Languages Version: The Debugging Support for Other Languages TCK 1.0 is based on the Debugging Support for Other Languages Specification, Version 1.0.
Reference Implementation: See the RI documentation page at http://javaee.github.io/glassfish for more information.
Previous | Next | Contents |