Visão geral de testes automatizados

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

Testes automatizados e o fluxo de desenvolvimento

  • Resultados corretos e previsíveis
  • Casos de teste predefinidos
  • Execução automática

Um computador com a tela exibindo as palavras "automated testing" cercadas por bugs e engrenagens, representando testes automatizados.

Estudo de Caso: Construindo Software em Python

A biblioteca doctest

  • Testes automatizados: doctest, pytest
  • Use docstrings para descrever o código
  • doctest: valida exemplos em docstrings
Estudo de Caso: Construindo Software em Python

Recursos da biblioteca doctest

  • Testes embutidos
  • Fácil de usar
  • Documentação como testes
  • Suporta testes de regressão
Estudo de Caso: Construindo Software em Python

Exemplo de uso

def area(l, w):
    """
    Finds the area given length and width and returns the result
    >>> area(1, 1)
    1
    """
    return l + w

import doctest
doctest.testmod()
Estudo de Caso: Construindo Software em Python

Exemplo de uso

Failed example:
    area(1,1)
Expected:
    1
Got:
    2
Estudo de Caso: Construindo Software em Python

Exemplo de uso

def area(l, w):
    """
    Finds the area given length and width and returns the result
    >>> area(1, 1)
    1
    """
    return l * w

import doctest
doctest.testmod()

Tudo OK = sem mensagens de erro, sem saída

Estudo de Caso: Construindo Software em Python

Vamos praticar!

Estudo de Caso: Construindo Software em Python

Preparing Video For Download...