Java Device Test Suite

Sun's Java Device Test Suite (JDTS) is the de facto industry-standard tool for assessing the quality of Java Platform, Micro Edition (Java ME platform) implementations. This tool performs quality testing for devices using the Java ME platform. A feature that distinguishes the Java Device Test Suite from Technology Compatibility Kit (TCKs) is its focus on an implementation's quality instead of an implementation's specification compliance.

The Java Device Test Suite is an extensible set of test packs, a shared management facility, and a distributed test execution harness that can be used to assess the quality of any device that implements a compatible combination of the Java ME technologies, including the following:

Technology  | Specification

|

Connected Limited Device Configuration (CLDC 1.0 & 1.1.1)  | JSRs 30,139
Personal Digital Assistant (PDA) optional packages  | JSR 75
Java APIs for Object Exchange (OBEX) and Bluetooth (1.0 & 1.1.1)  | JSR 82
Mobile Information Device Profile (MIDP 1.0 & 2.0 and 2.1)  | JSRs 37,118
Mobile Media API (MMAPI 1.0 and 1.1)  | JSR 135
Web Services API (WSA), includes JAXP and JAX-RPC  | JSR 172
Security and Trust Services API (SATSA 1.0.1)  | JSR 177
Location API (LAPI 1.0.1 & 2.0)  | JSR 179,293
Session Initiation Protocol (SIP 1.0 & 1.1 & 1.2)  | JSR 180
Mobile 3D Graphics API (M3G 1.0 & 1.1)  | JSR 184
Java Technology for the Wireless Industry (JTWI)  | JSR 185
Wireless Messaging API (WMA 1.0 & 1.1 & 2.0)  | JSRs 120,205
Content Handler API (CHAPI 1.0.1)  | JSR 211
Scalable Vector Graphics (SVG 1.0 & 1.1) extension to 2D  | JSR 226
Payment API (PAPI 1.1)  | JSR 229
Advanced Multimedia Supplement (AMMS 1.1)  | JSR 234
Internationalization (Mobile I18N)  | JSR 238
Open GL ES (1.0.1)  | JSR 239
Mobile Service Architecture (MSA 1.1)  | JSR 248
Mobile Sensor API (MSAPI 1.2)  | JSR 256
Contactless Communication API 1.1  | JSR 257
Mobile Broadcast Service API for Handheld Terminals  | JSR 272
XML API  | JSR 280
IMS Services API 1.1  | JSR 281
Java Language and XML User Interface Markup Integration  | JSR 290

(please look description of technologies on jcp.org)

## Categories

[edit]

The Java Device Test Suite's tests can be divided into three main categories:

* Benchmark tests compare the performance of a device with a reference standard.
* Readiness tests assess a device's ability to run tests and discover the application programming interfaces (APIs) that a device supports.
* General tests (divided by test packs)

Tests in test packs can be divided in several group by tested subsystems:

* Over-the-air (OTA) tests verify that a device can implement application life cycle operations and can communicate with a provisioning server.
* Security tests verify the correct implementation model of certificates, permissions, and policies.
* Network tests verify implementation of different protocols: HTTP, HTTPS, Socket, UDP, SMS, Bluetooth and so on. Several test sets verify channel between two implementations (tests with partner).
* GUI tests verify implementation graphical system for different objects
* Virtual machine tests (includes JASM tests) verify implementation of the VM core.

The Java Device Test Suite has approximately 11,000 tests that can be extended with new tests written by Sun engineers or by others, including users of the test suite. Users can choose to run any combination of tests, according to the features supported by a device and available resources, and make use of framework features:

* Local application servers. Testers can install dedicated local application servers (relays) on the computers that host their harnesses. This configuration can be used to test devices that connect to the Relay host by a serial cable (local link). A tester can switch a harness between a local relay and the standard shared relay.
* Feature-based test selection and reporting – Tests are alternatively grouped by their correspondence to important device features, such as multimedia MP3 playback, for example. A user can easily select all tests that exercise this feature, and, after a test run, a user can easily see how many tests related to MP3 playback failed.[citation needed]
* Relevance (configuration based) filtering. Tests that are not applicable for execution according to current device configuration (device template)are automatically filtered out of the test run.
* Test selection and reporting by failure severity. When testing time is limited, subsets of tests can be selected based on their importance. Test failures can be similarly analyzed by test importance.
* Multiple configurable emulators. Users can add device emulators and switch them between normal and debug modes.
* Results Database Services – Storage for test results with history data, and web-based UI for querying and reporting results
* Device-specific Template Generation. Readiness tests automatically discover device capabilities and user can generate configuration templates based on readiness results
* Bluetooth Data Transfer Channel. Device can send test logs and results by Bluetooth
* Test Run Automator – A test automation tool to allow for running interactive tests without user intervention, a stand alone tool stores user actions and device responses, then repeats them automatically and compares results.
* Custom Test Libraries – Allows developers to inject a private Java library into the test bundle.
* Template Manager – A tool that helps to organize templates in hierarchies and perform synchronization of updated values from parent to children. Portable Templates can be easily exchanged between different JDTS systems.

## See also

[edit]

* Java Community Process
* Java Platform, Micro Edition

## External links

[edit]

* Java Device Test Suite
* What Is Sailpoint Java API
* The Java Compatibility Test Tools
* Java Device Test Framework (JDTF) Project
* JCP Community Resources - TCK Tools