Introduction aux tests

Introduction aux tests en Java

Maria Milusheva

Senior Software Engineer

Qu'est-ce que le test ?

Test logiciel :

  • Processus d'évaluation d'un logiciel pour vérifier qu'il respecte les exigences spécifiées

Le test peut être :

  • Manuel – nécessaire mais limité et moins fiable
  • Automatisé – permet d'exécuter 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 aux extrêmes 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 initiale de Bruce Eckel
Introduction aux tests en Java

Exemple de comportement inattendu en cas limite

Considérez le code suivant :

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

⚠ Considérez les entrées 2147483647 (valeur max d'un entier) et 1

➡ Le résultat est -2147483648 (valeur min d'un entier)

Introduction aux tests en Java

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

Tableau récapitulant 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 supérieur à 370 millions $
  • Explosion 37 secondes après le décollage
  • Causée par une erreur logicielle : dépassement de capacité d'un short

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

Introduction aux tests en Java

Atouts des tests

  • Protège contre les bogues de cas limite
  • Améliore la compréhension du projet et de ses exigences
  • Accélère le développement sur la durée
  • Automatise le respect des exigences
  • Réduit 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...