Summary
The Graybox methodology is consistent
since it uses an automated test code generation
capability to assure all drivers and stubs created
are exactly the same regardless of tester or
language. The methodology is concise because
the manual steps of test code generation are
encapsulated into a software load image. The
methodology is repeatable when all test case
data is saved for regression testing at a later
time. The methodology is measurable due to
the built in metrics capture capability. Both
systems and software engineers easily
understand the methodology.
The Graybox methodology can be
implemented at all stages of software testing.
The look and feel of testing at the unit level is
the same as testing at the module or integration
level. It does not matter whether the user is
performing strict unit testing, or integration
testing. The Graybox toolset presents a
consistent look and feel to the user.
The Graybox methodology is language
independent and has been used on several
projects over the past 12 years. Current
implementations have been realized in the
following languages: Ada, Assembly, C/C++,
and FORTRAN. All implementations have an
identical look and feel regardless of the source
language.
The Graybox methodology is
independent of the target execution
environment and is easily adapted to a different
platform. The software can be executed in a
variety of implementations. Switching between
implementations is quick and easy. A module
can be tested on the host computer with a cross
target debugger and then switched to the actual
target and the test re-executed under the control
of a target emulator. Current implementations
are: VaxVMS Host, 1960 target, VaxSPE
debugger, VaxMMS debugger PC MSDOS
debugger and Sun & HP Unix platforms using
the host debuggers.
Test cases can be generated from the
system engineering algorithms, the detailed
design, the software requirements, or the actual
code. Any combination of these sources can be
used to generate functional as well as structural
test cases.
Once applied across a software
development organization the Graybox
methodology will provide the Embedded
Software Engineering organization with a
consistent, concise, understandable and
repeatable software testing methodology. The
Graybox toolset eliminates the time spent by
programmers developing throw-away test code,
because the toolset will automatically create all
test unique software.