Bionic Buffalo Tech Note #112: Introduction to the Faroe Islands Test Tools
operation, errors, data rates, and other statistics
Analysis of non-networked systems – when a network is available in a test environment, but not
normally used among the components of a system, the Tools can be used to report performance and
other information not usually available
Failure simulation and analysis – the Tools can observe the behaviour of system components under
simulated network failure situations, where the normal (non-Tools) network channels become
unavailable
Acquisition of performance and operational statistics – the Tools can provide an easy mechanism to
acquire and present data on the behaviour of systems which do not have built-in functions to gather
such data
Scaffolding for distributed systems development – the Tools include mechanisms to control
programs remotely, and retrieve remote data, which can be used for prototyping of distributed
systems before incorporated mechanisms are completed
Auditing other tools – statistics gathered by the Tools can be compared against other data, verifying
the accuracy of the information
Security analysis – since they provide a back-channel, the Tools can be used to probe for certain
vulnerabilities by attempting to circumvent normal controls
Application and System Test Environments
The basic division of a test environment is an addressable process space (or APS). Although each APS
might be on a separate computer or network node, it is possible (and sometimes necessary) to partition
a single node into multiple such spaces. (Security or architectural considerations might mandate this,
especially when processes on a node cannot always communicate freely among themselves.)
Each APS hosts a master process test object (or MPTO), which must have a network address.
Currently, the Faroe Islands Test Tools support internet protocols (based on UDP/IP and TCP/IP). If
DNS or some other name resolution mechanism is available, then names instead of addresses may be
used. Communication among APSs is through the MPTOs.
There are two ways to implement a MPTO: it may be embedded within a program by use of the test
support library, or it may be a standalone program (such as the test manager application).
Within an APS, the MPTO controls tests; monitors operation; and manages, transmits, and receives
data. The MPTO may start and stop standalone (non-Faroe Islands enabled) programs, or it may work
through slave process test objects (or SPTOs) in programs built using the test support library.
Starting the Test Environment
Testing begins with a running test manager application. (The test manager application is provided with
the Faroe Islands Test Tools.) The test manager initiates and controls the tested applications by
comunicating with MPTOs in the various APSs. In order for this to happen, the MPTOs must be
started or running already. In order for them to be running already, the test developer or user must start
them manually, by shell script, or by some other mechanism external to the Tools. Otherwise, a test
manager may attempt to start remote test managers itself using
ssh or telnet protocols.
Page 2 of 4