Testing general properties across generated inputs.

Testing qualities such as performance and security.

Data used during software testing.

Testing using predefined concrete examples.

Testing system behavior under performance conditions.

Outcome a test should produce.

Test of a small isolated software component.

Testing behavior under expected workload.

Outcome actually produced by a test.

Test of interactions between software components.