Testes

Estudo de Caso: Construindo Software em Python

Mark Pedigo

Principal Data Scientist

Roteiro

Roteiro mostrando o que já foi concluído no projeto e o que vamos começar.

Estudo de Caso: Construindo Software em Python

Por que testes automatizados?

  • Testes automáticos, dirigidos por software
  • Sem intervenção humana
  • De checagens simples a avaliações completas

Um robô testando código

Estudo de Caso: Construindo Software em Python

Benefícios dos testes automatizados

  • Maior qualidade do código
  • Mitigação de riscos
  • Melhor experiência do usuário
Estudo de Caso: Construindo Software em Python

O que os testes de unidade fazem?

  • Componentes ou funções testados isoladamente
  • Foco nas menores partes do aplicativo
  • Verificar a saída esperada para uma entrada

Uma lupa examinando blocos

Estudo de Caso: Construindo Software em Python

O que é a biblioteca pytest?

  • Framework de testes popular para Python
  • Suporta testes de unidade
  • Conhecido por simplicidade, flexibilidade e recursos
Estudo de Caso: Construindo Software em Python

Vantagens do pytest

  • Simplicidade e legibilidade
  • Fixtures poderosas
  • Integra-se com outras ferramentas
Estudo de Caso: Construindo Software em Python

Teste de unidade - exemplo

# math.py
def add(a, b):
  return a + b
# test_math.py
import pytest
def test_add():
    assert add(2, 3) == 5
    assert add(-1, 1) == 0
    assert add(0, 0) == 0
    assert add(-5, -7) == -12

Execute no console:

pytest test_math.py

===== test session starts ===== collected 1 item test_math_functions.py . [100%] ====== 1 passed in 0.03s ======
Estudo de Caso: Construindo Software em Python

Vamos praticar!

Estudo de Caso: Construindo Software em Python

Preparing Video For Download...