SlideShare uma empresa Scribd logo
TD D
Test-driven development
por que
testamos?
como
testamos?
TE S TE S
M ANUAIS
   :(
TE S TE S
AUTO M ATIZAD O S
       :)
Antes do TD D ...
código escrito
antes dos testes...
é difícil de testar...
é difícil de usar...
design
TD D é mais que testes,
é um método para design
de software.
Testes verificam a
usabilidade do código
Adição novas funcionalidades
em pequenos passos
Feedback rápido
das mudanças no código
Não quero usar TD D !!!
“Você não tem tempo para escrever
testes unitários, porque gasta
tempo demais debugando.”
M udança de hábito
TDD - Test Driven Development
R efactoring
TDD - Test Driven Development
Ferramentas
Selenium
S tubs
S tubs
//criar mock
LinkedList mockedList = mock(LinkedList.class);

//stubbing...
when(mockedList.get(0)).thenReturn(“first”);

//imprime “first”
System.out.prinlnt(mockedList.get(0));

//imprime “null” não criamos stub para get(999)
System.out.println(mockedList.get(999));
M ocks
import static org.mockito.Mockito.*;

//criar mock
List mockedList = mock(List.class);

//usando o objeto mock
mockedList.add(“one”);
mockedList.clear();

//verificando interação
verify(mockedList).add(“one”);
verify(mockedList).clear();




M ocks
S tubs testam o estado
dos objetos após
execução
M ocks testam a
interação entre
objetos durante
execução
M ão na massa
C alculadora

           - S omar dois números inteiros

          - S ubtrair dois números inteiros

         - M ultiplicar dois número inteiros

               - D ividir dois número inteiros
O problema com Test-D riven
D evelopment é a palavra “Teste”
BDD
B ehavior-D riven D evelopment
public class CalculadoraSpec {

    @Test
    public void deveSomarDoisInteiros() {
        ...
    }

    @Test
    public void deveSubtrairDoisInteiros() {
        ...
    }

    //outros métodos
}
E specificação
C onta C orrente
- Um depósito deve aumentar o saldo da
conta...
- Um saque deve diminuir o saldo da conta...
- Não deve permitir efetuar um saque
quando saldo é insuficiente...
- Um erro deve ocorrer caso um depósito
com valor negativo seja realizado...
- Um erro deve ocorrer em caso de saque de
valor negativo...
“E screva código novo apenas se
você primeiro tiver um teste
falhando.”
Kent B eck
insidecode.com.br
  blog.insidecode.com.br

leonardo@ insidecode.com.br

@ insidecode @ leonardom

Mais conteúdo relacionado

PPTX
Por que automatizar testes de software?
PPT
Testes Automatizados de Software
PDF
TDD do seu jeito
PDF
[MTC 2021] Conversa sobre shift left - Douglas Cardoso
PDF
Clean code part 2
PPTX
Introdução a testes automatizados
PDF
UnP Eng. Software - Aula 28
PPTX
Debugging node
Por que automatizar testes de software?
Testes Automatizados de Software
TDD do seu jeito
[MTC 2021] Conversa sobre shift left - Douglas Cardoso
Clean code part 2
Introdução a testes automatizados
UnP Eng. Software - Aula 28
Debugging node

Mais procurados (19)

PDF
JUnit - Selenium
PPT
Testes de Sofware
PPT
Aula18 Teste Software
PDF
03 - Introdução a lógica de programação parte 3 - v1.1
PDF
Apresentação BDD
PPTX
Curso de C# - Introdução
PDF
Programação Estruturada 2 - Curso Completo
PPTX
Testes Unitários/Integrados
PDF
Aexo TI - Boas práticas de testes tdd
PDF
Introdução a Testes de Software
KEY
Clean code
PDF
Mock it with mockito
PDF
JUnit Experience
PDF
Codigo limpo
PDF
Algoritmos e Visualg parte 1
PDF
Test-driven Development
PDF
python.comandos
PPTX
1° Madrugada de Testes
PDF
Property Based Testing
JUnit - Selenium
Testes de Sofware
Aula18 Teste Software
03 - Introdução a lógica de programação parte 3 - v1.1
Apresentação BDD
Curso de C# - Introdução
Programação Estruturada 2 - Curso Completo
Testes Unitários/Integrados
Aexo TI - Boas práticas de testes tdd
Introdução a Testes de Software
Clean code
Mock it with mockito
JUnit Experience
Codigo limpo
Algoritmos e Visualg parte 1
Test-driven Development
python.comandos
1° Madrugada de Testes
Property Based Testing
Anúncio

Destaque (7)

PDF
Git e GitHub
PDF
PDF
GDG Angular 2
PDF
Arquitetura de Software Na Pratica
PDF
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
PDF
The Six Highest Performing B2B Blog Post Formats
Git e GitHub
GDG Angular 2
Arquitetura de Software Na Pratica
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
The Six Highest Performing B2B Blog Post Formats
Anúncio

Semelhante a TDD - Test Driven Development (20)

PPTX
Testes de software de A a Z
PPTX
Por que você não escreve Testes Unitários?
PPTX
Não existe feedback melhor do que o do seu código
PDF
Tdd em django sem desculpas versao final
PPTX
Testes Unitários: Começando a escrever testes no seu dia-a-dia
PDF
TDD para "meros mortais"
PDF
Teste sua aplicação antes que ela teste você
PPTX
Introdução ao C#
PPTX
Unit test & TDD
KEY
Programação Orientada a Testes
PDF
O que você precisa saber sobre testes unitários
PDF
TDD com Python (Completo)
PPTX
Teste automatizados e tdd
PDF
Padrões para Desenvolvimento de Software Guiado por Testes
PPTX
Aula 3-lógica.pptx
PDF
Test-Driven Development with PHP
PDF
UnP Eng. Software - Aula 27
PDF
Desenvolvimento Dirigido por Testes com Junit
PPTX
TDD em 220V
PDF
TDD em django sem desculpas versao fisl
Testes de software de A a Z
Por que você não escreve Testes Unitários?
Não existe feedback melhor do que o do seu código
Tdd em django sem desculpas versao final
Testes Unitários: Começando a escrever testes no seu dia-a-dia
TDD para "meros mortais"
Teste sua aplicação antes que ela teste você
Introdução ao C#
Unit test & TDD
Programação Orientada a Testes
O que você precisa saber sobre testes unitários
TDD com Python (Completo)
Teste automatizados e tdd
Padrões para Desenvolvimento de Software Guiado por Testes
Aula 3-lógica.pptx
Test-Driven Development with PHP
UnP Eng. Software - Aula 27
Desenvolvimento Dirigido por Testes com Junit
TDD em 220V
TDD em django sem desculpas versao fisl

Último (20)

PDF
Uma Introdução às Ciências do Alcorão (Islam)
PDF
COMO OS CONTOS DE FADAS REFLETEM ARQUÉTIPOS_MEDOS E DESEJOS DO INCONSCIENTE H...
PPTX
Reino Monera e Protista: representantes e caracteristicas.pptx
PDF
Metabolismo_energético_3ano_pre_vest_2026.pdf
PDF
Ementa 2 semestre PEI Orientação de estudo
PDF
50 anos Hoje - Volume V - 1973 - Manaus Amazonas
PPT
HISTOLOGIA VEGETAL - tecidos vegetais.ppt
PPTX
MENDEL - Aula sobre Mendel - Genética EM
PPTX
ELEMENTOS E FUNÇÕES DE LINGUAGEM (EMOTIVA, REFERENCIAL, CONATIVA, POÉTICA, FÁ...
PPTX
Filosofia Ocidental Antiga 2025 - versão atualizada
PDF
ESPELHOS DA ALMA A PSICOLOGIA POR TRÁS DOS CONTOS DE FADAS.pdf
PPTX
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
PPTX
disciplulado curso preparatorio para novos
PPTX
INDÚSTRIA_ Histórico da industrialização.pptx
PPT
sistema reprodutor para turmas do oitavo ano
PPTX
Trabalho Cidades sustentáveis ou Utopia.pptx
PPTX
brasilcolnia2-101027184359-phpapp02.pptx
PDF
FLUXOGRAMA CLASSE lll - Acesso estritamente proximal.pdf
PDF
GESTÃO DA FASE PRÉ-ANALÍTICA- Recomendações da SBPC-ML (3).pdf
PPTX
QuestõesENEMVESTIBULARPARAESTUDOSEAPRENDIZADO.pptx
Uma Introdução às Ciências do Alcorão (Islam)
COMO OS CONTOS DE FADAS REFLETEM ARQUÉTIPOS_MEDOS E DESEJOS DO INCONSCIENTE H...
Reino Monera e Protista: representantes e caracteristicas.pptx
Metabolismo_energético_3ano_pre_vest_2026.pdf
Ementa 2 semestre PEI Orientação de estudo
50 anos Hoje - Volume V - 1973 - Manaus Amazonas
HISTOLOGIA VEGETAL - tecidos vegetais.ppt
MENDEL - Aula sobre Mendel - Genética EM
ELEMENTOS E FUNÇÕES DE LINGUAGEM (EMOTIVA, REFERENCIAL, CONATIVA, POÉTICA, FÁ...
Filosofia Ocidental Antiga 2025 - versão atualizada
ESPELHOS DA ALMA A PSICOLOGIA POR TRÁS DOS CONTOS DE FADAS.pdf
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
disciplulado curso preparatorio para novos
INDÚSTRIA_ Histórico da industrialização.pptx
sistema reprodutor para turmas do oitavo ano
Trabalho Cidades sustentáveis ou Utopia.pptx
brasilcolnia2-101027184359-phpapp02.pptx
FLUXOGRAMA CLASSE lll - Acesso estritamente proximal.pdf
GESTÃO DA FASE PRÉ-ANALÍTICA- Recomendações da SBPC-ML (3).pdf
QuestõesENEMVESTIBULARPARAESTUDOSEAPRENDIZADO.pptx

TDD - Test Driven Development