Introduction aux tests

Introduction aux tests en Java

Maria Milusheva

Senior Software Engineer

Qu'est-ce qu'un test ?

Vérification logicielle :

  • Processus qui évalue un logiciel pour voir s'il respecte les exigences définies

Les tests peuvent être :

  • Manuels – nécessaires, mais limités et moins fiables
  • Automatisés – exécutent des centaines de tests et vérifications en quelques secondes

Nous utiliserons JUnit 5 pour les tests automatisés

Graphique d'un programmeur

Introduction aux tests en Java

Cas limites

« If it's not tested, it's broken. »$^1$

Cas limite – entrée ou condition à l'extrémité ou à la frontière de ce qui est typique ou attendu

Exemples : variables à capacité maximale, variables nulles ou vides, valeurs négatives

Graphique symbolisant un test

1 Citation à l'origine de Bruce Eckel
Introduction aux tests en Java

Exemple de comportement inattendu à un cas limite

Considérez le code suivant :

public int addTwoNumbers(int a, int b) {
    return a + b;
}

⚠ Songez aux entrées 2147483647 (valeur max d'un entier) et 1

➡ La sortie est -2147483648 (valeur min d'un entier)

Introduction aux tests en Java

Rappel : taille des variables – les primitifs sont limités

Tableau résumant les types primitifs : byte, short, int, long, float, double, char et boolean

Introduction aux tests en Java

Exemple : lancement d'Ariane 5

Premier vol de la fusée Ariane 5 en 1996 :

  • Plus de 8 ans de développement
  • Coût de plus de 370 M$
  • Explosion 37 secondes après le lancement
  • Causée par une erreur logicielle : dépassement de short

Lancement de la fusée Ariane 5 de l'Agence spatiale européenne.

Introduction aux tests en Java

Avantages des tests

  • Protègent contre les bogues de cas limite
  • Mènent à une meilleure compréhension du projet et de ses exigences
  • Accélèrent le développement à long terme
  • Automatisent l'application des exigences
  • Réduisent les erreurs humaines

light_bulb.jpg

1 https://books.google.com/books/about/Clean_Architecture.html?id=8ngAkAEACAAJ
Introduction aux tests en Java

Passons à la pratique !

Introduction aux tests en Java

Preparing Video For Download...