desenvolvimento
Introdução ao Desenvolvimento
Orientado a Testes
Laboratório de Engenharia de Software
Professor: Amaury Teófilo Brasil Filho
Turma: ADS21
Equipe:
Erika Rodrigues
Charles Eduardo
Junior Oliveira
Rui Paulino
Introdução
O que seria TDD?
É uma técnica para o desenvolvimento de software, divididas em pequenas etapas (interações) para o desenvolvimento de novas funcionalidades. Não se trata de um método para testar software, mas sim de desenvolver software.
Inspirado do conceito de “test-first programming” do XP (Extreme Programming), mas acabou ganhando tanto interesse, que hoje tem sido adotado independente do XP e das técnicas de programação ágil.
Objetivo do TDD
“clean code that works”
◦ código limpo que funciona
“Mantra” do TDD: vermelho-verde-refatorar
Os seguintes passos são realizados para que possamos ter sucesso nessa técnica:
Codifique o teste;
Codificar o teste e executar;
Faça ele compilar e executar (não deve passar vermelho);
Implementação dos requisitos; Implemente o requisito e faça o teste passar (verde);
Refatore o código;
Um programador tendo uma abordagem TDD, se recusa a escrever uma nova função até que haja primeiro um teste que falhe, porque essa função não estava presente. Na verdade, eles se recusam a adicionar ainda uma única linha de código até que existe um teste para ele. O novo código pode quebrar vários testes existentes, bem como o novo. Isso parece simples, em princípio, mas quando você está aprendendo a ter uma abordagem TDD requer muita disciplina, porque é fácil se "escorregar" e escrever o código funcional sem antes escrever um novo teste. Uma das vantagens da programação em pares é que o seu par ajuda você a permanecer na pista.
Kent Beck, que popularizou TDD em eXtreme Programming (XP) ( Beck, 2000 ), define duas regras simples para TDD ( Beck 2003 ). Primeiro, você deve escrever um novo código de negócio somente quando