Minha abordagem para aprendizagem TDD

Em qualquer lugar na Internet você pode encontrar artigos sobre “como usar o junit” ou “fazer seu primeiro teste de unidade”, mas nenhum sobre “Que abordagem tomar para aprender TDD”.
Acho que seguir um tutorial que ensina como fazer um teste de unidade sem saber quando , onde e como usá-lo é a abordagem errada. Então, passei algum tempo construindo um caminho, uma estrada a seguir.
Esses argumentos / recursos estão em ordem, o que significa que descobri (talvez mais tarde às minhas próprias custas) que aprender sobre esses tópicos nesta ordem é a melhor abordagem que poderia tomar.

  1. Aprenda sobre Seams (não o Framework, mas o conceito): Se você tiver acesso a este livro “Working Effectively with Legacy Code” de Micheal C. Feathers em uma biblioteca próxima, há uma boa passagem com uma explicação sobre eles. Mas acho que você pode encontrar facilmente algumas informações online.
  2. Aprenda sobre os padrões de fábrica: você deve conhecer pelo menos esses dois padrões para seguir como o código de instanciação precisa ser separado do código de negócios.
  3. Aprenda sobre injeção de dependência: este artigo é provavelmente tudo que você precisa para entender o conceito (leia também todos os recursos vinculados): http://martinfowler.com/articles/injection.html
  4. Veja alguns vídeos sobre como estruturar corretamente seu código: http://www.youtube.com/watch?feature=player_embedded&v=wEhu57pih5w http://www.youtube.com/watch?feature=player_embedded&v=RlfLCWKxHJ0 http: // www .youtube.com / watch? feature = player_embedded & v = -FRm3VPhseI http://www.youtube.com/watch?feature=player_embedded&v=4F72VULWFvc Todos esses vídeos podem ser encontrados aqui: http://misko.hevery.com/presentations/
  5. Teste da primeira unidade?