Contenu du cours
Introduction aux Tests d'Automatisation QA
Introduction aux Tests d'Automatisation QA
Introduction aux Tests Unitaires
Test Unitaire est un type de cas de test conçu pour vérifier la fonctionnalité d'une unité spécifique au sein du code. Une unité se réfère généralement à la plus petite partie testable d'une application, telle qu'une fonction, une méthode, une classe ou un module. Le but d'un test unitaire est de s'assurer que ce composant se comporte comme prévu, isolé du reste du programme.
Dans ce chapitre, nous apprendrons à écrire quelques tests unitaires très basiques pour notre application. Bien qu'une introduction formelle aux tests unitaires soit faite dans la section suivante - ce chapitre vise à expliquer l'essence des tests unitaires à travers JavaScript en utilisant notre propre fonction de test personnalisée plutôt que d'utiliser un cadre de test.
Il est important de noter que dans les tests unitaires, nous visons à tester l'unité pour autant de cas ou d'entrées que possible. Il est important d'inclure tous les cas limites possibles lors de l'écriture de tests unitaires. Connaître le code d'une unité facilite la recherche des cas limites potentiels.
Cas Limite : Un cas limite se réfère à des scénarios ou des entrées qui se situent aux extrémités de l'espace d'entrée. Ces conditions ou entrées ne sont pas nécessairement inhabituelles mais se trouvent aux limites de ce que la fonction est censée gérer.
Espace d'Entrée : L'espace d'entrée se réfère à l'ensemble complet de toutes les entrées possibles qu'une fonction peut accepter.
Pour comprendre les scénarios de cas limites, considérons une fonction appelée calculateAverage
:
function calculateAverage(numbers) { if (numbers.length === 0) { return null; } let sum = 0; for (let i = 0; i < numbers.length; i++) { sum += numbers[i]; } return sum / numbers.length; } console.log(calculateAverage([])); // Output: null console.log(calculateAverage([42])); // Output: 42 console.log(calculateAverage([1e10, 2e10, 3e10])); // Output: 20000000000 console.log(calculateAverage([-1, -2, -3, -4, -5])); // Output: -3
Voici des exemples de certains cas limites qui explorent des situations uniques pour la fonction ci-dessus :
Passage d'un tableau vide
- Entrée :
[]
; - Sortie attendue :
null
;
Passage d'un tableau à un seul élément
- Entrée :
[42]
; - Sortie attendue :
42
;
Passage d'un tableau contenant de grands nombres
- Entrée :
[1e10, 2e10, 3e10]
; - Sortie attendue :
2e10
;
Passage d'un tableau contenant des nombres négatifs
- Entrée :
[-1, -2, -3, -4, -5]
; - Sortie attendue :
-3
;
Passer un tableau vide ou un tableau à un seul élément est une utilisation peu probable de la fonction calculateAverage
, cependant, cela reste une entrée possible, il est donc utile de tester la fonction pour ces scénarios - il en va de même pour les autres cas limites. Tester tous les cas limites possibles garantit la robustesse de l'unité testée.
1. Question 1 : Quel est l'objectif principal des tests unitaires dans le développement logiciel ?
2. À quoi fait référence un cas limite dans le contexte des tests unitaires ?
Merci pour vos commentaires !