...\" @OPENGROUP_COPYRIGHT@
...\" COPYRIGHT NOTICE
...\" Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.
...\" Copyright (c) 1996, 1997, 1998, 1999, 2000 The Open Group
...\" ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
...\" the full copyright text.
...\" 
...\" This software is subject to an open license. It may only be
...\" used on, with or for operating systems which are themselves open
...\" source systems. You must contact The Open Group for a license
...\" allowing distribution and sublicensing of this software on, with,
...\" or for operating systems which are not Open Source programs.
...\" 
...\" See http://www.opengroup.org/openmotif/license for full
...\" details of the license agreement. Any use, reproduction, or
...\" distribution of the program constitutes recipient's acceptance of
...\" this agreement.
...\" 
...\" EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
...\" PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
...\" KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
...\" WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
...\" OR FITNESS FOR A PARTICULAR PURPOSE
...\" 
...\" EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
...\" NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT,
...\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
...\" DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED
...\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
...\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
...\" ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
...\" EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
...\" POSSIBILITY OF SUCH DAMAGES.
...\" 
...\" 
...\" HISTORY
# $XConsortium: preface.sm /main/3 1995/07/13 20:09:54 drk $
...\"  (c) Copyright 1992 OPEN SOFTWARE FOUNDATION, INC.
.nr P 5
.H 1 "Preface"
.H 2 "Audience"
.P
This book is written with two audiences in mind:
.BL
.LI
Testers who wish to use QATS as is to test OSF/Motif\*(Tm, perhaps to verify
vendor's implementations
.LI
Testers who wish to automate testing of OSF/Motif-based applications by linking
with the automation libraries
.LE
.P
The task is straightforward for users in the first category, since
it mirrors the Quality Assurance activities performed by test engineers
at OSF prior to the release of OSF/Motif. In fact, the visual files shipped with
QATS are the exact visuals used by OSF during the final tests of OSF/Motif Version 1.2.
.P
Users in the second category are more likely to break new ground. The
automation test code thusfar has been used only with the small test clients
shipped as part of QATS. While we believe that the automation libraries
can be used effectively to test real OSF/Motif applications, this is as yet
unproven. 
.H 2 "Applicability"
.P
Currently, QATS is shipped bundled with the OSF/Motif Validation Test Suite (MVTS).
Used in conjunction, these two test suites provide a powerful and thorough
test for OSF/Motif. Unlike MVTS, QATS is unsupported code, shipped "as is"
to MVTS customers.
.P
All of the QATS automation code was developed in-house at OSF.
.P
The QATS test suite is not yet fully automated. In other words, not all
directories contain scripts, and visual files have not been recorded for
all directories. Those directories which have been automated are listed
in the file \f(CW$TOP/tests/General/dirsAuto\*O on the QATS tape, where
\f(CW$TOP\*O corresponds to the root of your QATS tree. 
.P
The next section contains the details of limitations in the current
implementation which may necessitate modifications to your application, or to 
the automation technology, before
automated testing of your OSF/Motif-based client can begin.
.H 2 "Purpose"
.P
The Quality Assurance Test Suite (QATS) is made up of several parts:
.BL
.LI
Approximately 400 separate tests of OSF/Motif functionality
.LI
Libraries of convenience routines used by these tests
.LI
Libraries that support test automation
.LI
Tools to help with test interpretation
.LE
.P
The automation technology is the most significant new feature of the OSF/Motif Version 1.2 QATS. This package combines a comprehensive scripting language and input-synthesis extension with a platform-independent visual comparison algorithm.  Together, it allows the test engineer to
.BL
.LI
Write scripts which accurately reflect the actions of a human tester
.LI
Record and compare visual appearance between different versions of any test,
with great precision
.LI
Automate existing tests with minimal or no modifications to the test code itself
.LE
.H 2 "Document Usage"
.P
This document is organized into the following sections:
.BL
.LI
This \*LPreface\*O.
.LI
\*LChapter One\*O, which details the steps required to build the libraries,
and to design and build automatable tests
.LI
\*LChapter Two\*O, which describes how to write automated test instruction
and script files
.LI
\*LChapter Three\*O, describing the automated test run environment
.LI
\*LChapter Four\*O, which gives pointers on debugging problems discovered
during automated testing
.LI
\*LChapter Five\*O, which describes some additional features of QATS
and contains technical reference material.
.LI
\*LChapter Six\*O, which contains reference pages for the automation
scripting language commands.
.LE
.H 2 "Related Documents"
.P
Users of this book may find the OSF/Motif documentation set useful, 
particularly the \*LOSF/Motif Programmer's Reference\*O, \*LOSF/Motif
Programmer's Guide\*O, and \*LOSF/Motif Style Guide\*O.
.H 2 "Typographic and Keying Conventions"
.P
This document uses the following typographic conventions: 
.VL
.LI "\*LBold\*O"
\*LBold\*O
words or characters represent system elements that you must use
literally, such as commands, flags, and pathnames. \*LBold\*O words
also indicate the first use of a term included in the glossary.
.LI "\*VItalic\*O"
\*VItalic\*O
words or characters represent variable values that you must supply.
.LI "\*CConstant width\*O"
.nL
Examples and information that the system displays appear in
\*Cconstant width\*O typeface.
.LI "[\ \ ]"
Brackets enclose optional items in format and syntax
descriptions.
.LI "{\ \ }"
Braces enclose a list from which you must choose an item
in format and syntax descriptions.
.LI "\ |\ "
A vertical bar separates items in a list of choices.
.LI "<\ \ >"
Angle brackets enclose the name of a key on the keyboard.
.LI "..."
Horizontal ellipsis points indicate that you can repeat the
preceding item one or more times.
Vertical ellipsis points indicate that you can repeat the
preceding item one or more times.
.LE
.P
This document uses the following keying conventions:
.VL 
.LI "\*L<Ctrl-\*Vx\*L>\*O\ or\ ^\*Vx\*O"
.nL
The notation \*L<Ctrl-\*Vx\*L>\*O or ^\*Vx\*O followed by
the name of a key indicates
a control character sequence.
For example, \*L<Ctrl-c>\*O means that you hold down
the control key while pressing \*L<c>\*O.
.LI "\*L<Return>\*O"
The notation \*L<Return>\*O 
refers to the key on your terminal
or workstation that is labeled with the word Return or Enter, or
with a left arrow.
.LI "Entering\ commands"
.nL
When instructed to
.eM enter
a command, type the command name and then
press \*L<Return>\*O.  For example, the instruction
"Enter the
\*Lls\*O
command" means that you type the
\*Lls\*O
command and then press \*L<Return>\*O 
(enter = type command + press \*L<Return>\*O).
.LE
.P
Componenents of the OSF/Motif user interface are represented by
capital letters on each major word of the component, such as
PushButton.
.H 2 "Problem Reporting"
.P
The Quality Assurance Test Suite provides a sophisticated test automation
technology which, we hope, will be useful to all QATS licensees. The
official status of the QATS is "unsupported", but we encourage you to
report problems you find in the code or the documentation, 
and advise us of ways you find to extend the
usefulness of the QATS.
.P
Several bug fixes have been made to QATS since the release of OSF/Motif Version 1.2.
These will be made available to MVTS/QATS support customers at a future time.
Other future directions we are considering for QATS include:
.BL
.LI
Complete automation of all directories which can be automated.
.LI
Performance improvements.
.LI
Support for currently unsupported OSF/Motif functionality, such as Tear-off menus, uil.
.LI
Refinement of visual debugging tools.
.LI
Removal of current restrictions, such as the requirement for \f(CWXmCreate\*O routines.
.LI
Development of reporting tools, front ends.
.LE
.P
All licensees should feel free to discuss the QATS on the \*Lmotif-talk\*O
or \*Lvts-talk\*O mailing lists, and to submit defects to \*Lmotif-defect@osf.org\*O. To find out about access to these mailing lists, contact
\*Lmotif-request@osf.org\*O.
.P
Companies who plan to make significant improvements, extensions or 
modifications to QATS, including any of the above possible futures,
might consider contributing back their code to OSF for inclusion in
future releases of QATS. To discuss joint development efforts, please contact
Libby Hanna, QA/VTS Manager (\*Llibby@osf.org\*O or (617) 621-8820).
.P
OSF members can be actively involved priority-setting for future work.
Much of this guidance takes place in the UEC (User Environment
Componenet) SIG (Special Interest Group) for
OSF/Motif. Contact your company's OSF representative to get more information 
about involvement in UEC SIG activities.
