|JavaTest Harness Architect's Guide,
JavaTest Harness 4.5 for the Java Platform
A type of test agent that initiates a connection to the JavaTest harness. Active test agents allow you to run tests in parallel using many agents at once and to specify the test machines at the time you run the tests. Use the agent monitor to view the list of registered active agents and synchronize active agents with the JavaTest harness before running tests. See also test agent, passive agent, and JavaTest agent.
The JavaTest window that is used to synchronize active agents and to monitor agent activity. The Agent Monitor window displays the agent pool and the agents currently in use.
Application Programming Interface (API)
A statement contained in a structured Java technology API specification to specify some necessary aspect of the API. Assertions are statements of required behavior, either positive or negative, that are made within the Java technology specification.
A set of test development methodologies that are based on the description, behavior, or requirements of the system under test, not the structure of that system. This is commonly known as "black-box" testing.
The prototype for an object in an object-oriented language. A class may also be considered a set of objects which share a common structure and behavior. The structure of a class is determined by the class variables which represent the state of an object of that class and the behavior is given by a set of methods associated with the class. See also classes.
Classes are related in a class hierarchy. One class may be a specialization (a "subclass") of another (one of its "superclasses"), it may be composed of other classes, or it may use other classes in a client-server relationship. See also class.
Compatibility rules define the criteria a Java technology implementation must meet in order to be certified as "compatible" with the technology specification. See also compatibility testing.
The process of testing an implementation to make sure it is compatible with the corresponding Java technology specification. A suite of tests contained in a Technology Compatibility Kit (TCK) is typically used to test that the implementation meets and passes all of the compatibility rules of that specification.
Information about your computing environment required to execute a Technology Compatibility Kit (TCK) test suite. The JavaTest harness version 3.x uses a configuration interview to collect and store configuration information. The JavaTest harness version 2.x uses environment files and parameter files to obtain configuration data.
A series of questions displayed by JavaTest harness version 3.x to gather information from the user about the computing environment in which the TCK is being run. This information is used to produce a test environment that the JavaTest harness uses to execute tests.
Information about your computing environment required to execute a TCK test or tests. The test environment version 3.x uses a configuration interview to collect configuration values. The JavaTest harness version 2.x uses environment files and parameter files to obtain configuration data.
equivalence class partitioning
A test case development technique which entails breaking a large number of test cases into smaller subsets with each subset representing an equivalent category of test cases.
A list of TCK tests that a technology implementation is not required to pass in order to certify compatibility. The test environment uses exclude list files (
*.jtx), to filter out of a test run those tests that do not have to be passed. The exclude list provides a level playing field for all implementors by ensuring that when a test is determined to be invalid, then no implementation is required to pass it. Exclude lists are maintained by the Maintenance Lead (ML) and are made available to all technology licensees. The ML may add tests to the exclude list for the test suite as needed at any time. An updated exclude list replaces any previous exclude lists for that test suite.
HTML test description
A test description that is embodied in an HTML table in a file separate from the test source file.
In object-oriented programming, means to produce a particular object from its class template. This involves allocation of a data structure with the types specified by the template, and initialization of instance variables with either default values or those provided by the class's constructor function.
Java Platform, Standard Edition (Java SE)
The Java SE platform is a set of specifications that defines the desktop runtime environment required for the deployment of Java applications. Java SE technology implementations are available for a variety of platforms, but most notably Solaris and Microsoft Windows.
Java Application Manager (JAM)
Java Platform Libraries
A Java technology is defined as a Java technology specification and its reference implementation (RI). Examples of Java technologies are Java Platform, Standard Edition (Java SE), the Connected Limited Device Configuration (CLDC), and the Mobile Information Device Profile (MIDP).
Java technology specification
A written specification for some aspect of the Java technology.
A test agent supplied with the JavaTest harness to run TCK tests on a Java implementation where it is not possible or desirable to run the main JavaTest harness. See also test agent, active agent, and passive agent.
The JavaTest Harness is a test harness that has been developed to manage test execution and result reporting for a Technology Compatibility Kit (TCK). The harness configures, sequences, and runs test suites. The JavaTest harness is designed to provide flexible and customizable test execution. It includes everything a test architect needs to design and implement tests for Java technology specifications.
Keywords are defined for a test suite by the test suite architect. Keywords are used to direct the JavaTest harness to include or exclude tests from a test run.
Maintenance Lead (ML)
The person responsible for maintaining an existing Java technology specification and related reference implementation (RI) and Technology Compatibility Kit (TCK). The ML manages the TCK appeals process, exclude list, and any revisions needed to the specification, TCK, or RI.
In object-oriented programming, objects are unique instances of a data structure defined according to the template provided by its class. Each object has its own values for the variables belonging to its class and can respond to the messages (methods) defined by its class.
A type of test agent that must wait for a request from the JavaTest harness before they can run tests. The JavaTest harness initiates connections to passive agents as needed. See also test agent, active agent, and JavaTest agent.
reference implementation (RI)
The prototype or proof of concept implementation of a Java technology specification. All new or revised specifications must include an RI. A specification RI must pass all of the TCK tests for that specification.
A text representation of the set of public features provided by an API that is part of a finished TCK. It is used as a signature reference during the TCK signature test for comparison to the technology implementation under test.
A TCK signature test for a Java technology implementation checks that all the necessary API members are present and that there are no extra members which illegally extend the API. It compares the API being tested with a reference API and confirms if the API being tested and the reference API are mutually binary compatible.
A plan or blueprint for structuring and delivering information.
A configuration value used by the JavaTest harness to determine which tests in the test suite to run and how to run them. The user can change standard values using either the Question mode or Quick Set mode in the configuration editor.
tag test description
Technology Compatibility Kit (TCK)
The suite of tests, tools, and documentation that allows an implementor of a Java technology specification to determine if the implementation is compliant with the specification.
Any binary representation of the form and function defined by a Java technology specification.
A test agent is a Java application that receives tests from the test harness, runs them on the implementation being tested, and reports the results back to the test harness. Test agents are normally only used when the TCK and implementation being tested are running on different platforms. See also test agent, passive agent, and JavaTest agent.
The source code and any accompanying information that exercise a particular feature, or part of a feature, of a See also technology implementation to make sure that the feature complies with the Java technology specification's compatibility rules. A single test may contain multiple test cases. Accompanying information may include test documentation, auxiliary data files, or other resources used by the source code. Tests correspond to assertions of the specification.
A small test that is run as part of a set of similar tests. Test cases are implemented using the JavaTest MultiTest library class. A test case tests a specification assertion, or a particular feature, or part of a feature, of an assertion.
A class that knows how to execute test classes in different environments. Test commands are used by the test script to execute tests.
test command template
A generalized specification of a test command in a test environment. The test command is specified in the test environment using variables so that it can execute any test in the test suite regardless of its arguments.
Machine readable information that describes a test to the test harness so that it can correctly process and run the related test. The actual form and type of test description depends on the attributes of the test suite. A test description exists for every test in the test suite and is read by the test finder. When using the JavaTest harness, the test description is a set of test-suite-specific name/values pairs in either HTML tables or Javadoc-style tags.
A test environment consists of one or more test command template that the test script uses to execute tests and set of name/value pairs that define test description entries or other values required to run the tests.
test execution model
The steps involved in executing the tests in a test suite. The test execution model is implemented by the test script.
When using the JavaTest harness, a nominated class, or set of classes, that read, verify, and process the files that contain test description in a test suite. All test descriptions that are located or found are handed off to the JavaTest harness for further processing.
A Java class whose job it is to interpret the test description values, run the tests, and then report the results back to the JavaTest harness. The test script must understand how to interpret the test description information returned to it by the test finder.
A human-readable description, in logical terms, of what a test does and the expected results. Test descriptions are written for test users who need to know in specific detail what a test does. The common practice is to write the test specification in HTML format and store it in test suite's test directory tree.
A directory associated with a specific test suite and used by the JavaTest harness to store files containing information about the test suite and its tests.