Tests

Étude de cas : développer un logiciel en Python

Mark Pedigo

Principal Data Scientist

Feuille de route

Feuille de route indiquant les parties du projet terminées et celles à démarrer.

Étude de cas : développer un logiciel en Python

Pourquoi des tests automatisés ?

  • Tests automatiques pilotés par logiciel
  • Aucune intervention humaine requise
  • Des vérifications simples aux évaluations complètes

Un robot testant du code

Étude de cas : développer un logiciel en Python

Avantages des tests automatisés

  • Qualité du code améliorée
  • Réduction des risques
  • Meilleure expérience utilisateur
Étude de cas : développer un logiciel en Python

À quoi servent les tests unitaires ?

  • Composants ou fonctions testés isolément
  • Focus sur les plus petites parties de l'application
  • Vérifier la sortie attendue pour une entrée donnée

Une loupe examinant des blocs

Étude de cas : développer un logiciel en Python

Qu'est-ce que la bibliothèque pytest ?

  • Framework de test populaire pour Python
  • Prend en charge les tests unitaires
  • Réputé pour sa simplicité, sa flexibilité et ses fonctionnalités
Étude de cas : développer un logiciel en Python

Atouts de pytest

  • Simplicité et lisibilité
  • Fixtures puissantes
  • S'intègre à d'autres outils
Étude de cas : développer un logiciel en Python

Test unitaire – exemple

# 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

Exécuter dans la console :

pytest test_math.py

===== test session starts ===== collected 1 item test_math_functions.py . [100%] ====== 1 passed in 0.03s ======
Étude de cas : développer un logiciel en Python

Passons à la pratique !

Étude de cas : développer un logiciel en Python

Preparing Video For Download...