Pessoas que não utilizam testes em seus projetos não conseguem ter a certeza de que todo o projeto continua funcionando desde a última alteração no código fonte. Eu não estou falando daquele teste tosco que fazemos manualmente no momento do desenvolvimento, eu estou falando de teste automatizados.
Automação de teste é utilizado para garantir que não surgiram novos defeitos em componentes já testados, essa técnica de teste é conhecida como Teste de regressão e deve ser executado antes e depois de cada alteração no sistema para checar se houve algum efeito colateral no sistema.
O Symfony por ser um framework de desenvolvimento ágil prove ferramentas boas para automação dos testes, e o melhor, essas ferramentas são bem integradas com o restante do framework.
O symfony divide os testes em duas partes, testes unitários e testes funcionais, vou mostrar rapidamente a diferença entre elas.
O symfony possui uma "biblioteca" própria para fazermos testes unitários, é uma classe única chama lime e foi baseada na biblioteca do Perl chamadas Test::More.
Eles servem para garantir que determinada função ou método vai retornar o valor esperado para determinadas entradas, ele é feito através de uma comparação do resultado obtido com o resultado esperado, ex:
Exemplo de um teste unitário para testar o método sfToolkit::isPathAbsolute

Os testes funcionais validam uma funcionalidade completa e não somente uma simples checagem de Entrada e Saída. Eles são normalmente utilizados para testar os principais componentes do symfony, como o sistema de rota, cache, formulários, filtros, etc.
Um exemplo de um teste funcional realizado em cima da url sobre-o-autor.
-> Verificar se o sistema de rotas identificou a url e redirecionou para o módulo responsável.
-> Verifica se a requisição possui o código 200 OK.
-> Verifica se no conteúdo da página existe a palavra Sobre o Autor
Para escrever um teste como este precisamos programar não mais que 6 linhas de código php.

Existem alguns tipos de testes no symfony que não são possíveis serem automatizados sem ferramentas externas, são elas funcionalidades em ajax e efeitos de tela.
Acesse http://www.symfony-project.org/book/1_0/15-Unit-and-Functional-Testing para mais informações.