Blz, pessoal

TDD By Example Meio sumido mas retorno neste post para um breve resenha deste livro que terminei de ler: Test-Driven Development By Example, do Kent Beck.

Este livro, escrito em 2002, é hoje uma das referências no assunto e apresenta a técnica de uma forma bem prática, mostrando 3 exemplos e uma série de técnicas e padrões muito úteis para melhor aplicação do TDD.

O livro está dividido em três partes. Na parte 1 – The Money Example – ele mostra um exemplo prático de um modelo que trabalhe com multi-moedas, ou seja, que seja capaz, por exemplo, de somar cinco dólares com dez francos e retornar o total em dólares.

Sempre começando pelos testes, o autor cria classes Dolar e Franco, implementa métodos de soma e multiplicação e assim por diante. E, é claro, ao longo de todo o livro ele vai explicando a técnica, o ciclo red-green-refactor, como fazer o teste passar (green) o mais rápido possível, etc.

Na parte 2 – The xUnit Example  – mais um exemplo. Desta vez, ele fala sobre framework de teste no padrão xUnit. Mais do que isso, ele explica a arquitetura xUnit, escrevendo um framework de teste usando TDD. Isso mesmo, TDD para construir um framework de teste!

——————–
Nota: o exemplo da parte 2 do livro utiliza a linguagem Python, mas nada que vá prejudicar o entendimento do conteúdo. De quebra, você ainda conhece a linguagem 🙂 . Os demais exemplos utilizam Java e, portanto, é automático para quem trabalha com C#, bastando substituir o framework de teste jUnit pelo seu preferido para .Net.
——————–

A parte 3 – Patterns for Test-Driven Development – é a mais teórica. Ela mostra os padrões “greatest hits” (como é dito no livro) adotados no TDD. Ao longo da parte 3, são mostradas técnicas, sempre na base do pergunta-resposta, ou seja, cada tópico ele começa por uma pergunta (“como faço tal coisa?”) e o tópico dá a solução ou dica. Também nesta parte, são mostrados vários padrões de projeto e técnicas de refactoring.

No Apêndice 2 do livro, como um brinde, é mostrado mais um exemplo prático: a sequencia de Fibonacci.

Concluindo, posso dizer que este é um ótimo livro para quem quer ingressar no desenvolvimento orientado a testes. É um livro pequeno (cerca de 220 páginas), de fácil leitura e com um contéudo muito bom.

Com os exemplos do livro, você terá uma boa base para começar a praticar. Com o exemplo da parte 2, você terá uma base para entender como funciona um framework de testes e a parte 3 é um verdadeiro manual de boas práticas de TDD, feito para ser lido diversas vezes.

Vale lembrar que o livro é de TDD e não de testes unitários!! TDD não é teste de unidade. No contexto do TDD, o teste de unidade é apenas um MEIO e não o FIM. O fim é chegar a um bom design, a um “código limpo que funciona”. Se você procura um bom de livro de testes de unidade em .Net, recomendo o “The Art Of Unit Testing” do Roy Osherove.

Nos próximos posts estarei falando mais sobre TDD. Aguardem.

Até!