White-Box, Black-BoxWhite-Box: The tester knows details about how the system works. Black-Box: Testing is done purely by knowing the expected inputs and outputs.
- Small modules of code are tested in isolation
- The goal is to find defects in the internal logic of the code as soon as possible
- No pre-conceived patterns of use are assumed (test all possible inputs)
- Take modules that have already been unit-tested and test them together
- The goal is to test the interfaces between modules
- Usually Black-Box Testing
- Tests if the system as a whole works
- Focuses on how it will be used in the most important use-cases
- create some input
- test 2 different implementations using the same input
- Test the outputs of both implementations for differences
Stress TestingThe System is tested at or beyond the limits of normal use.
Random TestingInputs are generated at random and fed to the System (e.g. CrashMe).
Regression TestingInputs that previosly caused the system to fail are tested on the new version.
From Udacity's Software Testing course unit 1.