Não existe feedback
melhor do que o do seu
código.
TEST DRIVEN DEVELOPMENT
pense no que
você precisa
implementar
escreva seu teste
escreva a
implementação
básica para o
teste passar
refatore seu
código
0/
comemore
TDD x teste unitario
Meu querido, eu queria uma
tela que mostre os
funcionários, e nessa tela eu
preciso editar o campo nome.
Esse campo não pode ser
vazio.
Não deve ser difícil, acho que
com um ‘if’ você resolve.
Pense no que você precisa implementar
Usuário
Meu querido, eu queria uma
tela que mostre os
funcionários, e nessa tela eu
preciso editar o campo nome.
Esse campo não pode ser
vazio.
Não deve ser difícil, acho que
com um ‘if’ você resolve.
Pense no que você precisa implementar
Listar os
funcionários
Colocar
um botão
de editar
na tela
Validar o
campo
Nome
Salvar os
dados no
server
Pense
…
Escreva seu teste
describe(‘Quando a tela de listagem de funcionários for carregada’)
it(‘Deve listar todos os funcionários’)
Contexto do seu teste
O que deve acontecer?
Escreva a implementação básica para o teste passar
Essa é a hora de ser o mais simples possível!
Refatore seu código se necessário
Geralmente é nessa hora que o código se expressa.
escreva a
implementação
básica para o
teste passar
refatore seu
código
Refatorando…
Obviamente o teste deve continuar ‘verde’
Teste de Unidade
escreve o
código de
produção
escreve o teste
Feedback pode ser ruim ou tardio
e a refatoração pode custar caro (tempo).
Smells em códigos de teste
código de teste
código de produção
Não consuma sua API, ou serviços terceiros
Não acesse banco de dados
Um teste não deve impactar no outro
Teste seu código, não seu framework.
seu código
backbone library
- BeforeEach and AfterEach
Melhorando o Código de Teste
* Ajuda com DRY no seu código de teste
- AAA
Melhorando o Código de Teste
* Ajuda na clareza e entendimento do seu código de teste.
* O Ideal é ter apenas um Assert por teste.
Jasmine
* Na documentação diz Behavior Driven;
* Não precisa de nenhuma outra lib (standalone);
*Javascript framework para teste;
* Fácil sintaxe;
* Deixado por ultimo de propósito.
Renan Carvalho
Front End developer na Chute (estamos contratando)
Twitter : @rcarvalhojs
https://github.com/renancarvalho
Obrigado!

Mais conteúdo relacionado

PDF
// Não comente seu código, ... - Márcio Torres - Tchelinux Pelotas 2018
PPT
BDD JBehave
PDF
Zend Framework Estrutura e TDD
PDF
Drupal e a Qualidade de Software
PPTX
Por que você não escreve Testes Unitários?
PPTX
Meetup SP - O QA & a Especificação Por Exemplo
PPTX
Boas práticas com TDD
PPTX
Automatização de testes funcionais com selenium etapa 1
// Não comente seu código, ... - Márcio Torres - Tchelinux Pelotas 2018
BDD JBehave
Zend Framework Estrutura e TDD
Drupal e a Qualidade de Software
Por que você não escreve Testes Unitários?
Meetup SP - O QA & a Especificação Por Exemplo
Boas práticas com TDD
Automatização de testes funcionais com selenium etapa 1

Mais procurados (20)

PDF
Mtc docker - utilizando no seu dia a dia
PDF
In tests we trust: começando com TDD, mocks e mais
PDF
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
PPTX
Automatizando seus testes com robot framework
PPTX
Hands On Selenium
PDF
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
PDF
Coders On Beer + Ministry Of Testing - Agile Testing
ODP
PHPUnit e teste de software
PPTX
Suporte a macros na sua aplicação com PowerShell
PPTX
PPTX
Teste automatizados e tdd
PDF
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
PPT
Testes Automatizados de Software
PPTX
TDC POA - Especificação Por Exemplo como ferramenta de negócios
PDF
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
PPT
Treinamento Testes Unitários - parte 2
PDF
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
PPTX
Desenvolvimento Dirigido por Testes
PPTX
[DevOps Carioca] Testes Automatizados
PPTX
Curso treinamento automação de testes com selenium
Mtc docker - utilizando no seu dia a dia
In tests we trust: começando com TDD, mocks e mais
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
Automatizando seus testes com robot framework
Hands On Selenium
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
Coders On Beer + Ministry Of Testing - Agile Testing
PHPUnit e teste de software
Suporte a macros na sua aplicação com PowerShell
Teste automatizados e tdd
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
Testes Automatizados de Software
TDC POA - Especificação Por Exemplo como ferramenta de negócios
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
Treinamento Testes Unitários - parte 2
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
Desenvolvimento Dirigido por Testes
[DevOps Carioca] Testes Automatizados
Curso treinamento automação de testes com selenium
Anúncio

Semelhante a Não existe feedback melhor do que o do seu código (20)

PPT
Refactory Worshop
PDF
TDD: A Essência do Mantra
PPTX
Introdução ao Test Driven Development (TDD)
PDF
TDD para "meros mortais"
KEY
Testes - Para que?
PDF
Tdd em django sem desculpas versao final
PPT
Código limpo
PPTX
KEY
Greenbar - Testes automatizados na sua empresa
PDF
TDD em django sem desculpas versao fisl
PPTX
Clean Code
PDF
Tester, pegue suas coisas, você está demitido
PDF
Leonardo Galani - Tester, pegue suas coisas porque vc está demitido
PPT
Minicurso de TDD
PDF
TDD com Python (Completo)
PDF
Desenvolvimento Guiado por Testes
PDF
Os Benefícios dos testes no desenvolvimento de software
PDF
Projeto de API, por Gilmar P.S
PDF
Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014
PPTX
Sobre TDD - Tech Friday da Everis Uberlândia
Refactory Worshop
TDD: A Essência do Mantra
Introdução ao Test Driven Development (TDD)
TDD para "meros mortais"
Testes - Para que?
Tdd em django sem desculpas versao final
Código limpo
Greenbar - Testes automatizados na sua empresa
TDD em django sem desculpas versao fisl
Clean Code
Tester, pegue suas coisas, você está demitido
Leonardo Galani - Tester, pegue suas coisas porque vc está demitido
Minicurso de TDD
TDD com Python (Completo)
Desenvolvimento Guiado por Testes
Os Benefícios dos testes no desenvolvimento de software
Projeto de API, por Gilmar P.S
Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014
Sobre TDD - Tech Friday da Everis Uberlândia
Anúncio

Último (12)

PPT
09_Evolucao de software e_Refatoracao.ppt
PDF
SLIDES - AULA 2 - INTRODUÇÃO - Material de Cleyton Souza - IFPB
PDF
SLIDES - AULA 1 - APRESENTAÇÃO - Material de Cleyton Souza - IFPB
PPT
06_slide de Arquitetura_de_Software .ppt
PPT
03_slide de Gerenciamento de Projetos .ppt
PPT
10_ slides de Reuso sommerville cap 10.ppt
PDF
SLIDES - AULA 5 - HERANÇA - Material de Cleyton Souza - IFPB
PPT
05_slide especificacao de sistemas de software e a uml UML.ppt
PPT
00_Apresentacao sobre o livro do sommerville_ES.ppt
PDF
SLIDES - AULA 7 - SWING - Cleyton Souza - IFPB
PPT
07_slides de Estilos_Arquiteturais sommerville.ppt
PDF
SLIDES - AULA 3 - CLASSES E OBJETOS EM JAVA - Material de Cleyton Souza - IFPB
09_Evolucao de software e_Refatoracao.ppt
SLIDES - AULA 2 - INTRODUÇÃO - Material de Cleyton Souza - IFPB
SLIDES - AULA 1 - APRESENTAÇÃO - Material de Cleyton Souza - IFPB
06_slide de Arquitetura_de_Software .ppt
03_slide de Gerenciamento de Projetos .ppt
10_ slides de Reuso sommerville cap 10.ppt
SLIDES - AULA 5 - HERANÇA - Material de Cleyton Souza - IFPB
05_slide especificacao de sistemas de software e a uml UML.ppt
00_Apresentacao sobre o livro do sommerville_ES.ppt
SLIDES - AULA 7 - SWING - Cleyton Souza - IFPB
07_slides de Estilos_Arquiteturais sommerville.ppt
SLIDES - AULA 3 - CLASSES E OBJETOS EM JAVA - Material de Cleyton Souza - IFPB

Não existe feedback melhor do que o do seu código

  • 1. Não existe feedback melhor do que o do seu código.
  • 2. TEST DRIVEN DEVELOPMENT pense no que você precisa implementar escreva seu teste escreva a implementação básica para o teste passar refatore seu código 0/ comemore TDD x teste unitario
  • 3. Meu querido, eu queria uma tela que mostre os funcionários, e nessa tela eu preciso editar o campo nome. Esse campo não pode ser vazio. Não deve ser difícil, acho que com um ‘if’ você resolve. Pense no que você precisa implementar Usuário
  • 4. Meu querido, eu queria uma tela que mostre os funcionários, e nessa tela eu preciso editar o campo nome. Esse campo não pode ser vazio. Não deve ser difícil, acho que com um ‘if’ você resolve. Pense no que você precisa implementar Listar os funcionários Colocar um botão de editar na tela Validar o campo Nome Salvar os dados no server Pense …
  • 5. Escreva seu teste describe(‘Quando a tela de listagem de funcionários for carregada’) it(‘Deve listar todos os funcionários’) Contexto do seu teste O que deve acontecer?
  • 6. Escreva a implementação básica para o teste passar Essa é a hora de ser o mais simples possível!
  • 7. Refatore seu código se necessário Geralmente é nessa hora que o código se expressa. escreva a implementação básica para o teste passar refatore seu código
  • 8. Refatorando… Obviamente o teste deve continuar ‘verde’
  • 9. Teste de Unidade escreve o código de produção escreve o teste Feedback pode ser ruim ou tardio e a refatoração pode custar caro (tempo).
  • 10. Smells em códigos de teste código de teste código de produção Não consuma sua API, ou serviços terceiros Não acesse banco de dados Um teste não deve impactar no outro
  • 11. Teste seu código, não seu framework. seu código backbone library
  • 12. - BeforeEach and AfterEach Melhorando o Código de Teste * Ajuda com DRY no seu código de teste
  • 13. - AAA Melhorando o Código de Teste * Ajuda na clareza e entendimento do seu código de teste. * O Ideal é ter apenas um Assert por teste.
  • 14. Jasmine * Na documentação diz Behavior Driven; * Não precisa de nenhuma outra lib (standalone); *Javascript framework para teste; * Fácil sintaxe; * Deixado por ultimo de propósito.
  • 15. Renan Carvalho Front End developer na Chute (estamos contratando) Twitter : @rcarvalhojs https://github.com/renancarvalho Obrigado!