Generally divided into five stages:
Unit testing, integration testing, validation test, system test, acceptance test