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

[TC #Talks] Testes Fantásticos e onde habitam

[TC #Talks] Testes Fantásticos e onde habitam

Geral que pensa em escrever códigos hoje em dia sabe que o software não deveria ter bugs, principalmente se forem bestas. É por isso que, (quase) sempre que vamos entregar algum pedaço de software, verificamos, muitas vezes manualmente, se o que fizemos realmente está funcionando conforme esperado. Mas e se esses testes não precisassem ser manuais? E, além de automatizados, e se esses testes nos dessem uma boa base sobre como funciona nosso código, sem precisar documentar nada? Essa talk vai explorar essas e outras questões, além de fazer todos se apaixonarem por testes ❤️

Camila Campos

February 28, 2018
Tweet

More Decks by Camila Campos

Other Decks in Programming

Transcript

  1. Projeto maravilhindo Inserir mulheres em TI Workshop de Rails Inspiração

    railsgirls.com.br fb.com/railsgirls.sp twitter.com/railsgirlssp
  2. o que são? por que existem? pra que servem? o

    que comem? onde habitam? como se organizam?
  3. o que são? por que existem? pra que servem? o

    que comem? onde habitam? como se organizam?
  4. teste automatizado é uma parada que verifica se o seu

    código funciona de forma automatizada
  5. teste automatizado é uma parada que verifica se o seu

    código funciona executada por um robozinho
  6. teste automatizado é uma parada que verifica se o seu

    código funciona executada por um robozinho
  7. teste automatizado é uma parada que verifica se o seu

    código funciona executada por um robozinho teste
  8. teste é uma parada que verifica se o seu código

    funciona executada por um robozinho
  9. teste é um bocado de código que verifica se o

    seu código “real” funciona
  10. teste é um bocado de código não testado que verifica

    se o seu código “real” funciona
  11. teste de unidade teste de integração teste ponta a ponta

    teste caixa preta teste caixa branca teste de interface teste de carga teste de regressão teste funcional teste de performance teste de aceitação teste de stress teste de sistema teste unitário
  12. teste de unidade teste de integração teste ponta a ponta

    teste caixa preta teste caixa branca teste de interface teste de carga teste de regressão teste funcional teste de performance teste de aceitação teste de stress teste de sistema teste unitário
  13. teste é um bocado de código não testado que verifica

    se o seu código “real” funciona
  14. ajeita o que precisa para o teste funcionar executa a

    ação que você quer testar verifica se aconteceu o que você esperava
  15. def soma(x, y) x + y end teste "soma dois

    números" do resultado = soma(2, 3) expect(resultado).to eq 5 end teste "soma dois números" do resultado = soma(3, 2) expect(resultado).to eq 5 end
  16. def maior(x, y) if (x > y) do return x

    end return y end cenário "maior entre dois nros" do teste "primeiro é maior" do resultado = maior(5, 3) expect(resultado).to eq 5 end teste "segundo é maior" do resultado = maior(2, 4) expect(resultado).to eq 4 end end
  17. def maior(x, y) if (x > y) do return x

    end return y end cenário "maior entre dois nros" do teste "números iguais" do resultado = maior(5, 5) expect(resultado).to eq 5 end end
  18. “Any fool can write code that a computer can understand.

    Good programmers write code that humans can understand.” @martinfowler