SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
Desenvolvimento Guiado por Testes Test-Driven Development (TDD) Guilherme Chapiewski http://gc.blog.br
O que é TDD?
Regras fundamentais do TDD: ,[object Object],[object Object],[object Object],[object Object]
Ciclo do desenvolvimento com TDD: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Motivação
Motivações para adoção de TDD: ,[object Object],[object Object],[object Object],[object Object],[object Object]
Conceitos
Tipos de testes: ,[object Object],[object Object],[object Object]
1. Testes Unitários: ,[object Object],[object Object],[object Object],[object Object]
2. Testes de Integração: ,[object Object],[object Object],[object Object],[object Object]
3. Testes de Aceitação: ,[object Object],[object Object],[object Object],[object Object]
Demonstração
1. Definção da interface:
2. Criação do teste:
3. Execução do teste: (deve falhar pois sequer há implementação)‏
4. Criação da classe de implementação: (somente o esqueleto da classe retornando sempre o mesmo resultado)‏
5. Execução do teste: (falhou porque a implementação desenvolvida sempre retorna FALSE)‏
6. Programação do método:
7. Execução do teste: (teste passou: 100% de certeza que o código funciona!!!)‏
8. Refactoring:
9. Execução do teste: (teste falhou por distração do programador: não verificou se cep é nulo!!!)‏
10. Corrigindo o refactor:
11. Execução do teste: (teste passou: temos 100% de certeza que o código CONTINUA funcionando e que nenhum componente que depende deste código quebrou após o refactor)‏
Consequências
Consequências: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Consequências: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Consequências: ,[object Object]
Consequências: ,[object Object]
Conclusões
Conclusões: ,[object Object],[object Object],[object Object],[object Object]
Conclusões: ,[object Object]
Conclusões: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Leitura complemetar: ,[object Object],[object Object],[object Object],[object Object],[object Object]
Obrigado! Guilherme Chapiewski http://gc.blog.br

Weitere ähnliche Inhalte

Was ist angesagt?

Desenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosDesenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosVitor Silva
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitDomingos Teruel
 
Selenium
SeleniumSelenium
Seleniumfatec
 
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software ÁgilTDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software ÁgilBruno Eustáquio
 
Testes de Unidade, por que você deve começar a fazer? - Javaneiros
Testes de Unidade, por que você deve começar a fazer? - JavaneirosTestes de Unidade, por que você deve começar a fazer? - Javaneiros
Testes de Unidade, por que você deve começar a fazer? - JavaneirosRenan Siravegna
 
Zend Framework Estrutura e TDD
Zend Framework Estrutura e TDDZend Framework Estrutura e TDD
Zend Framework Estrutura e TDDPHP Day Curitiba
 
Como aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipeComo aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipeWende Mendes
 
Teste de aplicações web com selenium
Teste de aplicações web com seleniumTeste de aplicações web com selenium
Teste de aplicações web com seleniumMayron Cachina
 
Como criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressComo criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressWalmyr Lima e Silva Filho
 
Tester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoTester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoLeonardo Galani
 
Cloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureCloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureGrupo de Testes Carioca
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosIgor Abade
 
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvemMinas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvemStefan Teixeira
 
QA Ninja Conf - Testes Exploratórios Orientados a Sessões
QA Ninja Conf - Testes Exploratórios Orientados a SessõesQA Ninja Conf - Testes Exploratórios Orientados a Sessões
QA Ninja Conf - Testes Exploratórios Orientados a SessõesThiago Boschese
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeKamilla Queiroz Xavier
 

Was ist angesagt? (20)

Desenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosDesenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes Unitários
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnit
 
Selenium
SeleniumSelenium
Selenium
 
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software ÁgilTDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
 
Testes de Unidade, por que você deve começar a fazer? - Javaneiros
Testes de Unidade, por que você deve começar a fazer? - JavaneirosTestes de Unidade, por que você deve começar a fazer? - Javaneiros
Testes de Unidade, por que você deve começar a fazer? - Javaneiros
 
Zend Framework Estrutura e TDD
Zend Framework Estrutura e TDDZend Framework Estrutura e TDD
Zend Framework Estrutura e TDD
 
Como aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipeComo aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipe
 
Teste de aplicações web com selenium
Teste de aplicações web com seleniumTeste de aplicações web com selenium
Teste de aplicações web com selenium
 
Como criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressComo criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com Cypress
 
Selenium
SeleniumSelenium
Selenium
 
Tester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoTester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitido
 
Cloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureCloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows Azure
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidos
 
JUnit Sample
JUnit SampleJUnit Sample
JUnit Sample
 
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvemMinas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
 
QA Ninja Conf - Testes Exploratórios Orientados a Sessões
QA Ninja Conf - Testes Exploratórios Orientados a SessõesQA Ninja Conf - Testes Exploratórios Orientados a Sessões
QA Ninja Conf - Testes Exploratórios Orientados a Sessões
 
Testes unitários e Mocks
Testes unitários e MocksTestes unitários e Mocks
Testes unitários e Mocks
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a Qualidade
 
Selenium: visão geral
Selenium: visão geralSelenium: visão geral
Selenium: visão geral
 
Testes Automatizados No Cakephp
Testes Automatizados No CakephpTestes Automatizados No Cakephp
Testes Automatizados No Cakephp
 

Andere mochten auch

Lição 5 - Relacionamento com Pessoas Difíceis - 4 Trimestre 2015 - CPAD
Lição 5 - Relacionamento com Pessoas Difíceis - 4 Trimestre 2015 - CPAD Lição 5 - Relacionamento com Pessoas Difíceis - 4 Trimestre 2015 - CPAD
Lição 5 - Relacionamento com Pessoas Difíceis - 4 Trimestre 2015 - CPAD ProCarreira
 
11/09/2014 - Palestra "Gestão Estratégica de Pessoas" (Sudoexpo 2014, Rio Verde)
11/09/2014 - Palestra "Gestão Estratégica de Pessoas" (Sudoexpo 2014, Rio Verde)11/09/2014 - Palestra "Gestão Estratégica de Pessoas" (Sudoexpo 2014, Rio Verde)
11/09/2014 - Palestra "Gestão Estratégica de Pessoas" (Sudoexpo 2014, Rio Verde)EMPZ Educação e Serviços
 
Gestão para Pessoas e Equipes
Gestão para Pessoas e EquipesGestão para Pessoas e Equipes
Gestão para Pessoas e EquipesInstituto Haddad
 
Framework - Estrategia Empresarial
Framework - Estrategia EmpresarialFramework - Estrategia Empresarial
Framework - Estrategia EmpresarialPaulo Cunha
 
Palestra gestão do relacionamento digital - fal - 19052010
Palestra  gestão do relacionamento digital - fal - 19052010Palestra  gestão do relacionamento digital - fal - 19052010
Palestra gestão do relacionamento digital - fal - 19052010Thiago Avila, Msc
 
O assedio moral nas relações de trabalho
O assedio moral nas relações de trabalhoO assedio moral nas relações de trabalho
O assedio moral nas relações de trabalhodesandres
 
Treinamento FGV Comunicação, Gestão do Tempo, Relacionamento e Endomarketing
Treinamento FGV Comunicação, Gestão do Tempo, Relacionamento e EndomarketingTreinamento FGV Comunicação, Gestão do Tempo, Relacionamento e Endomarketing
Treinamento FGV Comunicação, Gestão do Tempo, Relacionamento e EndomarketingEduardo Maróstica
 
Liderança servidora e os Desafios da Motivação em Grupo
Liderança servidora e os Desafios da Motivação em GrupoLiderança servidora e os Desafios da Motivação em Grupo
Liderança servidora e os Desafios da Motivação em GrupoRafael Barbosa Camargo
 
A convivência humana cap 2
A convivência humana cap 2A convivência humana cap 2
A convivência humana cap 2Silvia Cintra
 
A convivência humana
A convivência humanaA convivência humana
A convivência humanaIsaquel Silva
 
As relações nos grupos e equipes de trabalho
As relações nos grupos e equipes de trabalhoAs relações nos grupos e equipes de trabalho
As relações nos grupos e equipes de trabalhoNadia Santana
 
Grupos e Equipas de trabalho (RH)
Grupos e Equipas de trabalho (RH)Grupos e Equipas de trabalho (RH)
Grupos e Equipas de trabalho (RH)Nicole Fernandes
 
Desafios e convivencia
Desafios e convivenciaDesafios e convivencia
Desafios e convivenciacarlos freire
 
Gestão De Equipas
Gestão De EquipasGestão De Equipas
Gestão De EquipasDaniel Lopes
 
1. DinâMica De Grupo
1. DinâMica De Grupo1. DinâMica De Grupo
1. DinâMica De Grupomari2010
 
Relações Interpessoais: Trabalho em Equipe
Relações Interpessoais: Trabalho em EquipeRelações Interpessoais: Trabalho em Equipe
Relações Interpessoais: Trabalho em EquipeRosangella Bermanelly
 
Relações interpessoais na organização e gestão de conflitos
Relações interpessoais na organização e gestão de conflitosRelações interpessoais na organização e gestão de conflitos
Relações interpessoais na organização e gestão de conflitosJanaina Becker
 
Relações Interpessoais 4
Relações Interpessoais 4Relações Interpessoais 4
Relações Interpessoais 4Jorge Barbosa
 

Andere mochten auch (20)

A arte dos relacionamentos1
A arte dos relacionamentos1A arte dos relacionamentos1
A arte dos relacionamentos1
 
Lição 5 - Relacionamento com Pessoas Difíceis - 4 Trimestre 2015 - CPAD
Lição 5 - Relacionamento com Pessoas Difíceis - 4 Trimestre 2015 - CPAD Lição 5 - Relacionamento com Pessoas Difíceis - 4 Trimestre 2015 - CPAD
Lição 5 - Relacionamento com Pessoas Difíceis - 4 Trimestre 2015 - CPAD
 
11/09/2014 - Palestra "Gestão Estratégica de Pessoas" (Sudoexpo 2014, Rio Verde)
11/09/2014 - Palestra "Gestão Estratégica de Pessoas" (Sudoexpo 2014, Rio Verde)11/09/2014 - Palestra "Gestão Estratégica de Pessoas" (Sudoexpo 2014, Rio Verde)
11/09/2014 - Palestra "Gestão Estratégica de Pessoas" (Sudoexpo 2014, Rio Verde)
 
Gestão para Pessoas e Equipes
Gestão para Pessoas e EquipesGestão para Pessoas e Equipes
Gestão para Pessoas e Equipes
 
Framework - Estrategia Empresarial
Framework - Estrategia EmpresarialFramework - Estrategia Empresarial
Framework - Estrategia Empresarial
 
Liderando Equipes Ágeis
Liderando Equipes ÁgeisLiderando Equipes Ágeis
Liderando Equipes Ágeis
 
Palestra gestão do relacionamento digital - fal - 19052010
Palestra  gestão do relacionamento digital - fal - 19052010Palestra  gestão do relacionamento digital - fal - 19052010
Palestra gestão do relacionamento digital - fal - 19052010
 
O assedio moral nas relações de trabalho
O assedio moral nas relações de trabalhoO assedio moral nas relações de trabalho
O assedio moral nas relações de trabalho
 
Treinamento FGV Comunicação, Gestão do Tempo, Relacionamento e Endomarketing
Treinamento FGV Comunicação, Gestão do Tempo, Relacionamento e EndomarketingTreinamento FGV Comunicação, Gestão do Tempo, Relacionamento e Endomarketing
Treinamento FGV Comunicação, Gestão do Tempo, Relacionamento e Endomarketing
 
Liderança servidora e os Desafios da Motivação em Grupo
Liderança servidora e os Desafios da Motivação em GrupoLiderança servidora e os Desafios da Motivação em Grupo
Liderança servidora e os Desafios da Motivação em Grupo
 
A convivência humana cap 2
A convivência humana cap 2A convivência humana cap 2
A convivência humana cap 2
 
A convivência humana
A convivência humanaA convivência humana
A convivência humana
 
As relações nos grupos e equipes de trabalho
As relações nos grupos e equipes de trabalhoAs relações nos grupos e equipes de trabalho
As relações nos grupos e equipes de trabalho
 
Grupos e Equipas de trabalho (RH)
Grupos e Equipas de trabalho (RH)Grupos e Equipas de trabalho (RH)
Grupos e Equipas de trabalho (RH)
 
Desafios e convivencia
Desafios e convivenciaDesafios e convivencia
Desafios e convivencia
 
Gestão De Equipas
Gestão De EquipasGestão De Equipas
Gestão De Equipas
 
1. DinâMica De Grupo
1. DinâMica De Grupo1. DinâMica De Grupo
1. DinâMica De Grupo
 
Relações Interpessoais: Trabalho em Equipe
Relações Interpessoais: Trabalho em EquipeRelações Interpessoais: Trabalho em Equipe
Relações Interpessoais: Trabalho em Equipe
 
Relações interpessoais na organização e gestão de conflitos
Relações interpessoais na organização e gestão de conflitosRelações interpessoais na organização e gestão de conflitos
Relações interpessoais na organização e gestão de conflitos
 
Relações Interpessoais 4
Relações Interpessoais 4Relações Interpessoais 4
Relações Interpessoais 4
 

Ähnlich wie TDD: Test-Driven Development

Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesCamilo Ribeiro
 
Os Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareOs Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareDextra Sistemas / Etec Itu
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Diego Pacheco
 
Final Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applicationsFinal Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applicationsLuiz Henrique
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de UnidadeAline Ferreira
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptxCarlos Gonzaga
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)Renato Groff
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junitcejug
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netRenato Groff
 
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaAutomação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaGabriela Patuci
 
Desenvolvimento Orientado a Testes
Desenvolvimento Orientado a TestesDesenvolvimento Orientado a Testes
Desenvolvimento Orientado a TestesAndre Carlucci
 

Ähnlich wie TDD: Test-Driven Development (20)

TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
 
TDD
TDDTDD
TDD
 
Os Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareOs Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de software
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1
 
Final Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applicationsFinal Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applications
 
TDD na Prática
TDD na PráticaTDD na Prática
TDD na Prática
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de Unidade
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junit
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 
TDD
TDDTDD
TDD
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.net
 
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaAutomação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
 
Tdd x testes unidades
Tdd x testes unidadesTdd x testes unidades
Tdd x testes unidades
 
Instituto Stela S&T#001, Projeto de software com testes unitários
Instituto Stela S&T#001, Projeto de software com testes unitáriosInstituto Stela S&T#001, Projeto de software com testes unitários
Instituto Stela S&T#001, Projeto de software com testes unitários
 
Teste automatizados e tdd
Teste automatizados e tddTeste automatizados e tdd
Teste automatizados e tdd
 
Desenvolvimento Orientado a Testes
Desenvolvimento Orientado a TestesDesenvolvimento Orientado a Testes
Desenvolvimento Orientado a Testes
 
Teste Driven Development
Teste Driven DevelopmentTeste Driven Development
Teste Driven Development
 

TDD: Test-Driven Development