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.

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.