Générateur d'analyse des valeurs limites et calculateur de partitionnement par équivalence
Donnez-lui un nom de champ et une plage valide, et il produit les sept cas limites, les trois partitions d'équivalence, et six valeurs spéciales qu'on rate — chacun avec la raison de son existence.
Nommez le champ, définissez la plage valide, choisissez entier ou décimal. Treize cas de test avec justification, exportés en tableau Markdown.
Ouvrir l'outil — gratuit, sans inscriptionL'analyse des valeurs limites, correctement
Les défauts se regroupent aux bords d'une plage parce que c'est là qu'un
développeur écrit une comparaison, et < contre
<= est une touche de clavier. L'analyse des valeurs limites
teste ces bords directement.
Pour chaque borne, vous testez trois valeurs : un pas en dessous, la borne elle-même, et un pas à l'intérieur. Prenez un champ de quantité de commande avec une plage valide de 1 à 100, entiers :
| Entrée | Attendu | Pourquoi |
|---|---|---|
| 0 | Rejeter | Juste sous le minimum — l'erreur d'un cran classique |
| 1 | Accepter | Borne minimale, inclusive |
| 2 | Accepter | Juste à l'intérieur de la borne basse |
| 50 | Accepter | Valeur nominale de la partition valide |
| 99 | Accepter | Juste à l'intérieur de la borne haute |
| 100 | Accepter | Borne maximale, inclusive |
| 101 | Rejeter | Juste au-dessus du maximum |
Sept cas. Si le développeur a écrit qty < 100 au lieu de
qty <= 100, le cas six l'attrape. S'il a écrit
qty > 0 sur un champ qui devrait commencer à 1, le cas deux le
fait.
Le partitionnement par équivalence, correctement
Le partitionnement est l'étape avant les bornes. Divisez chaque entrée possible en classes où le système devrait se comporter à l'identique, puis testez une valeur de chaque classe au lieu de toutes. Pour le même champ : sous la plage (invalide — testez avec 0), dans la plage (valide — testez avec 50), au-dessus de la plage (invalide — testez avec 101). Trois cas au lieu d'une centaine.
Les deux techniques sont la même idée à des niveaux de zoom différents : les partitions disent où tester, les bornes disent exactement quelle valeur. Dire cette phrase en entretien score mieux que réciter les nombres.
Les valeurs qu'on oublie
Le troisième tableau couvre ce qu'aucune technique ne produit seule :
entrée vide, entrée non numérique, zéro, moins un, une valeur de mauvaise
précision (1.5 dans un champ entier), et 999999999
pour le débordement et les limites de longueur de champ. Zéro et moins un sont
marqués valides ou invalides selon votre plage réelle, pas supposés. C'est
généralement là que sont les vrais bugs — la logique de plage est souvent
correcte tandis que la gestion du type et du vide ne l'est pas.
Erreurs courantes
Tester seulement les bornes et sauter la valeur nominale. Si chaque cas se situe à un bord, un bug sur le chemin ordinaire passe inaperçu. Le cas du milieu n'est pas du remplissage.
Utiliser le mauvais pas. Pour un champ de prix valide de 0.01 à 99.99, un pas sous le minimum est 0.00, pas −1. Réglez le type correctement ou les valeurs « juste à l'extérieur » n'ont aucun sens.
Supposer que les bornes sont inclusives. Ce générateur traite min et max comme valides parce que c'est la convention courante — mais lisez l'exigence. Si la spec dit « moins de 100 », alors 100 doit être rejeté et vos résultats attendus s'inversent.
S'arrêter à la plage. Un champ qui rejette correctement 101 et accepte joyeusement une chaîne vide est quand même cassé.
Questions fréquentes
Qu'est-ce que l'analyse des valeurs limites, avec un exemple ?
Elle teste les valeurs aux bords d'une plage valide, là où vivent les erreurs d'un cran. Pour un champ valide de 1 à 100, vous testez 0, 1, 2, 99, 100 et 101 — un en dessous de chaque borne, la borne elle-même, et un à l'intérieur — plus une valeur nominale comme 50.
Quelle est la différence entre l'analyse des valeurs limites et le partitionnement par équivalence ?
Le partitionnement par équivalence divise toutes les entrées en classes qui devraient se comporter pareil et teste une valeur par classe. L'analyse des valeurs limites teste ensuite les bords exacts entre ces classes. Les partitions disent où tester ; les bornes disent quelle valeur utiliser.
Combien de cas de test l'analyse des valeurs limites produit-elle ?
Pour une seule plage à bornes inclusives, sept : en dessous du minimum, le minimum, juste au-dessus du minimum, le nominal, juste en dessous du maximum, le maximum, au-dessus du maximum. Ce générateur ajoute trois cas de partition et six valeurs spéciales, soit 13 au total par champ.
Est-ce que ça marche pour les champs décimaux ?
Oui. Sélectionnez décimal et le pas devient 0,01 au lieu de 1, donc une plage de 0,01 à 99,99 produit 0,00 et 100,00 comme cas hors-borne. Le tableau des valeurs spéciales passe aussi à tester la précision supplémentaire plutôt que la rigueur entière.