TETware White Paper
You are here: TETworks > White Papers > TETware
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.
TETware consists of three basic components
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.
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.
Users can add their own API if necessary (please see Knowledgebase article 26). Or may request that The Open Group develop the required functionality.
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 *
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.
TETware is capable of executing test cases that are distributed as binary executables.
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.
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.
* for Distributed TETware Conceptual Models please see Appendix G of the TETware Programmers Guide, available here.