Teste De Unidade? Teste De Integração? Teste De Regressão? Teste De Aceitação?

Existe alguém que possa definir claramente estes níveis de teste porque eu acho difícil diferenciar quando se faz o teste TDD ou unidade. Por favor, se alguém puder explicar como, quando implementar estes?