BDD em Java
Agosto / 2013
Orientador:
1. Proposta de Tema Demonstrar o uso da técnica de desenvolvimento ágil BDD, Behavior Driven Development, no desenvolvimento de um requisito de negócio buscando viabilizar a pratica de testes voltados a especificações.
2. Levantamento Bibliográfico
2.1. Visão geral sobre TDD e testes
Desenvolvimento de software orientados a testes surge com uma forma de automatizar as tarefas de testes de software que por vezes era executado manualmente ou nem executadas. Muitos autores se referes ao TDD como uma técnica de design de software vista do ponto em que começamos a escrever o código pelos seus testes já esperando um determinado comportamento no métodos ou classe. Com a popularização de metodologias ágeis o TDD passou a ter mais visibilidade sendo uma pratica imprescindível na busca pela qualidade de código produzido e facilidade na manutenção.
O TDD em um projeto de software é uma suíte de testes que garante de forma automática que todo o comportamento esperado de uma funcionalidade não sofra modificações indesejadas. Pense no seguinte cenário: temos um cálculo de depreciação de bens e imóveis que utiliza um fator de cálculo baseados em tipos de imóveis, ao longo do ciclo de vida da aplicação esse cálculo ira sofrer alteração que basicamente é novos tipos de imóveis, para que esse futuras alterações não afetem o que já está implementado e funcionando utilizamos os testes automatizados. Outras características importantes são a possibilidade de fazer mudanças arquiteturais mantendo sempre o comportamento desejado com a suíte de testes automatizados, documentação e melhorias no design do código. O ciclo básico do TDD baseasse em repetições curtas onde se escreve um caso de teste automatizado, escreve código para que o teste seja executado e na sequência o código é refatorado
2.2. O que é BDD?
As práticas de testes vem sofrendo grandes mudanças nos últimos tempos principalmente