Testing without knowledge of internal implementation.

Testing software across environments and configurations.

Collection of related test cases.

Percentage of functions executed by tests.

Testing with knowledge of internal code structure.

High-level situation or behavior to be tested.

Percentage of logical conditions evaluated.

Testing with partial knowledge of implementation.

Automated or manual sequence of testing instructions.

Testing test quality by introducing artificial code changes.