Panoramica dei test automatizzati

Caso di studio: sviluppare software in Python

Mark Pedigo

Principal Data Scientist

Roadmap

Roadmap che mostra quali parti del progetto abbiamo completato e quali inizieremo.

Caso di studio: sviluppare software in Python

Test automatizzati e workflow di sviluppo

  • Risultati corretti e prevedibili
  • Casi di test predefiniti
  • Esecuzione automatica

Un computer con lo schermo che mostra le parole "automated testing" circondato da bug e ingranaggi, a rappresentare i test automatizzati.

Caso di studio: sviluppare software in Python

La libreria doctest

  • Test automatizzati: doctest, pytest
  • Usa le docstring per descrivere il codice
  • doctest: valida gli esempi nelle docstring
Caso di studio: sviluppare software in Python

Funzionalità di doctest

  • Test inline
  • Facile da usare
  • Documentazione come test
  • Supporta i test di regressione
Caso di studio: sviluppare software in Python

Esempio d'uso

def area(l, w):
    """
    Calcola l'area dati lunghezza e larghezza e restituisce il risultato
    >>> area(1, 1)
    1
    """
    return l + w

import doctest
doctest.testmod()
Caso di studio: sviluppare software in Python

Esempio d'uso

Esempio fallito:
    area(1,1)
Atteso:
    1
Ottenuto:
    2
Caso di studio: sviluppare software in Python

Esempio d'uso

def area(l, w):
    """
    Calcola l'area dati lunghezza e larghezza e restituisce il risultato
    >>> area(1, 1)
    1
    """
    return l * w

import doctest
doctest.testmod()

Tutto OK = nessun messaggio di errore, nessun output

Caso di studio: sviluppare software in Python

Passiamo alla pratica!

Caso di studio: sviluppare software in Python

Preparing Video For Download...