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

O que testar em aplicações Serverless

willpeixoto
November 20, 2020
39

O que testar em aplicações Serverless

Talk feita no evento AWS Community Day Brasil 2020 online, sobre os desafios dos testes no mundo serverless.

willpeixoto

November 20, 2020
Tweet

Transcript

  1. Por que testar as aplicações ? Quais são os benefícios?

    • Identificar os problemas antes de acontecerem • Prevenir problemas de regressão • Ganhar confiança no software • Utilizar os testes como meio de especificação de software
  2. O que pode falhar? - Nome de tabela errado -

    Tabela não criada - Permissões de escrita - permissões de invocação - Permissões nas filas - Nome das filas - Código escrito errado - Permissões de acesso para recursos externos - Permissões na tabela correta - Lifecycle do s3 mal configurado - Bucket não existe - Políticas de acesso corretas - Provisionamento incorreto fifo/default - Políticas de acesso corretas - Tabelas criadas com os índices corretos - Permissões de Invocação - Configuração proxy - Chave trocada
  3. “Testes de programas podem ser uma maneira muito eficaz para

    demonstrar a presença de erros, mas é irremediavelmente insuficiente para mostrar a sua ausência.” EDSGER WYBE DIJKSTRA
  4. Revisitando os custos dos testes • Tempo para escrever os

    testes • Tempo para ler os testes • Tempo para manter os testes • Tempo para rodar os testes
  5. Pergunta: Considerando os custos e os benefícios, o que os

    testes de unidade garantem em aplicações Serverless?
  6. O que pode falhar? - Nome de tabela errado -

    Tabela não criada - Permissões de escrita - permissões de invocação - Permissões nas filas - Nome das filas - Código escrito errado - Permissões de acesso para recursos externos - Permissões na tabela correta - Políticas de acesso - Bucket não existe - Políticas de acesso corretas - Provisionamento incorreto fifo/default - Políticas de acesso corretas - Tabelas criadas com os índices corretos - Permissões de Invocação - Configuração proxy - Chave trocada
  7. Testes de ponta a ponta Unit Tests Unit Tests Unit

    Tests Integrated Integrated Integrated Integrated End 2 End End 2 End End 2 End
  8. Algumas dicas - Infraestrutura como código não é opcional -

    Prefira testes E2E na AWS ao invés de testes E2E locais - Mock de serviços da AWS para simular falhas difíceis de reproduzir - Mock de seus serviços internos