Home Corporate Contacts

TETware White Paper




You are here: TETworks > White Papers > TETware




The TETware Architecture 

Basic System Requirements 

TETware Structure 

TETware Features


TETware is a universal management and reporting framework for automated testing. It provides what is effectively a standard API between the test code and the overall test process. TETware is being used in a wide diversity of automated testing applications, ranging from standards API conformance testing, performance and stress testing, verification of secure electronic transactions, to distributed cross platform applications.

TETware was developed though a collaborative project involving OSF, UNIX International and X/Open and is now widely used within the software testing community.

Technically, TETware provides a programming-language independent functional specification with several (supported and contributed) language bindings (ISO C, C++,  ISO POSIX.2 Shell, Korn Shell, Perl, Tcl), a command line interface, and a Programmer's Guide. This overall framework provides a structure in which test authors can easily develop tests conforming to IEEE Std. 1003.3-1991. The framework insulates tests from the machine environment and ensures that each test reports one and only one result. These are functions that most proprietary test frameworks perform. 

TETware reflects the need of the testing community to have a simple, common interface that supports the basic functions that all tests need to perform (e.g. reporting, communication, test sequencing). Beyond that, TETware reflects a strong conviction that test developers should spend their time writing tests, not designing testing frameworks.

The TETware Architecture

TETware consists of three basic components

  • A test case controller.
  • A generic test suite and test case structure.
  • Various programmatic interfaces to be used in the development of test cases.

A goal of the environment has been to allow for future extensibility and flexibility so that test developers can work within the structures of the test harness and still produce useful, effective tests. What TETware has not addressed is the formulation, content, or scope of test cases. A test case can be arbitrarily complex or simple and still function under TETware. The structure of a test case can be based on assertions, functions, modules, or any other appropriate abstraction. The test suite developer must choose the most useful structure for a given test suite. Because of the overriding concern for providing flexibility for the test developer, TETware imposes a minimum amount of structure on test cases.

Basic System Requirements

In order for a system to support TETware's architecture, the following facilities must be available for support of the C language and Shell APIs.

  • ISO/IEC 9945-1 1990 conformance.
  • ISO 9899 or Common Usage C (as defined in ISO/IEC 9945-1) conforming compiler.
  • The command shell, sh, as defined in the ISO/IEC 9945-2 1993 and some commonly-used utilities (such as make, cp, and rm).
Additional API support includes:
  • C++
  • Java
  • Perl
  • Tcl/Expect

Users can add their own API if necessary (please see Knowledgebase article 26).  Or may request that The Open Group develop the required functionality.

TETware Structure

The structure of TETware consists of  functions (represented by boxes) and data files (represented by ellipses). The figure below depicts the three TCC modes, build, execute, and clean, and conveys a general view of the sequence of events and the inter-relationship of the files and functions. The Report Writer and Database Drive functions, were originally left as user-supplied functions, but are now included in the  supported product.

Figure 1. TETware-Lite Conceptual Model *

TETware Features

The following list highlights the basic features of TETware:


Each test suite includes its own installation tool(s). This allows the test suite to have maximum control of its environment and configuration during installation.


TETware allows for the specification of system specific details at execution time. This means that you can easily change the test suite configuration without changing the individual test cases. Different configurations might include additional libraries required for compilation, different compiler names, alternate header hierarchies, or a selection of various test suite options.

Binary Testing

TETware is capable of executing test cases that are distributed as binary executables.

Result Codes

TETware can extend its base set of result codes with a test suite specific set; and the action associated with any result code can be changed to meet specific user requirements.

Report Generation

TETware outputs a journal file in a standard well-defined format, that may be processed by other tools.  A standard report generator is included.  The ability to write Journal file parameters to any SQL compliant database is provided for TETware GUI Users.

More features

* for Distributed TETware Conceptual Models please see Appendix G of the TETware Programmers Guide, available here.

Home Contacts Legal Copyright Corporate News

Copyright © The Open Group 1995-2012, All Rights Reserved