Test harness tools can generate input at one or more of the
following levels [Ref 19]:
• application software level, either as input files or call arguments;
• operating system level, for example as X-server messages;
• hardware level, as keyboard or mouse input.
Test harness tools should capture output at the level at which they
input it. It should be possible to generate multiple input and output data
streams. This is required in stress tests (e.g. multiple users logging on
simultaneously) and security tests (e.g. resource locking).