Direct inputs
The inputs that a SUT directly receives via it's interface (i.e method parameters)
Direct outputs
The outputs a SUT directly returns via it's interface (i.e method return values)
Dummy
Test double that is never used or called but must be present (i.e it could just be null)
Fake
Test double that acts as a lightweight stand in for some other component
Guava
An open source project from Google that provides common utilities for Java such as collections operations, string processing and caching. Originally known as Google Collections.
Indirect inputs
Inputs supplied to the SUT by other components with which it interacts (i.e values supplied by DOCs)
Indirect outputs
Outputs of the SUT that are passed to DOCs but are not visible via the SUT interface
Mock
Test double that verifies indirect outputs from SUT (may also provide indirect input)
Spy
Test double that captures indirect outputs from SUT to allow later verification (may also provide indirect input)
Stub
Test double that supplies indirect inputs to SUT (and does nothing else)
SUT
System under test
TDD
Test driven development or Test driven design.
Test double
Generic names for Dummy, Stub, Spy, Fake or Mock