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

E AI, Terminei, só falta... Testar?!

E AI, Terminei, só falta... Testar?!

Palestra sobre testes de Software com Inteligência Artificial.

Monica Craveiro de Menezes

September 24, 2023
Tweet

More Decks by Monica Craveiro de Menezes

Other Decks in Programming

Transcript

  1. E AI, Terminei, só falta... Testar?! Testes de Software com

    Inteligência Artificial Monica Craveiro de Menezes
  2. Quem sou? Monica Craveiro de Menezes Carioca, Bacharel em Sistemas

    de Informação e Matemática, Desenvolvedora na Sensedia, Voluntária e Host do Canal do YouTube da NodeBR, ex-aluna do [des]programe, {reprograma} e DigitalHouse>. Professora de Programação, além de Participante e Palestrante em diversas comunidades de TI. @mocraveirodev
  3. Testes são importantes? “O que começa o pleito parece justo,

    até que vem o outro e o examina.” Provébios 18:17 Pense Validação se os requisitos foram atendidos.
  4. POR QUE TESTAR? • Requisitos Funcionais • Requisitos não Funcionais

    ◦ Usabilidade ◦ Desempenho ◦ Performance ◦ Capacidade ◦ Segurança Será que é só isso? Tem que mostrar que o sistema funciona e não tem falhas!
  5. 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.
  6. Pirâmide de Testes • Criado em 2009 • Popularizado em

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

    escrever Casos de Teste? ◦ Entrada ◦ O que vai acontecer ◦ Saída Casos de Teste
  8. Técnicas de Teste de Software Recursos utilizados para escrever Bons

    Casos de Testes Criar testes antes do código de cada funcionalidade. TDD Test Driven Development
  9. Técnicas de Teste de Software Recursos utilizados para escrever Bons

    Casos de Testes 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. Como/Eu quero/Para >>> Dado/Quando/Então
  10. Técnicas de Teste de Software Recursos utilizados para escrever Bons

    Casos de Testes 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
  11. Técnicas de Teste de Software 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
  12. Técnicas de Teste de Software Recursos utilizados para escrever Bons

    Casos de Testes Teste Exploratório Error Guessing Teste baseado em Experiência
  13. Técnicas de Teste de Software Recursos utilizados para escrever Bons

    Casos de Testes Teste ocorre internamente. Teste Alpha Teste feito por clientes externos em um ambiente controlado. Teste Beta Teste em Produção mas apenas para uma parte do público. Teste Canary
  14. Tipos de Teste de Software 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. Unitários Integração E2E Mutação
  15. Tipos de Teste de Software 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. Unitários Integração E2E Mutação
  16. Mas antes… O que é Inteligência Artificial? “É o ramo

    da Ciência da Computação que se ocupa do comportamento inteligente” Luger George F, 2004
  17. USO DA INTELIGÊNCIA ARTIFICIAL DA TI PROCESSAMENTO DE LINGUAGEM NATURAL

    RECONHECIMENTO DE VOZ E IMAGEM ROBÓTICA ANÁLISE DE DADOS ASSISTENTES PESSOAIS AUTOMATIZAR TAREFAS ROTINEIRAS
  18. AUXÍLIO DAS IAs NOS TESTES DE SOFTWARE AUTOMAÇÃO DE TESTES

    OTIMIZAÇÃO DE SUÍTE DE TESTES LOCALIZAÇÃO DE FALHAS PREDIÇÃO DE DEFEITOS GERAÇÃO DE ORÁCULOS DE TESTES TESTES DE REGRESSÃO TESTES DE SEGURANÇA TESTES DE USABILIDADE CLASSIFICAÇÃO DE FALHAS PRIORIZAÇÃO/ ORDENAÇÃO DE TESTES TESTES DE PERFORMANCE CRIAÇÃO DE CENÁRIOS DE TESTE
  19. Criar cenários de testes Dar entradas de acordo com requisitos,

    usando partição de equivalência para gerar combinação de testes
  20. Criar cenários de testes Dar entradas de acordo com requisitos,

    usando partição de equivalência para gerar combinação de testes
  21. Criar cenários de testes Dar entradas de acordo com requisitos,

    usando partição de equivalência para gerar combinação de testes
  22. Criar cenários de testes Dar entradas de acordo com requisitos,

    usando partição de equivalência para gerar combinação de testes
  23. Criar cenários de testes Dar entradas de acordo com requisitos,

    usando partição de equivalência para gerar combinação de testes
  24. QUAIS BENEFÍCIOS REAIS QUE PODEMOS TIRAR DAS IAs? IDENTIFICAR SE

    A RESPOSTA É VÁLIDA CAPACIDADE DE COMPREENSÃO BOAS E MÁS PRÁTICAS OTIMIZAR ESFORÇO IDENTIFICAR PRÓS E CONTRAS PENSAMENTO CRÍTICO ESTRUTURAR PERGUNTAS
  25. DESAFIOS DA IA EM TESTE DE SOFTWARE GRANDE VOLUME DE

    DADOS TRATAMENTO DE DADOS INFRAESTRUTURA PARA IA MANUTENÇÃO DA IA ESCALABILIDADE PROFISSIONAIS CAPACITADOS
  26. NÃO POSSUI CAPACIDADE DE ENTENDIMENTO NÃO TEM EMPATIA LIMITAÇÃO DA

    COMPREENSÃO DE CONTEXTO ACESSO A INFORMAÇÕES PÚBLICAS TOMADA DE DECISÕES HISTÓRICO DE INTERAÇÕES NÃO DIGITAIS NÃO TEM EXPERIÊNCIA COM VIVÊNCIAS QUAIS AS LIMITAÇÕES DA IAs EM RELAÇÃO AOS QAs/TESTERS
  27. MONICA CRAVEIRO DE MENEZES Estão preparados para fazer testes mais

    efetivos? Até mais e obrigada pelos peixes! @mocraveirodev