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

[QA Sampa Meeting] Testes Fantásticos e onde ha...

[QA Sampa Meeting] Testes Fantásticos e onde habitam

by Camila Campos and Júlia Birkett

Camila Campos

May 24, 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. teste automatizado é uma parada que verifica se o seu

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

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

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

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

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

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

    se o seu código “real” funciona
  9. 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
  10. 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
  11. tdd

  12. red

  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. describe MaiorNumero do context “#maior_numero” do it “retorna o primeiro

    quando ele for maior” do instancia = described_class.new maior = instancia.maior(10, 3) expect(maior).to eq 10 end it “retorna o segundo quando ele for maior” do instancia = described_class.new maior = instancia.maior(10, 33) expect(maior).to eq 33 end it “retorna qualquer um quando forem iguais” do instancia = described_class.new maior = instancia.maior(5, 5) expect(maior).to eq 5 end end end class MaiorNumero def maior(x, y) if (x > y) return x else return y end end end Exemplo de teste - Ruby + Rspec
  16. describe MaiorNumero do context “#maior_numero” do it “retorna o primeiro

    quando ele for maior” do instancia = described_class.new maior = instancia.maior(10, 3) expect(maior).to eq 10 end it “retorna o segundo quando ele for maior” do instancia = described_class.new maior = instancia.maior(10, 33) expect(maior).to eq 33 end it “retorna qualquer um quando forem iguais” do instancia = described_class.new maior = instancia.maior(5, 5) expect(maior).to eq 5 end end end class MaiorNumero def maior(x, y) return x if (x > y) return y end end Exemplo de teste - Ruby + Rspec
  17. class TestMaiorNumero < Minitest::Test def setup @instancia = MaiorNumero.new end

    def test_retorna_o_primeiro_quando_for_maior do assert_equal(10, @instancia.maior(10, 3)) end def test_retorna_o_segundo_quando_for_maior do assert_equal(10, @instancia.maior(10, 3)) end def test_retorna_qualquer_um_quando_for_maior do assert_equal(10, @instancia.maior(10, 3)) end end class MaiorNumero def maior(x, y) return x if (x > y) return y end end Exemplo de teste - Ruby + Minitest
  18. import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; public class MaiorNumero { @Test

    public void maiorNumeroRetornaOPrimeiroQuandoForMaior() { MaiorNumero instancia = new MaiorNumero(); assertEquals(10, instancia.maior(10, 3)); } @Test public void maiorNumeroRetornaOSegundoQuandoForMaior() { MaiorNumero instancia = new MaiorNumero(); assertEquals(33, instancia.maior(10, 33)); } @Test public void maiorNumeroRetornaQualquerUmQuandoIguais() { MaiorNumero instancia = new MaiorNumero(); assertEquals(5, instancia.maior(5, 5)); } } public class MaiorNumero { public int maior(x, y) { if (x > y) { return x; } return y; } } Exemplo de teste - Java + JUnit
  19. “any fool can write code that a computer can understand.

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