Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DESENVOLVIMENTO GUIADO POR TESTES EM JAVASCRIPT

DESENVOLVIMENTO GUIADO POR TESTES EM JAVASCRIPT

Palestra apresentada no meetup da reprograma em Dezembro de 2020.

O Test Driven Development (TDD) é uma técnica ágil para construção de aplicações e seu mantra é: Vermelho, verde, refatoração. Essa prática não é apenas sobre escrever o teste antes da implementação e nesse meetup irei demonstrar como o TDD pode apoiar no desenvolvimento em Javascript.

Avatar for Inajara Leppa

Inajara Leppa

December 08, 2020
Tweet

More Decks by Inajara Leppa

Other Decks in Technology

Transcript

  1. Olar! Eu sou a Inajara Leppa, desenvolvedora na Creditas e

    defensora dos testes automatizados. Nas horas vagas eu atuo como voluntária em ONGs de educação e assisto séries acompanhada de um bom vinho! inajara_ inajara-leppa
  2. A CONFUSÃO ENTRE OS TERMOS É COMUM E POR ISSO

    É IMPORTANTE SABER DIFERENCIAR Teste de unidade é quando você testa uma pequena parte do código de forma isolada do resto. Ex: Uma função ou classe. É também chamado de testes unitários. Você pode escrever testes unitários sem necessariamente estar praticando o TDD. TDD TESTE DE UNIDADE
  3. TDD É UMA METODOLOGIA Desenvolver código guiado por testes irá

    ajudar no COMO realizar uma funcionalidade. O foco dessa metodologia é no design que será utilizado para construir o código e não apenas nos testes. Exige prática, por isso tenha paciência e aplique sempre que possível. Não trate como bala de prata, pois nem sempre irá fazer sentido.
  4. Vermelho - o que você deseja garantir Verde - como

    fazer seus testes passarem Refatorar - como melhorar seu design O CICLO (MANTRA) DO TDD RED (VERMELHO) GREEN (VERDE) REFACTOR (REFATORA)
  5. DESENVOLVIMENTO GUIADO POR TESTES É DIFERENTE DE ESCREVER O TESTE

    PRIMEIRO Como vimos na imagem anterior apenas escrever os testes antes de desenvolver o código não é TDD, pois o diferencial da metodologia é a pratica de refatoração que irá melhorar o design e deixar o código mais simples e extensível. TDD TFD
  6. TDD TFD COMO FICA O TDD NA PIRÂMIDE DE TESTES?

    O TDD pode ser aplicado em qualquer nível da pirâmide de testes e não apenas nos testes de unidade. Existem vantagens de utilizar a metodologia em qualquer tipo de testes SIM.
  7. VANTAGENS Melhora qualidade e cobertura do código Melhora a arquitetura

    da aplicação e diminui o desacoplamento Aumenta o grau de certeza do que foi desenvolvido Ajuda a pensar nos diferentes cenários do que está sendo desenvolvido
  8. DESVANTAGENS Difícil de aplicar em aplicações legadas Um desafio para

    aprender. Pode ser intimidante e difícil para qualquer pessoa aprender no início, especialmente tentando aprender por conta própria. O TDD by the book exige que outras metodologias sejam aplicadas em conjunto. Ex: Doubles (mocks and stubs)
  9. Moral da história Pense na funcionalidade e nos seus diferentes

    cenários antes de sair escrevendo código Refatore continuamente seu código e construa um código limpo e de fácil manutenção. PENSE ANTES REFATORE TESTES SEM TDD Escreva testes mesmo que não seja utilizando a metodologia do TDD.