Introduction

Previous Next Contents

1 Introduction

This chapter provides an overview of the principles that apply generally to all Technology Compatibility Kits (TCKs) and describes the Jakarta Debugging Support for Other Languages TCK (Debugging Support for Other Languages 2.0 TCK). 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:

1.1 Compatibility Testing

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 compatible implementation (CI) for that feature. Compatibility testing is not primarily concerned with robustness, performance, nor ease of use.

1.1.1 Why Compatibility Testing is Important

Jakarta platform compatibility is important to different groups involved with Jakarta technologies for different reasons:

  • Compatibility testing ensures that the Jakarta platform does not become fragmented as it is ported to different operating systems and hardware environments.

  • Compatibility testing benefits developers working in the Jakarta 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 Jakarta platform implementors by ensuring a level playing field for all Jakarta platform ports.

1.1.2 TCK Compatibility Rules

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."

1.1.3 TCK Overview

A TCK is a set of tools and tests used to verify that a vendor’s compatible implementation of a Jakarta EE technology conforms to the applicable specification. All tests in the TCK are based on the written specifications for the Jakarta EE platform. A TCK tests compatibility of a vendor’s compatible 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 version of this TCK.

1.1.4 Jakarta EE Specification Process (JESP) Program and Compatibility Testing

The Jakarta EE Specification Process (JESP) program is the formalization of the open process that has been used since 2019 to develop and revise Jakarta EE technology specifications in cooperation with the international Jakarta EE community. The JESP program specifies that the following three major components must be included as deliverables in a final Jakarta EE technology release under the direction of the responsible Expert Group:

  • Technology Specification

  • Compatible Implementation (CI)

  • Technology Compatibility Kit (TCK)

For further information about the JESP program, go to Jakarta EE Specification Process community page https://jakarta.ee/specifications.

1.2 About the TCK

The Debugging Support for Other Languages TCK 2.0 is designed as a portable, configurable, automated test suite for verifying the compatibility of a vendor’s implementation of the Debugging Support for Other Languages 2.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.

1.2.1 TCK Specifications and Requirements

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 2.0 Specification. Links to the Debugging Support for Other Languages specification and other product information can be found at https://jakarta.ee/specifications/debugging/2.0/.

  • Debugging Support for Other Languages Version: The Debugging Support for Other Languages 2.0 TCK is based on the Debugging Support for Other Languages Specification, Version 2.0.

  • Compatible Implementation: One Debugging Support for Other Languages 2.0 Compatible Implementation, Eclipse Glassfish 6.0 is available from the Eclipse EE4J project (https://projects.eclipse.org/projects/ee4j). See the CI documentation page at http://javaee.github.io/glassfish for more information.

See the Debugging Support for Other Languages TCK Release Notes for more specific information about Java SE version requirements, supported platforms, restrictions, and so on.


Previous Next Contents
Eclipse Foundation Logo  Copyright © 2018, 2020 Oracle and/or its affiliates and others. All rights reserved.