SlideShare uma empresa Scribd logo
1 de 11
Its4Company
Its4Company
Desenvolvendo Softwares
Orientado à Testes
Thiago Lunardi | Arquiteto de Sistemas
Microsoft Certified Solution Developer
Microsoft Most Valuable Professional
Its4Company
Its4Company
O nome correto é TESTE DE UNIDADE, pois cada teste
irá testar uma unidade/recurso de um componete.
Chamar de TESTE UNITÁRIO, significa que havará
apenas um teste.
Fonte: Wikipedia
TESTE DE UNIDADE
Its4Company
TESTE DE UNIDADE
D E M O
Its4Company
TDD – TEST DRIVEN DEVELOPMENT
Its4Company
TDD – TEST DRIVEN DEVELOPMENT
• Uma metodologia de Test-First
Escreva um código de teste primeiro, e depois implemente-o;
• Te força a pensar sobre “Como usar um componente” antes
e depois “Como implementa-lo”;
• Te influencia tanto com técnicas de design de código,
quanto com técnicas de testes;
• Te força a criar uma documentação – executável – testável;
Its4Company
TDD – TEST DRIVEN DEVELOPMENT
• Nunca escreva uma única linha de teste, a não ser que você já
tenha falhado em um teste automatizado;
• Elimine duplicações
• RED: Teste falhou;
• GREEN: Teste passou, mas pq agora o código existe;
• REFACTOR: Elimintar duplicações, código limpo;
Its4Company
TESTE DE UNIDADE
D E M O
Its4Company
BDD – BEHAVIOR DRIVEN DESIGN
public class ComportamentoDoControladorDeJanela
{
@Test
public void DeveFecharJanelas()
{
// Dado que
var controlador = new ControladorDeJanela("Meu Quadro");
var quadro = new Quadro();
// Quando
controlador.FecharJanelas();
// Então
GarantirQue(!frame.estaAparecendo());
}
}
Its4Company

Mais conteúdo relacionado

Mais procurados

Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016Bruno Maomeh
 
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
 
Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014Elias Nogueira
 
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)Igor Abade
 
Testes: existe vida antes do TDD
Testes: existe vida antes do TDDTestes: existe vida antes do TDD
Testes: existe vida antes do TDDDiana Ungaro Arnos
 
Tente desenvolver diferente com TDD
Tente desenvolver diferente com TDDTente desenvolver diferente com TDD
Tente desenvolver diferente com TDDWebgoal
 
Por que você não escreve Testes Unitários?
Por que você não escreve Testes Unitários?Por que você não escreve Testes Unitários?
Por que você não escreve Testes Unitários?Alex Tercete
 
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
 
A importância dos Testes no Devops
A importância dos Testes no DevopsA importância dos Testes no Devops
A importância dos Testes no DevopsElias Nogueira
 
Femug #9 iniciando com testes em node js!
Femug #9   iniciando com testes em node js!Femug #9   iniciando com testes em node js!
Femug #9 iniciando com testes em node js!Leandro Nishijima
 
PHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesPHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesDiana Ungaro Arnos
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilElias Nogueira
 
Robot Framework - principais características
Robot Framework - principais característicasRobot Framework - principais características
Robot Framework - principais característicasalinebiath
 
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDDPHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDDDiana Ungaro Arnos
 

Mais procurados (20)

Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016
 
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
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014
 
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
 
Testes: existe vida antes do TDD
Testes: existe vida antes do TDDTestes: existe vida antes do TDD
Testes: existe vida antes do TDD
 
Testing laravel
Testing laravelTesting laravel
Testing laravel
 
Tente desenvolver diferente com TDD
Tente desenvolver diferente com TDDTente desenvolver diferente com TDD
Tente desenvolver diferente com TDD
 
Por que você não escreve Testes Unitários?
Por que você não escreve Testes Unitários?Por que você não escreve Testes Unitários?
Por que você não escreve Testes Unitários?
 
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
 
A importância dos Testes no Devops
A importância dos Testes no DevopsA importância dos Testes no Devops
A importância dos Testes no Devops
 
Femug #9 iniciando com testes em node js!
Femug #9   iniciando com testes em node js!Femug #9   iniciando com testes em node js!
Femug #9 iniciando com testes em node js!
 
Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
 
PHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesPHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de Testes
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira Ágil
 
Robot Framework - principais características
Robot Framework - principais característicasRobot Framework - principais características
Robot Framework - principais características
 
Palestra TDD Javou! #08 2016
Palestra TDD Javou! #08 2016Palestra TDD Javou! #08 2016
Palestra TDD Javou! #08 2016
 
Testes unitários e Mocks
Testes unitários e MocksTestes unitários e Mocks
Testes unitários e Mocks
 
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDDPHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
 

Semelhante a tdd desenvolvimento orientado teste

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
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesCamilo Ribeiro
 
Introdução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosIntrodução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosDionatan default
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de UnidadeAline Ferreira
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Diego Pacheco
 
Desenvolvimento Orientado a Testes
Desenvolvimento Orientado a TestesDesenvolvimento Orientado a Testes
Desenvolvimento Orientado a TestesAndre Carlucci
 
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
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 
Testes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasTestes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasWordCamp Floripa
 
TDD com Código Legado
TDD com Código LegadoTDD com Código Legado
TDD com Código LegadoCesar Romero
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27Hélio Medeiros
 
Desenvolvimento orientado a testes - TDD
Desenvolvimento orientado a testes - TDDDesenvolvimento orientado a testes - TDD
Desenvolvimento orientado a testes - TDDwashingtonlslima
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentOtavio Augusto
 
TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação Icaro Camelo
 
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHPPHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHPMarcelo Rodrigues
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Developer Academy
 

Semelhante a tdd desenvolvimento orientado teste (20)

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
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
 
Introdução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosIntrodução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anos
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de Unidade
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1
 
Desenvolvimento Orientado a Testes
Desenvolvimento Orientado a TestesDesenvolvimento Orientado a Testes
Desenvolvimento Orientado a Testes
 
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
 
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
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
Testes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasTestes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio Nas
 
TDD com Código Legado
TDD com Código LegadoTDD com Código Legado
TDD com Código Legado
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27
 
Tdd x testes unidades
Tdd x testes unidadesTdd x testes unidades
Tdd x testes unidades
 
Desenvolvimento orientado a testes - TDD
Desenvolvimento orientado a testes - TDDDesenvolvimento orientado a testes - TDD
Desenvolvimento orientado a testes - TDD
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação
 
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHPPHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
 
Teste Driven Development
Teste Driven DevelopmentTeste Driven Development
Teste Driven Development
 

Mais de Thiago Lunardi

Microsoft Azure Media Services
Microsoft Azure Media ServicesMicrosoft Azure Media Services
Microsoft Azure Media ServicesThiago Lunardi
 
Push Notifications com Azure Notification Hub
Push Notifications com Azure Notification HubPush Notifications com Azure Notification Hub
Push Notifications com Azure Notification HubThiago Lunardi
 
Azure Api App e Logic App
Azure Api App e Logic AppAzure Api App e Logic App
Azure Api App e Logic AppThiago Lunardi
 
Microsoft Azure App Services
Microsoft Azure App ServicesMicrosoft Azure App Services
Microsoft Azure App ServicesThiago Lunardi
 
DevBrasil Open Day 2013 - Desenvolvimento para Windows Phone 8
DevBrasil Open Day 2013 - Desenvolvimento para Windows Phone 8DevBrasil Open Day 2013 - Desenvolvimento para Windows Phone 8
DevBrasil Open Day 2013 - Desenvolvimento para Windows Phone 8Thiago Lunardi
 
DevBrasil Open Day 2014 - Azure API Management
DevBrasil Open Day 2014 - Azure API ManagementDevBrasil Open Day 2014 - Azure API Management
DevBrasil Open Day 2014 - Azure API ManagementThiago Lunardi
 
Visual Studio Summit 2014 - Portable Class Library
Visual Studio Summit 2014 - Portable Class LibraryVisual Studio Summit 2014 - Portable Class Library
Visual Studio Summit 2014 - Portable Class LibraryThiago Lunardi
 
Visual Studio Summit 2013 - Windows Phone 8 Company Hub
Visual Studio Summit 2013 - Windows Phone 8 Company HubVisual Studio Summit 2013 - Windows Phone 8 Company Hub
Visual Studio Summit 2013 - Windows Phone 8 Company HubThiago Lunardi
 

Mais de Thiago Lunardi (10)

SOLID Principles
SOLID PrinciplesSOLID Principles
SOLID Principles
 
Visão geral Scrum
Visão geral ScrumVisão geral Scrum
Visão geral Scrum
 
Microsoft Azure Media Services
Microsoft Azure Media ServicesMicrosoft Azure Media Services
Microsoft Azure Media Services
 
Push Notifications com Azure Notification Hub
Push Notifications com Azure Notification HubPush Notifications com Azure Notification Hub
Push Notifications com Azure Notification Hub
 
Azure Api App e Logic App
Azure Api App e Logic AppAzure Api App e Logic App
Azure Api App e Logic App
 
Microsoft Azure App Services
Microsoft Azure App ServicesMicrosoft Azure App Services
Microsoft Azure App Services
 
DevBrasil Open Day 2013 - Desenvolvimento para Windows Phone 8
DevBrasil Open Day 2013 - Desenvolvimento para Windows Phone 8DevBrasil Open Day 2013 - Desenvolvimento para Windows Phone 8
DevBrasil Open Day 2013 - Desenvolvimento para Windows Phone 8
 
DevBrasil Open Day 2014 - Azure API Management
DevBrasil Open Day 2014 - Azure API ManagementDevBrasil Open Day 2014 - Azure API Management
DevBrasil Open Day 2014 - Azure API Management
 
Visual Studio Summit 2014 - Portable Class Library
Visual Studio Summit 2014 - Portable Class LibraryVisual Studio Summit 2014 - Portable Class Library
Visual Studio Summit 2014 - Portable Class Library
 
Visual Studio Summit 2013 - Windows Phone 8 Company Hub
Visual Studio Summit 2013 - Windows Phone 8 Company HubVisual Studio Summit 2013 - Windows Phone 8 Company Hub
Visual Studio Summit 2013 - Windows Phone 8 Company Hub
 

tdd desenvolvimento orientado teste

  • 2. Its4Company Desenvolvendo Softwares Orientado à Testes Thiago Lunardi | Arquiteto de Sistemas Microsoft Certified Solution Developer Microsoft Most Valuable Professional
  • 4. Its4Company O nome correto é TESTE DE UNIDADE, pois cada teste irá testar uma unidade/recurso de um componete. Chamar de TESTE UNITÁRIO, significa que havará apenas um teste. Fonte: Wikipedia TESTE DE UNIDADE
  • 6. Its4Company TDD – TEST DRIVEN DEVELOPMENT
  • 7. Its4Company TDD – TEST DRIVEN DEVELOPMENT • Uma metodologia de Test-First Escreva um código de teste primeiro, e depois implemente-o; • Te força a pensar sobre “Como usar um componente” antes e depois “Como implementa-lo”; • Te influencia tanto com técnicas de design de código, quanto com técnicas de testes; • Te força a criar uma documentação – executável – testável;
  • 8. Its4Company TDD – TEST DRIVEN DEVELOPMENT • Nunca escreva uma única linha de teste, a não ser que você já tenha falhado em um teste automatizado; • Elimine duplicações • RED: Teste falhou; • GREEN: Teste passou, mas pq agora o código existe; • REFACTOR: Elimintar duplicações, código limpo;
  • 10. Its4Company BDD – BEHAVIOR DRIVEN DESIGN public class ComportamentoDoControladorDeJanela { @Test public void DeveFecharJanelas() { // Dado que var controlador = new ControladorDeJanela("Meu Quadro"); var quadro = new Quadro(); // Quando controlador.FecharJanelas(); // Então GarantirQue(!frame.estaAparecendo()); } }