Tests de fonctionnalités avec pytest

Introduction aux tests en Python

Alexander Levin

Data Scientist

Qu'est-ce qu'un test de fonctionnalité

Fonctionnalité

  • une capacité d'un logiciel.
  • satisfait un besoin d'utilisateur précis.

Fonctionnalités

  • plus larges que les unités.
  • Utilisables par l'utilisatrice ou l'utilisateur final.

Test de fonctionnalité

  • méthode d'essai logiciel.
  • vérifie le comportement d'une fonctionnalité donnée.
  • Exemples :
    • Vérification de la distribution des données
    • Préparation d'un rapport
Introduction aux tests en Python

Unités vs fonctionnalités : ordinateur personnel

Unités :

  • Chaque bouton individuel
  • Pixels à l'écran
  • Diodes DEL
  • Blocs sur le disque

Fonctionnalités :

  • Clavier
  • Écran
  • Éclairage
  • Système de fichiers
Introduction aux tests en Python

Pourquoi utiliser des tests de fonctionnalités

Les tests de fonctionnalités aident :

  • À tester au niveau de l'interaction de l'utilisateur avec le système.

La portée est plus large que les unités :

  • Une unité en panne ne signifie pas que la fonctionnalité est NON OK.

Et inversement :

  • Toutes les unités fonctionnent comme prévu ne signifie pas que la fonctionnalité est OK.
Introduction aux tests en Python

Exemple de test de fonctionnalité : configuration

Configuration et définition du code de la fonctionnalité :

# Setup
import pandas as pd
import pytest

df = pd.read_csv('laptops.csv')

# Filter feature
def filter_data_by_manuf(df, manufacturer_name):
    filtered_df = df\
        [df["Manufacturer"] == manufacturer_name]
    return filtered_df
Introduction aux tests en Python

Exemple de test de fonctionnalité : test

Code de test :

# Feature test function
def test_unique():
    manuf_name = 'Apple'
    filtered = filter_data_by_manuf(df, manuf_name)
    assert filtered\
        ['Manufacturer'].nunique() == 1
    assert filtered\
        ['Manufacturer'].unique() == [manuf_name]
Introduction aux tests en Python

Résumé

Test de fonctionnalité : méthode d'essai logiciel qui permet de vérifier le comportement d'une fonctionnalité précise.

Les fonctionnalités sont plus larges que les unités :

  • Si un bouton est une unité, le clavier est une fonctionnalité.

Les tests de fonctionnalités aident à s'assurer que les utilisateurs obtiennent exactement ce qu'ils attendent.

Pour créer des tests de fonctionnalités, il faut définir des cas d'essai.

La clé pour concevoir ces tests : comprendre les fonctionnalités du système visé.

Introduction aux tests en Python

Passons à la pratique !

Introduction aux tests en Python

Preparing Video For Download...