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

Terminei, só falta…Testar?

Terminei, só falta…Testar?

Monica Craveiro de Menezes

December 08, 2023
Tweet

More Decks by Monica Craveiro de Menezes

Other Decks in Programming

Transcript

  1. This content is restricted Monica Craveiro de Menezes Carioca, Bacharel

    em Sistemas de Informação e Matemática, Desenvolvedora Back-end, ex-aluna do [des]programe, {reprograma} e DigitalHouse>. Professora de Programação, além de Participante e Palestrante em diversas comunidades de TI. Quem sou? @mocraveirodev
  2. This content is restricted Testes são importantes? Pense “O que

    começa o pleito parece justo, até que vem o outro e o examina.” Provébios 18:17 Validação se os requisitos foram atendidos.
  3. Por que testar? Tem que mostrar que o sistema funciona

    e não tem falhas! • Requisitos Funcionais • Requisitos não Funcionais ◦ Usabilidade ◦ Desempenho ◦ Performance ◦ Capacidade ◦ Segurança Será que é só isso?
  4. This content is restricted 1 Teste mostra a presença de

    defeitos mas não a ausência deles. 3 Testes iniciais economizam tempo e dinheiro. 7 Princípios do Teste de Software 4 Agrupamento de defeitos 2 Se não dá pra testar todas as possibilidades de entrada e saída, então o teste exaustivo é impossível. 5 Paradoxo do Pesticida 6 Teste depende do contexto. 7 Ilusão da ausência de defeitos.
  5. This content is restricted Pirâmide de Testes • Criado em

    2009 Popularizado em 2012 por Martin Fowler • Segue modelo em V de desenvolvimento
  6. This content is restricted • Precisamos testar tudo? • Como

    escrever Casos de Teste? ◦ Entrada ◦ O que vai acontecer ◦ Saída Casos de Teste This content is restricted
  7. This content is restricted Recursos utilizados para escrever Bons Casos

    de Testes Técnicas de teste de software Criar testes antes do código de cada funcionalidade. TDD Test Driven Development
  8. This content is restricted Reunir profissionais de diferentes expertises para

    definir melhor o que deve ser feito. Three Amigos BDD Behavior Driven Development Testes com foco no comportamento do Sistema. Recursos utilizados para escrever Bons Casos de Testes Técnicas de teste de software Como/Eu quero/Para >>> Dado/Quando/Então
  9. This content is restricted Teste de Caixa Branca • Parte

    Estrutural do código • Analisa código-fonte Teste de Caixa Preta • Parte Funcional do código • Baseado no comportamento do Sistema Técnicas de teste de software
  10. This content is restricted Recursos utilizados para escrever Bons Casos

    de Testes Verifica se os requisitos funcionais foram atendidos. Teste de Aceitação Verifica se não quebrou nada ao desenvolver novas funcionalidades. Teste de Regressão Técnicas de teste de software
  11. This content is restricted Recursos utilizados para escrever Bons Casos

    de Testes Técnicas de teste de software Teste baseado em Experiência Teste Exploratório Error Guessing
  12. This content is restricted Técnicas de teste de software Teste

    ocorre internamente. Teste Alpha Teste em Produção mas apenas para uma parte do público. Teste feito por clientes externos em um ambiente controlado. Teste Beta Teste Canary
  13. This content is restricted Testa as menores partes do sistema

    (métodos, funções ou classes), independente das suas integrações. Testa integração do sistema. Teste a integração interna e externa do sistema. Altera operadores do sistema forçando a quebra dos testes unitários. Tipos de Teste de Software Unitários Integração E2E Mutação
  14. This content is restricted Testa as menores partes do sistema

    (métodos, funções ou classes), independente das suas integrações. Testa integração do sistema. Teste a integração interna e externa do sistema. Altera operadores do sistema forçando a quebra dos testes unitários. Tipos de Teste de Software Unitários Integração E2E Mutação
  15. This content is restricted Teste de Mutação Criado em 1971

    em Yale por Richard Lipton Muda os operadores matemáticos, lógicos, de retorno e constantes Quantidade de Falhas / Quantidade de Mutantes = % de efetividade Rotina de Testes Unitários consistente