Glossaire · Conception des tests
Analyse des valeurs limites
En anglais : Boundary value analysis
Également appelé : BVA, valeurs limites, test aux limites, test des valeurs limites
Définition
Une technique de conception de tests boîte noire qui choisit des entrées sur les bornes des plages valides et juste autour, là où se concentrent les erreurs de décalage d’un.
L’analyse des valeurs limites (BVA, boundary value analysis) teste les valeurs situées aux bornes de chaque plage d’entrée, parce que c’est là que les développeurs se trompent : > au lieu de >=, < 60 au lieu de <= 60, une boucle qui s’exécute une fois de trop. Elle s’applique normalement après le partitionnement en classes d’équivalence, qui identifie les plages ; la BVA choisit ensuite les valeurs exactes sur chaque borne et autour.
Exemple : âge de 18 à 60 ans accepté
Un formulaire d’inscription accepte les âges de 18 à 60 ans inclus.
BVA à deux valeurs (la borne et sa voisine la plus proche hors de la plage) :
| Entrée | Attendu |
|---|---|
| 17 | Refusé |
| 18 | Accepté |
| 60 | Accepté |
| 61 | Refusé |
La BVA à trois valeurs ajoute la voisine située à l’intérieur de chaque borne :
| Entrée | Attendu |
|---|---|
| 17, 18, 19 | Refusé, Accepté, Accepté |
| 59, 60, 61 | Accepté, Accepté, Refusé |
Six tests au lieu de 43 âges valides possibles, et ces six tests détectent les erreurs de comparaison courantes. Si le code indique age > 18, le test avec 18 échoue. S’il indique age < 60, le test avec 60 échoue.
Au-delà des plages numériques
Il y a des limites partout où il y a une contrainte :
- Longueur : un nom d’utilisateur de 3 à 20 caractères implique de tester 2, 3, 20 et 21 caractères.
- Dates et heures : un lien valable 30 minutes implique de tester à 29:59, 30:00 et 30:01. Vérifiez aussi minuit, les fins de mois et les années bissextiles le cas échéant.
- Collections : un panier vide, un article, et le nombre maximal d’articles autorisé plus un.
- Montants : 99,99 €, 100,00 € et 100,01 € pour une règle « livraison gratuite dès 100 € ».
- Limites techniques : taille maximale de fichier, dépassement d’entier, taille de page dans les API paginées.
Erreurs courantes
- Ne tester que le côté valide. 17 et 61 comptent autant que 18 et 60.
- Supposer la borne. « Jusqu’à 60 » peut signifier que 60 est inclus ou non. Posez la question et consignez la réponse dans les critères d’acceptation.
- Ignorer le type et la précision. Si le champ accepte des décimales, la valeur juste en dessous de 18 peut être 17,99 et non 17.
- Oublier les limites cachées. Une colonne de base de données ou une API peut imposer une limite différente de celle de l’UI. Testez les limites à chaque couche.