Qu'est-ce que Analyse des valeurs limites (boundary value analysis) ?
Technique de test boîte noire qui, parce que les défauts ont tendance à se concentrer aux frontières entre classes d'équivalence, teste les valeurs situées immédiatement de part et d'autre de chaque frontière (par exemple 0, 1, 100 et 101 quand les valeurs de 1 à 100 sont acceptées). Elle est efficace pour trouver des erreurs comme la confusion d'opérateurs de comparaison.
Nom japonais: 境界値分析
« Analyse des valeurs limites (boundary value analysis) » apparaît dans 3 questions d'entraînement réparties sur 1 thèmes, dont Développement logiciel et gestion de projet.
Domaine: Développement logiciel et gestion de projet
Comment choisir les valeurs
Quand les entrées entières de 1 à 100 sont acceptées, on choisit 0 et 1 à la frontière inférieure, et 100 et 101 à la frontière supérieure. Une variante plus fine teste chaque valeur limite et ses deux voisines (0, 1, 2 et 99, 100, 101). Quand il y a plusieurs catégories, comme des catégories de tarif, on choisit des valeurs de part et d'autre de chaque frontière où la catégorie change. Pour les entrées décimales, la valeur voisine est déterminée par la résolution fixée dans la spécification (comme des pas de 0,1).
Les frontières dans les logiciels proches du matériel
Les logiciels embarqués ont de nombreuses frontières numériques dans leur spécification : seuils sur les lectures d'un ADC, moment où un compteur de temporisateur repasse de son maximum à 0, moment où un tampon devient exactement plein, longueur maximale des paquets d'un protocole de communication, etc. Les erreurs de calcul sont fréquentes autour du dépassement de 255 à 0 d'un compteur 8 bits, ou de la frontière entre 32 767 et −32 768 pour un entier signé de 16 bits. On identifie ces frontières à la fois à partir des chiffres de la spécification et des plages des types de données.
Questions fréquentes
Comment combiner partitionnement en classes d'équivalence et analyse des valeurs limites ?
On les combine généralement. Le partitionnement en classes d'équivalence répartit les entrées en classes et teste un représentant de chacune, et l'analyse des valeurs limites ajoute des tests de part et d'autre des frontières entre classes. Le partitionnement seul réduit le nombre de tests, mais tend à manquer les erreurs aux frontières.
L'analyse des valeurs limites est-elle une technique de test boîte blanche ?
Elle choisit des valeurs aux frontières des plages écrites dans la spécification : c'est donc une technique de test boîte noire. Toutefois, certaines frontières, comme les tailles de tableaux et les plages des types de données internes à l'implémentation, ne figurent pas dans la spécification, si bien qu'on ajoute parfois des valeurs après avoir examiné le code source.