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

[TDCFloripa 2018] Como não escrever seus testes

[TDCFloripa 2018] Como não escrever 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/florianopolis/trilha-devtest
Vídeo disponível em: https://www.eventials.com/Globalcode/tdc-floripa-2018-stadium-sexta-3/

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

Camila Campos

April 20, 2018
Tweet

More Decks by Camila Campos

Other Decks in Programming

Transcript

  1. @camposmilaa Projeto maravilhindo Inserir mulheres em TI Workshop de Rails

    Inspiração railsgirls.com.br fb.com/railsgirls.sp twitter.com/railsgirlssp
  2. @camposmilaa como evitar de fazer testes que vão nos deixar

    tristes Trilha #DevTest Camila Campos @camposmilaa
  3. @camposmilaa teste é um código não testado que garante que

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

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

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

    seu código de produção funciona simples legível objetivo não claro
  7. @camposmilaa ajeita o que precisa para o teste funcionar executa

    a ação que você quer testar bagunçado
  8. @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
  9. @camposmilaa setup extenso/complexo muitas verificações muitos passos de “exercise” muitas

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

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

    no teste muitas dependências muitas responsabilidades interface complicada código muito complexo (ex. Loops, mock método privado) lógica
  12. @camposmilaa testes que passam depois do rebuild testes que funcionam

    dependendo da ordem testes que quebram "a toa" desnecessário
  13. @camposmilaa controller service model logic object A C A C

    A C mock pra tudo menos testes em camadas desnecessário
  14. @camposmilaa melhor ter testes ruins do que não ter nenhum.

    MELHOR NÃO TER TESTES DO QUE TER TESTES RUINS.
  15. @camposmilaa melhor ter testes ruins do que não ter nenhum.

    MELHOR NÃO TER TESTES DO QUE TER TESTES RUINS. confiança entendimento