White-Box, Black-Box

White-Box: The tester knows details about how the system works. Black-Box: Testing is done purely by knowing the expected inputs and outputs.

Unit Testing

Integration Testing

System Testing

Differential Testing

  1. create some input
  2. test 2 different implementations using the same input
  3. Test the outputs of both implementations for differences

Stress Testing

The System is tested at or beyond the limits of normal use.

Random Testing

Inputs are generated at random and fed to the System (e.g. CrashMe).

Regression Testing

Inputs that previosly caused the system to fail are tested on the new version.
From Udacity's Software Testing course unit 1.