SlideShare uma empresa Scribd logo
1 de 14
TDD –
TEST DRIVEN
DEVELOPMENT
DATEORIA A PRÁTICA
Oi!
Serena Fernandes
Developer
METODOLOGIA
S ÁGEIS
O QUE É
TDD?
TDD é o Desenvolvimento Orientado por Testes (Test Driven Development)
CICLO DO TDD
RED
GREEN
REFACTOR
COMO?
Java: Junit
Ruby: Test::Unit
JavaScript: Jasmine
Python: UnitTest (”Pytest”)
EXEMPLOS
import org.junit.Test;
public class MeuTeste {
@Test
public void
multiplicacaodeInteirosPorZeroDeveRetornarZero() {
MyClass tester = new MyClass();
assertEquals("10 x 0 deve ser 0", 0, tester.multiply(10,
0));
assertEquals("0 x 10 deve ser 0", 0, tester.multiply(0,
10));
assertEquals("0 x 0 deve ser 0", 0, tester.multiply(0, 0));
}
}
Referencias:
Manifesto Ágil
http://www.agilemanifesto.org/iso/ptbr/
Prática com Rails
https://www.caelum.com.br/apostila-ruby-on-rails/apendice-testes/
TDD Simples e prático
http://www.devmedia.com.br/test-driven-development-tdd-simples-e-pratico/18533
Obrigada!
Valeu, flws!
Serena Fernandes
serenafribeiro@gmail.com
facebook.com/serenafernandes

Mais conteúdo relacionado

Semelhante a Tdd da teoria a pratica

TDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fislTDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fislAdriano Petrich
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do MantraDionatan default
 
Testes Unitários com GTest e Catch
Testes Unitários com GTest e CatchTestes Unitários com GTest e Catch
Testes Unitários com GTest e CatchUilian Ries
 
Palestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-AssuredPalestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-AssuredQualister
 
TDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-AssuredTDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-AssuredJúlio de Lima
 
Test-Driven Development serve pra mim?
Test-Driven Development serve pra mim?Test-Driven Development serve pra mim?
Test-Driven Development serve pra mim?Maurício Aniche
 
Produtividade em Java com Grails
Produtividade em Java com GrailsProdutividade em Java com Grails
Produtividade em Java com GrailsWanderson Oliveira
 
Tdd em django sem desculpas versao final
Tdd em django sem desculpas versao finalTdd em django sem desculpas versao final
Tdd em django sem desculpas versao finalAdriano Petrich
 
Não tem teste ? Já nasceu legado.
Não tem teste ? Já nasceu legado.Não tem teste ? Já nasceu legado.
Não tem teste ? Já nasceu legado.GTS-CE
 

Semelhante a Tdd da teoria a pratica (20)

TDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fislTDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fisl
 
Minicurso de TDD
Minicurso de TDDMinicurso de TDD
Minicurso de TDD
 
TDD em 220V
TDD em 220VTDD em 220V
TDD em 220V
 
JUnit
JUnitJUnit
JUnit
 
Testes com JUnit
Testes com JUnitTestes com JUnit
Testes com JUnit
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do Mantra
 
Testes Unitários com GTest e Catch
Testes Unitários com GTest e CatchTestes Unitários com GTest e Catch
Testes Unitários com GTest e Catch
 
Testes de Unidade com JUnit
Testes de Unidade com JUnitTestes de Unidade com JUnit
Testes de Unidade com JUnit
 
Java 12
Java 12Java 12
Java 12
 
TDD com Python (Completo)
TDD com Python (Completo)TDD com Python (Completo)
TDD com Python (Completo)
 
Teste Driven Development
Teste Driven DevelopmentTeste Driven Development
Teste Driven Development
 
Tdd na veia
Tdd na veiaTdd na veia
Tdd na veia
 
Palestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-AssuredPalestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-Assured
 
TDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-AssuredTDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-Assured
 
JUnit Sample
JUnit SampleJUnit Sample
JUnit Sample
 
Test-Driven Development serve pra mim?
Test-Driven Development serve pra mim?Test-Driven Development serve pra mim?
Test-Driven Development serve pra mim?
 
Produtividade em Java com Grails
Produtividade em Java com GrailsProdutividade em Java com Grails
Produtividade em Java com Grails
 
TDD do seu jeito
TDD do seu jeitoTDD do seu jeito
TDD do seu jeito
 
Tdd em django sem desculpas versao final
Tdd em django sem desculpas versao finalTdd em django sem desculpas versao final
Tdd em django sem desculpas versao final
 
Não tem teste ? Já nasceu legado.
Não tem teste ? Já nasceu legado.Não tem teste ? Já nasceu legado.
Não tem teste ? Já nasceu legado.
 

Tdd da teoria a pratica

Notas do Editor

  1. Dar um oi e esperar até que todas entrem
  2. Apresentação pessoal
  3. Ou desenvolvimento agil de software é um conjunto de metodologias de desenvolvimento. O desenvolvimento ágil, tal como qualquer metodologia de software, providencia uma estrutura conceitual para reger projetos de engenharia de software. Os valores relacionados ao Desenvolvimento ágil de software, segundo o Manifesto Agil são: Indivíduos e interações sobre processos e ferramentas; Software funcional sobre documentação abrangente; Colaboração do cliente sobre negociação de contratos; Responder a mudanças sobre seguindo um plano
  4. Para chegar onde eu quero, vou focar mais em uma técnica da metodologia conhecida como XP Extreme Programming é um conjunto de práticas de programação que visam a simplicidade, praticidade, qualidade e flexibilidade de seu sistema. Os testes de unidade fazem parte dessa metodologia de programação.
  5. Vamos ao que interessa
  6. Isso mesmo! Desenvolvemos o nosso software baseado em testes que são escritos antes do nosso código de produção! Mas Serena, ainda não entendi, eu sou DEV, por que eu escreveria testes? Código mais limpo, já que escrevemos códigos simples para o teste passar Segurança no Refactoring pois podemos ver o que estamos ou não afetando Segurança na correção de bugs Maior produtividade já que o desenvolvedor encontra menos bugs e não desperdiça tempo debugando Código da aplicação mais flexível, já que para escrever testes temos que separar em pequenos "pedaços" o nosso código, para que sejam testáveis, ou seja, nosso código estará menos acoplado.
  7. Basicamente o TDD se baseia em pequenos ciclos de repetições, onde para cada funcionalidade do sistema um teste é criado antes. 
  8. Escrevemos um Teste que inicialmente não passa (Red)Adicionamos uma nova funcionalidade do sistemaFazemos o Teste passar (Green)Refatoramos o código da nova funcionalidade (Refactoring)Escrevemos o próximo Teste
  9. Existem vários frameworks de testes, para as diferentes linguagens