Java Device Test Suite
Java Device Test Suite is the de facto industry-standard tool for assessing the quality of Java Platform, Micro Edition 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 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 | JSRs , |
Personal Digital Assistant optional packages | JSR |
Java APIs for Object Exchange and Bluetooth | JSR |
Mobile Information Device Profile | JSRs , |
Mobile Media API | JSR |
Web Services API, includes JAXP and JAX-RPC | JSR |
Security and Trust Services API | JSR |
Location API | JSR , |
Session Initiation Protocol | JSR |
Mobile 3D Graphics API | JSR |
Java Technology for the Wireless Industry | JSR |
Wireless Messaging API | JSRs , |
Content Handler API | JSR |
Scalable Vector Graphics extension to 2D | JSR |
Payment API | JSR |
Advanced Multimedia Supplement | JSR |
Internationalization | JSR |
Open GL ES | JSR |
Mobile Service Architecture | JSR |
Mobile Sensor API | JSR |
Contactless Communication API 1.1 | JSR |
Mobile Broadcast Service API for Handheld Terminals | JSR |
XML API | JSR |
IMS Services API 1.1 | JSR |
Java Language and XML User Interface Markup Integration | JSR |
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 that a device supports.
- General tests
- Over-the-air 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.
- GUI tests verify implementation graphical system for different objects
- Virtual machine tests verify implementation of the VM core.
- Local application servers. Testers can install dedicated local application servers 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. 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.
- Relevance filtering. Tests that are not applicable for execution according to current device configuration 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.