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

[TDCSãoPaulo 2018] Como não odiar seus testes

[TDCSãoPaulo 2018] Como não odiar seus testes

Sabemos que escrever testes automatizados é extremamente importante, pois, entre outras coisas, eles garantem a qualidade do nosso código e o funcionamento da nossa aplicação. Apesar disso, muitas vezes acabamos com uma suíte de testes que, além de ser difícil de entender e manter, não é confiável. Nessa talk, vamos ver como reconhecer e evitar alguns dos problemas mais comuns que nos fazem odiar nossos testes, além de dar algumas dicas de como melhorar nossos testes.

# Links
Trilha DevTest: http://www.thedevelopersconference.com.br/tdc/2018/saopaulo/trilha-devtest

# Observações
Gifs não funcionam no speaker deck e isso me deixa muito triste, porém vida que segue

Camila Campos

July 20, 2018
Tweet

More Decks by Camila Campos

Other Decks in Programming

Transcript

  1. @camposmilaa • Faço uns códigos na Creditas • Organizo o

    Rails Girls São Paulo • Organizo o Women Dev Summit • Tô no twitter como @camposmilaa CAMILA Campos @camposmilaa
  2. @camposmilaa Plataforma online Empréstimo com garantia Juros baixos pra você

    <3 creditas.com.br @CreditasBR vagas.creditas.com.br
  3. @camposmilaa Projeto maravilhindo Inserir mulheres em TI Workshop de Rails

    Inspiração railsgirls.com.br fb.com/railsgirls.sp twitter.com/railsgirlssp
  4. @camposmilaa teste é um código que garante que seu código

    de produção funciona não claro não testado
  5. @camposmilaa teste é um código que garante que seu código

    de produção funciona não claro não testado simples
  6. @camposmilaa teste é um código que garante que seu código

    de produção funciona não claro não testado simples legível
  7. @camposmilaa teste é um código que garante que seu código

    de produção funciona não claro não testado simples legível objetivo
  8. @camposmilaa AJEITA o que precisa para o teste funcionar EXECUTA

    a ação que você quer testar bagunçado
  9. @camposmilaa AJEITA o que precisa para o teste funcionar EXECUTA

    a ação que você quer testar VERIFICA se aconteceu o que você esperava bagunçado
  10. @camposmilaa muitas dependências muitas responsabilidades interface complicada muita lógica setup

    extenso/complexo muitas verificações muitos passos de “exercise”
  11. @camposmilaa muitas dependências muitas responsabilidades interface complicada muita lógica setup

    extenso/complexo muitas verificações muitos passos de “exercise” inteligência no teste (ex. Loops, mock método privado)
  12. @camposmilaa muitas dependências muitas responsabilidades interface complicada código muito complexo

    muita lógica setup extenso/complexo muitas verificações muitos passos de “exercise” inteligência no teste (ex. Loops, mock método privado)
  13. @camposmilaa melhor ter testes ruins do que não ter nenhum

    melhor não ter testes do que ter testes ruins
  14. @camposmilaa Links legais How To Stop Hating Your Test Suite

    - @searls na RubyConf2015 http://blog.testdouble.com/posts/2015-11-16-how-to-stop-hating-your-tests Just Say No To More End-To-End Tests https://testing.googleblog.com/2015/04/just-say-no-to-more-end-to-end-tests.html Test Pyramid - @martinfowler https://martinfowler.com/bliki/TestPyramid.html Test Smells - XUnitPatterns http://xunitpatterns.com/TestSmells.html Test Smells - @testdouble https://github.com/testdouble/test-smells 8 Erros Comuns Ao Escrever Testes De Unidade - http://www.codeatest.com/8-erros-comuns-testes-de-unidade/