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

Adicionando qualidade no software com testes unitários

Adicionando qualidade no software com testes unitários

Allef Gomes

December 05, 2022
Tweet

More Decks by Allef Gomes

Other Decks in Programming

Transcript

  1. O que iremos entender ❏ Uma breve história dos testes

    ❏ Porque testamos? ❏ Testes automatizados ❏ Testes de Unidade ❏ Testes de Integração ❏ Testes de Sistema ❏ Um pouco de ruby e ruby on rails ❏ Estrutura de um teste unitário ❏ Exemplos de testes unitários em ruby on rails
  2. Breve história dos testes ❏ SEMPRE utilizamos testes sejam manuais

    ou automatizados ❏ Os sistemas, módulos, funções, classes, métodos, todos tem uma entrada e saída prevista. ❏ A garantia que temos que o sistema está funcionando corretamente e vai poder subir para produção são os testes. Sejam manuais ou automatizados.
  3. Por que testamos? ❏ Provar que nosso código faz o

    que deve fazer 😌 ❏ Prevenir “breaking changes” ❏ Encontrar de maneira mais fácil onde nosso código quebra ❏ Escrever a menor quantidade de código de teste possível, sem comprometer com a qualidade dos testes
  4. Testes Unidade ou Unitários ❏ Verificam automaticamente pequenas partes de

    um código. Normalmente uma classe aferindo sempre a qualidade de código.
  5. Testes de Integração ❏ Verificam automaticamente diversas classes de pacotes

    distintos e podem ainda testar componentes externos.
  6. Testes de Sistema ou Interface ❏ Simulam da forma mais

    fiel possível a interação do usuário com o sistema. Testam as funcionalidades por completo.
  7. Antes de continuarmos… Um pouco de Ruby Uma linguagem de

    programação de código aberto com foco em simplicidade e produtividade. Contém uma sintaxe elegante, natural para leitura e fácil de escrever. Atualmente está na versão 3.1.3
  8. Um pouco de Rails Rails é um framework full-stack. Contém

    tudo que precisamos para construir incríveis aplicações web tanto no front quanto no backend. Atualmente está na versão 7.0.4
  9. Estrutura de um teste unitário 1. Configuração (setup) 2. Exercício

    (exercise) 3. Verificação (verify) 4. Desconstrução (teardown)