Test Driven Development (TDD) Carlos Morais Desenvolvimento Dirigido por Testes.

Slides:



Advertisements
Apresentações semelhantes
Behaviour-Driven Development em Ruby
Advertisements

OS DEZ PRINCÍPIOS DA QUALIDADE TOTAL.
SISTEMAS EMBARCADOS I UNIDADE 7 – CONVERSOR A/D TURMA: 7º Período DISCIPLINA: Sistemas Embarcados I PROFESSOR: Pedro Pacheco Bacheti
Desenvolvimento Dirigido por Testes (TDD) Cursos de Verão Hugo Corbucci.
Desenvolvimento Dirigido por Testes (TDD) Cursos de Verão Mariana Bravo.
1 / AgileBrazil 2011 Melhorando a Qualidade dos Códigos de Teste Maurício Eduardo
Testes de Unidade Paulo Cheque 10/02/2009 Verão 2009.
A MUDAN Ç A NO AMBIENTE DOS NEG Ó CIOS. O RESPONS Á VEL PELA Á REA DO MEIO AMBIENTE A expectativa da Alta administra ç ão é de que o respons á vel pela.
RELAÇÕES INTERPESSOAIS E ADMINISTRAÇÃO DE CONFLITOS PEDAGOGIA º SEMESTRE PROFESSOR: CARLOS EDUARDO RODRIGUES.
Treinamento. 1. Estrutura de Acesso Estrutura de Acesso.
O sistema circulatório do corpo humano Jogar Professora Ana Claudia Wolff Ciências 5ºano.

Prof. Anderson Terroso Março/2017
Desenvolvimento Dirigido por Testes (TDD)
RDC nº 36/2015 Caracterização de amostras e estudos de estabilidade para transporte Juliana Costa Curta GERÊNCIA DE PRODUTOS PARA DIAGNÓSTICO IN VITRO.
AKKA.
Algoritmo e Lógica Programação Modularização: Funções e Subalgoritmos
IX ELAVIO FABIANA SIMÕES E SILVA ORIENTADORA: VITÓRIA PUREZA
Probabilidade e Estatística Aplicadas à Contabilidade I
Módulo I Capítulo 2: IDE e Variáveis
TQS - Teste e Qualidade de Software (Software Testing and Quality) Teste Envolvendo Acesso a Bases de Dados João Pascoal.
Sistema Automatizado de Hospedagem de Sites
Power teams.
Sistemas Prof. Luis S. B. Marques MINISTÉRIO DA EDUCAÇÃO
Resultados e discussão
Histórias do Cliente Cliente Equipe do Cliente
Redes de computadores I
Conflitos interpessoais e a dinâmica da negociação
Classes e Objetos Aula 11/08/2014.
Testes e Qualidade de Software
Trabalho de Administração de Empresas
Workshop Agile tdd - Test Driven development
Arquitetura de Computadores
Análise de Algoritmo Profº Me. Jeferson Bussula Pinheiro
IP – Repetições Prof. Eduardo Falcão.
Programação Orientada a Objetos
Python: Conjuntos Claudio Esperança.
Programação para Internet Rica
Engenharia de Software Analise de Riscos
Arranjo Físico Celular
INTRODUÇÃO AS REDES NEURAIS
Remote Method Invocation
RESPOSTAS A INCIDENTES E PLANO DE CONTINUIDADE DE NEGÓCIOS
Aula 08 – CMMI® versus PMBOK
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 8
As estratégias que empoderam a Igreja no Lar
aula 05 Métodos de controle de acesso
TÍTULO (FONTE 54) Autor(es) (48) Instituição (44) (44)
Prof. Artur Aula Introdutória
Conflitos interpessoais e a dinâmica da negociação
elaboração de plano de ação
Autores e Instituições de contato
Capítulo 8 Seleção da amostra. Capítulo 8 Seleção da amostra.
Acessibilidade, Usabilidade e Navegabilidade
Trabalho de Conclusão de Curso I
¹Autor. ²Autor 3Autor ;4Autor; RESULTADOS E DISCUSSÕES
Filas Prof. Kariston Pereira
Teoria das restrições em redes de operações
Manuais Administrativos
Eury Motta – Gerente de Qualidade
GRUPO DE TRABALHO XXXXXXXX
Teste de Software 04: Que parte devo testar?
Rafael Duarte Alexandre Mota [rmd,
Metodologia Científica e Tecnológica
REFERÊNCIAS BIBLIOGRÁFICAS
Engenharia de Software: Visão Geral Simone do Rocio Senger de Souza
Redes Neurais Treinamento de MLP.
Leonardo M G Gallardo Trilha: DevTest
Modelagem de Markov.
Logo da Unidade Acadêmica
Transcrição da apresentação:

Test Driven Development (TDD) Carlos Morais Desenvolvimento Dirigido por Testes

3 Leis do TDD Não implementar nada sem ter um teste falhando

3 Leis do TDD Não implementar nada sem ter um teste falhando Não escrever mais código de teste do que o suficiente para falhar

3 Leis do TDD Não implementar nada sem ter um teste falhando Não escrever mais código de teste do que o suficiente para falhar Não implementar nada além do suficiente para fazer os testes passarem

Ciclo do TDD

Testes devem ser Rápidos(Fast)

Testes devem ser Rápidos(Fast) Independentes (Independent)

Testes devem ser Rápidos(Fast) Independentes (Independent) Repetíveis (Repeatable)

Testes devem ser Rápidos(Fast) Independentes (Independent) Repetíveis (Repeatable) Auto-validáveis(Self- validating)

Testes devem ser Rápidos(Fast) Independentes (Independent) Repetíveis (Repeatable) Auto-validáveis(Self- validating) Oportunos(Timely)

Testes devem ser F Rápidos(Fast) I Independentes (Independent) R Repetíveis (Repeatable) S Auto-validáveis(Self- validating) T Oportunos(Timely)

Níveis de teste Aceitação Sistema como um todo funciona?

Níveis de teste Aceitação Sistema como um todo funciona? Integração Se comunica bem com sua vizinhança?

Níveis de teste Aceitação Sistema como um todo funciona? Integração Se comunica bem com sua vizinhança? Unidade Os objetos funcionam bem e são fáceis de manipular?

Feedback sobre qualidade

Ciclo estendido

Por que dublês? Objetos reais podem: Ser lentos

Por que dublês? Objetos reais podem: Ser lentos Gerar resultados não-determinísticos

Por que dublês? Objetos reais podem: Ser lentos Gerar resultados não-determinísticos Ter estados difíceis de reproduzir

Por que dublês? Objetos reais podem: Ser lentos Gerar resultados não-determinísticos Ter estados difíceis de reproduzir Produzir efeitos indesejáveis

Por que dublês? Objetos reais podem: Ser lentos Gerar resultados não-determinísticos Ter estados difíceis de reproduzir Produzir efeitos indesejáveis Precisar de muitas informações apenas para prepará-los para os testes

Por que dublês? Objetos reais podem: Ser lentos Gerar resultados não-determinísticos Ter estados difíceis de reproduzir Produzir efeitos indesejáveis Precisar de muitas informações apenas para prepará-los para os testes Ainda não existir

Tipos de dublê Dummy Nunca são chamados, preenchem lista de parâmetros.

Tipos de dublê Dummy Nunca são chamados, preenchem lista de parâmetros. Stub Alimenta sistema com entradas desejadas.

Tipos de dublê Dummy Nunca são chamados, preenchem lista de parâmetros. Stub Alimenta sistema com entradas desejadas. Fake Possuem implementação mais simples que objeto real.

Tipos de dublê Dummy Nunca são chamados, preenchem lista de parâmetros. Stub Alimenta sistema com entradas desejadas. Fake Possuem implementação mais simples que objeto real. Spy Proxy para objeto real que registra as chamadas.

Tipos de dublê Dummy Nunca são chamados, preenchem lista de parâmetros. Stub Alimenta sistema com entradas desejadas. Fake Possuem implementação mais simples que objeto real. Spy Proxy para objeto real que registra as chamadas. Mock Recebe expectativas e valida as chamadas recebidas.

Referências