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

Código à prova de raios cósmicos

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →
Avatar for Pietra Pietra
October 26, 2019

Código à prova de raios cósmicos

Você confia no código que produz? Qual a sua estratégia para garantir qualidade de software? Nesta palestra, irei introduzir os conceitos de teste unitário, cobertura de testes e testes de mutação. Através da combinação destes elementos, podemos garantir que cobrimos tudo — e mais um pouco — do software que produzimos. Também irei apresentar, através de exemplos práticos e aplicados, a utilização de bibliotecas Python que implementam tais tecnologias, como a Cosmic Ray e pytest-cov.

Avatar for Pietra

Pietra

October 26, 2019

Other Decks in Programming

Transcript

  1. “ Nosso código só vai à produção com mais de

    90% de cobertura. - Gerente de algum time 12
  2. “ Eu espero alta cobertura de testes. Às vezes, gerentes

    a exigem. Existe uma diferença sutil. - Brian Marick 13
  3. “ Precisa desse monte de teste unitário? Demora muito pra

    rodar! - Pessoa desenvolvedora de algum time 17
  4. “ Um raio cósmico que atinge a memória do computador

    no momento certo pode virar um bit (flip bit), tornando zero em 1 e vice-versa. - John Cook 19
  5. ❏ ❏ x = False, por x = True ❏

    ❏ x + y, por x - y 20 Teste de Mutação ❏ ❏ If x < 10, por If x == 10 ❏ ❏ If x < 10, por If x < 9 modificar o programa
  6. Resumindo.. Mutations Survived Putz… Nossos testes sobreviveram às mutações (bugs)

    inseridas. Mutations Killed Ótimo! Nossos testes quebraram quando inserimos mutações (bugs). 22