SlideShare uma empresa Scribd logo
1 de 17
TDD em JavaScript, rola?
@RenanSiravegna
Test Driven Development
Por que praticar? 
• Garantir que o sistema funciona 
• Encontrar bugs 
• Simplicidade e qualidade de código 
• Foco 
• Feedback!
Como testar em JavaScript? 
http://jasmine.github.io/
Testando um 
comportamento 
https://github.com/renansiravegna/ExemplosPalestra 
TddComJS/tree/master/exemplo_1
Testando manipulações 
em tela 
https://github.com/renansiravegna/ExemplosPalestra 
TddComJS/tree/master/exemplo_2
Testando coisas async 
https://github.com/renansiravegna/ExemplosPalestra 
TddComJS/tree/master/exemplo_3
E o famoso $.ajax() ? 
https://github.com/renansiravegna/ExemplosPalestra 
TddComJS/tree/master/exemplo_4
Test Doubles 
https://github.com/renansiravegna/ExemplosPalestra 
TddComJS/tree/master/exemplo_5
Test Doubles 
• Dummy 
• Fake 
• Stubs 
• Spies 
• Mocks
Testando funções 
nativas
Testando em vários 
navegadores
Até onde testar?
Leituras 
recomendadas-obrigatórias
Obrigado!!! 
@RenanSiravegna

Mais conteúdo relacionado

Mais procurados

Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker ComposeScrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker ComposeStefan Teixeira
 
Ideais Cowabunga - Headless Testing com GhostDriver
Ideais Cowabunga - Headless Testing com GhostDriverIdeais Cowabunga - Headless Testing com GhostDriver
Ideais Cowabunga - Headless Testing com GhostDriverStefan Teixeira
 
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
 
In tests we trust: começando com TDD, mocks e mais
In tests we trust: começando com TDD, mocks e maisIn tests we trust: começando com TDD, mocks e mais
In tests we trust: começando com TDD, mocks e maisAna Paula Gomes
 
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidadeTDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidadeStefan Teixeira
 
Agile Brazil 2014 - Visual Regression Testing com PhantomCSS
Agile Brazil 2014 - Visual Regression Testing com PhantomCSSAgile Brazil 2014 - Visual Regression Testing com PhantomCSS
Agile Brazil 2014 - Visual Regression Testing com PhantomCSSStefan Teixeira
 
Mtc docker - utilizando no seu dia a dia
Mtc   docker - utilizando no seu dia a diaMtc   docker - utilizando no seu dia a dia
Mtc docker - utilizando no seu dia a diaRafael Chiavegatto
 
Teste cabra da peste
Teste cabra da pesteTeste cabra da peste
Teste cabra da pesteMichele Silva
 
[Curso Java Básico] Aula 06: Passando argumentos para o programa
[Curso Java Básico] Aula 06: Passando argumentos para o programa[Curso Java Básico] Aula 06: Passando argumentos para o programa
[Curso Java Básico] Aula 06: Passando argumentos para o programaLoiane Groner
 
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
 
Django - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em pythonDjango - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em pythonPaula Grangeiro
 
Testes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de códigoTestes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de códigoPaula Grangeiro
 
Minas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com LocustMinas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com LocustStefan Teixeira
 
VR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de TestesVR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de TestesStefan Teixeira
 
Meetup DevOps Carioca - Testes de Carga com Locust
Meetup DevOps Carioca - Testes de Carga com LocustMeetup DevOps Carioca - Testes de Carga com Locust
Meetup DevOps Carioca - Testes de Carga com LocustStefan Teixeira
 
Testes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de códigoTestes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de códigoPaula Grangeiro
 

Mais procurados (18)

Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker ComposeScrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
 
Ideais Cowabunga - Headless Testing com GhostDriver
Ideais Cowabunga - Headless Testing com GhostDriverIdeais Cowabunga - Headless Testing com GhostDriver
Ideais Cowabunga - Headless Testing com GhostDriver
 
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
 
In tests we trust: começando com TDD, mocks e mais
In tests we trust: começando com TDD, mocks e maisIn tests we trust: começando com TDD, mocks e mais
In tests we trust: começando com TDD, mocks e mais
 
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidadeTDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
 
Agile Brazil 2014 - Visual Regression Testing com PhantomCSS
Agile Brazil 2014 - Visual Regression Testing com PhantomCSSAgile Brazil 2014 - Visual Regression Testing com PhantomCSS
Agile Brazil 2014 - Visual Regression Testing com PhantomCSS
 
Mtc docker - utilizando no seu dia a dia
Mtc   docker - utilizando no seu dia a diaMtc   docker - utilizando no seu dia a dia
Mtc docker - utilizando no seu dia a dia
 
Teste cabra da peste
Teste cabra da pesteTeste cabra da peste
Teste cabra da peste
 
[Curso Java Básico] Aula 06: Passando argumentos para o programa
[Curso Java Básico] Aula 06: Passando argumentos para o programa[Curso Java Básico] Aula 06: Passando argumentos para o programa
[Curso Java Básico] Aula 06: Passando argumentos para o programa
 
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
 
Django - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em pythonDjango - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em python
 
Testes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de códigoTestes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de código
 
Pyramid - BDD em Python
Pyramid - BDD em PythonPyramid - BDD em Python
Pyramid - BDD em Python
 
Minas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com LocustMinas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com Locust
 
VR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de TestesVR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de Testes
 
Meetup DevOps Carioca - Testes de Carga com Locust
Meetup DevOps Carioca - Testes de Carga com LocustMeetup DevOps Carioca - Testes de Carga com Locust
Meetup DevOps Carioca - Testes de Carga com Locust
 
Testes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de códigoTestes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de código
 
Testes - Para que?
Testes - Para que?Testes - Para que?
Testes - Para que?
 

Destaque

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
 
Arquitetura front-end visando testabilidade e rápida reação a mudanças.
Arquitetura front-end visando testabilidade e rápida reação a mudanças.Arquitetura front-end visando testabilidade e rápida reação a mudanças.
Arquitetura front-end visando testabilidade e rápida reação a mudanças.Renan Siravegna
 
Agile brazil 2013: desconstruindo o mito da estimativa perfeita
Agile brazil 2013: desconstruindo o mito da estimativa perfeitaAgile brazil 2013: desconstruindo o mito da estimativa perfeita
Agile brazil 2013: desconstruindo o mito da estimativa perfeitaEduardo Peres
 
Pareamento entre Dev e P.O. - A receita do sucesso
Pareamento entre Dev e P.O. - A receita do sucessoPareamento entre Dev e P.O. - A receita do sucesso
Pareamento entre Dev e P.O. - A receita do sucessoRenan Siravegna
 
Teste de usabilidade na sprint; Entrega contínua de boas experiências [Scrum ...
Teste de usabilidade na sprint; Entrega contínua de boas experiências [Scrum ...Teste de usabilidade na sprint; Entrega contínua de boas experiências [Scrum ...
Teste de usabilidade na sprint; Entrega contínua de boas experiências [Scrum ...Glauber Lænder
 
ARTIKEL Tablets & Capsules Jan 2013
ARTIKEL Tablets & Capsules Jan 2013ARTIKEL Tablets & Capsules Jan 2013
ARTIKEL Tablets & Capsules Jan 2013Dr. Adrian J. Krahn
 
Perspectivas teóricas clase tres
Perspectivas teóricas clase tresPerspectivas teóricas clase tres
Perspectivas teóricas clase tresjuan_w
 
Comece a Emagrecer Hoje com Resultados Garantidos
Comece a Emagrecer Hoje com Resultados GarantidosComece a Emagrecer Hoje com Resultados Garantidos
Comece a Emagrecer Hoje com Resultados GarantidosMatheus Gomes
 
Fotos sensacionais de animais
Fotos sensacionais de animaisFotos sensacionais de animais
Fotos sensacionais de animaisSerginho Sucesso
 
Frequency Analysis of the Unsteady Surface Pressure from Yawed-Tandem Circula...
Frequency Analysis of the Unsteady Surface Pressure from Yawed-Tandem Circula...Frequency Analysis of the Unsteady Surface Pressure from Yawed-Tandem Circula...
Frequency Analysis of the Unsteady Surface Pressure from Yawed-Tandem Circula...Jesse MacArthur
 
Presentación1
Presentación1Presentación1
Presentación1Paula VC
 
Pintura: rastros, lastros no contemporaneo
Pintura: rastros, lastros no contemporaneoPintura: rastros, lastros no contemporaneo
Pintura: rastros, lastros no contemporaneoIpsun
 
PhD_thesis_Giorgio_Crasto
PhD_thesis_Giorgio_CrastoPhD_thesis_Giorgio_Crasto
PhD_thesis_Giorgio_CrastoGiorgio Crasto
 

Destaque (18)

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
 
Arquitetura front-end visando testabilidade e rápida reação a mudanças.
Arquitetura front-end visando testabilidade e rápida reação a mudanças.Arquitetura front-end visando testabilidade e rápida reação a mudanças.
Arquitetura front-end visando testabilidade e rápida reação a mudanças.
 
Agile brazil 2013: desconstruindo o mito da estimativa perfeita
Agile brazil 2013: desconstruindo o mito da estimativa perfeitaAgile brazil 2013: desconstruindo o mito da estimativa perfeita
Agile brazil 2013: desconstruindo o mito da estimativa perfeita
 
Pareamento entre Dev e P.O. - A receita do sucesso
Pareamento entre Dev e P.O. - A receita do sucessoPareamento entre Dev e P.O. - A receita do sucesso
Pareamento entre Dev e P.O. - A receita do sucesso
 
Teste de usabilidade na sprint; Entrega contínua de boas experiências [Scrum ...
Teste de usabilidade na sprint; Entrega contínua de boas experiências [Scrum ...Teste de usabilidade na sprint; Entrega contínua de boas experiências [Scrum ...
Teste de usabilidade na sprint; Entrega contínua de boas experiências [Scrum ...
 
ARTIKEL Tablets & Capsules Jan 2013
ARTIKEL Tablets & Capsules Jan 2013ARTIKEL Tablets & Capsules Jan 2013
ARTIKEL Tablets & Capsules Jan 2013
 
Perspectivas teóricas clase tres
Perspectivas teóricas clase tresPerspectivas teóricas clase tres
Perspectivas teóricas clase tres
 
Comece a Emagrecer Hoje com Resultados Garantidos
Comece a Emagrecer Hoje com Resultados GarantidosComece a Emagrecer Hoje com Resultados Garantidos
Comece a Emagrecer Hoje com Resultados Garantidos
 
O que é empreendedorismo digital
O que é empreendedorismo digitalO que é empreendedorismo digital
O que é empreendedorismo digital
 
Grupo 8
Grupo 8Grupo 8
Grupo 8
 
Fotos sensacionais de animais
Fotos sensacionais de animaisFotos sensacionais de animais
Fotos sensacionais de animais
 
Frequency Analysis of the Unsteady Surface Pressure from Yawed-Tandem Circula...
Frequency Analysis of the Unsteady Surface Pressure from Yawed-Tandem Circula...Frequency Analysis of the Unsteady Surface Pressure from Yawed-Tandem Circula...
Frequency Analysis of the Unsteady Surface Pressure from Yawed-Tandem Circula...
 
Google Docs - Foros Web
Google Docs - Foros WebGoogle Docs - Foros Web
Google Docs - Foros Web
 
Presentación1
Presentación1Presentación1
Presentación1
 
Pintura: rastros, lastros no contemporaneo
Pintura: rastros, lastros no contemporaneoPintura: rastros, lastros no contemporaneo
Pintura: rastros, lastros no contemporaneo
 
Matriz...
Matriz...Matriz...
Matriz...
 
Enfoques
EnfoquesEnfoques
Enfoques
 
PhD_thesis_Giorgio_Crasto
PhD_thesis_Giorgio_CrastoPhD_thesis_Giorgio_Crasto
PhD_thesis_Giorgio_Crasto
 

Semelhante a TDD em JavaScript, rola?

Praticando o Desapego: quando ignorar a dívida técnica
Praticando o Desapego: quando ignorar a dívida técnicaPraticando o Desapego: quando ignorar a dívida técnica
Praticando o Desapego: quando ignorar a dívida técnicaIvayr Farah Netto
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAThiago Cifani
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Railsismaelstahelin
 
Testes Unitários com JavaScript utilizando Jasmine Framework
Testes Unitários com JavaScript utilizando Jasmine FrameworkTestes Unitários com JavaScript utilizando Jasmine Framework
Testes Unitários com JavaScript utilizando Jasmine FrameworkYuri Adams
 
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
 
Ferramenta Flow - Análise estática de códigos javascript
Ferramenta Flow - Análise estática de códigos javascriptFerramenta Flow - Análise estática de códigos javascript
Ferramenta Flow - Análise estática de códigos javascriptRodrigo Ferreira
 
Testes Automatizados em Ruby on Rails
Testes Automatizados em Ruby on RailsTestes Automatizados em Ruby on Rails
Testes Automatizados em Ruby on RailsThiago Cifani
 
Android DevConference - Indo além com automação de testes de apps Android
Android DevConference - Indo além com automação de testes de apps AndroidAndroid DevConference - Indo além com automação de testes de apps Android
Android DevConference - Indo além com automação de testes de apps AndroidiMasters
 
Indo além com Automação de Testes de Apps Android
Indo além com Automação de Testes de Apps AndroidIndo além com Automação de Testes de Apps Android
Indo além com Automação de Testes de Apps AndroidEduardo Carrara de Araujo
 
performance em jQuery apps
performance em jQuery appsperformance em jQuery apps
performance em jQuery appsDavidson Fellipe
 
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTAutomação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTelliando dias
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliverySamanta Cicilia
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testeselliando dias
 
TDC2016SP - Trilha Banco de Dados
TDC2016SP - Trilha Banco de DadosTDC2016SP - Trilha Banco de Dados
TDC2016SP - Trilha Banco de Dadostdc-globalcode
 
Voce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraVoce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraCDS
 
Android: testes automatizados e TDD
Android: testes automatizados e TDDAndroid: testes automatizados e TDD
Android: testes automatizados e TDDDextra
 
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
 
Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?Bernardo Fontes
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsSamanta Cicilia
 

Semelhante a TDD em JavaScript, rola? (20)

Praticando o Desapego: quando ignorar a dívida técnica
Praticando o Desapego: quando ignorar a dívida técnicaPraticando o Desapego: quando ignorar a dívida técnica
Praticando o Desapego: quando ignorar a dívida técnica
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Rails
 
Testes Unitários com JavaScript utilizando Jasmine Framework
Testes Unitários com JavaScript utilizando Jasmine FrameworkTestes Unitários com JavaScript utilizando Jasmine Framework
Testes Unitários com JavaScript utilizando Jasmine Framework
 
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
 
Ferramenta Flow - Análise estática de códigos javascript
Ferramenta Flow - Análise estática de códigos javascriptFerramenta Flow - Análise estática de códigos javascript
Ferramenta Flow - Análise estática de códigos javascript
 
Testes Automatizados em Ruby on Rails
Testes Automatizados em Ruby on RailsTestes Automatizados em Ruby on Rails
Testes Automatizados em Ruby on Rails
 
Android DevConference - Indo além com automação de testes de apps Android
Android DevConference - Indo além com automação de testes de apps AndroidAndroid DevConference - Indo além com automação de testes de apps Android
Android DevConference - Indo além com automação de testes de apps Android
 
Indo além com Automação de Testes de Apps Android
Indo além com Automação de Testes de Apps AndroidIndo além com Automação de Testes de Apps Android
Indo além com Automação de Testes de Apps Android
 
performance em jQuery apps
performance em jQuery appsperformance em jQuery apps
performance em jQuery apps
 
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTAutomação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous Delivery
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testes
 
TDC2016SP - Trilha Banco de Dados
TDC2016SP - Trilha Banco de DadosTDC2016SP - Trilha Banco de Dados
TDC2016SP - Trilha Banco de Dados
 
Voce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraVoce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infra
 
TDD na Prática
TDD na PráticaTDD na Prática
TDD na Prática
 
Android: testes automatizados e TDD
Android: testes automatizados e TDDAndroid: testes automatizados e TDD
Android: testes automatizados e TDD
 
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
 
Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOps
 

TDD em JavaScript, rola?