La taverne du testeur

Les tests aux limites

Définition ISTQB : une technique de conception de tests boîte noire dans laquelle les cas de tests sont conçus sur la base des valeurs limites

Les tests aux limites sont donc des tests boite noire, c’est-à-dire que l’on ne s’intéresse que à ce que l’on met en entrée et ce que l’on a en sortie.

De plus, lorsque l’on parle de tests aux limites on fait référence aux « limites » des comportements de l’application (normalement définies dans les spécifications).

Le plus simple est de prendre un exemple :

Les PJ avec une application mail.

Spécifications, envoi de mail possible tant que :

·        Maximum 10 PJ

·        Maximum 20 Mo

D’après les spécifications on a donc un fonctionnement de cet ordre :

carré montrant le comportement de l'application en fonction de la taille et du poids des pièces jointe lors de l'envoi d'un message

Quels sont donc les tests aux limites ?

Les limites de comportements sont à :

·        0-1 PJ : à 0 PJ on n’envoie pas de PJ, à 1 PJ on en envoie

·        10-11 PJs : à 10 PJs on peut envoyer le mail à 11, on ne peut pas

·        20Mo-21Mo : à 20 Mo le mail peut être envoyé, à 21 Mo il ne peut pas l’être (attention c’est une simplification, car cela s’apparente plus à du continu : 20,1Mo ne devrait pas passer non plus)

Cela donne donc ces tests (qui peuvent être réduits à 3 tests : 10PJs-20Mo ; 11PJs-20Mo ; 10PJs-21Mo) :

Envoi OK jusqu'à 10 PJ inclus
Envoi KO à partir de 11 PJ inclus
Envoi OK jusqu'à 20 Mo au total
Envoi KO à partir de 21 Mo au total

Et donc :

représentation de la couverture des tests sur le carré représentant la couverture du comportement de l'application en utilisant les valeurs limites

Des tests qui ne seraient pas des tests aux limites pourraient ressembler à cela :

représentation de la couverture des tests sur le carré représentant la couverture du comportement de l'application en utilisant des valeurs aléatoires. La couverture est moins bonne et laisse des zones "grises"

Quel est l’intérêt des tests aux limites ?

Les tests aux limites ont un intérêt principal : Ils vérifient les points faibles de l’application les points qui ont le plus de chances d’être en échec.

En effet, dans l’exemple précédent les tests aux limites donne plus d’informations que les tests aléatoires. Dans le cas des tests aux limites on peut facilement dessiner la limite voulue par les spécifications alors que les limites sont beaucoup plus floues avec les tests aléatoires.

Dans le cas des tests aléatoire on sait :

·        16 Mo ou moins = OK

·        22 Mo ou plus = KO

·        7 PJs ou moins = OK

·        13 PJs ou plus = KO

On ne sait donc pas exactement ce qui se passe dans le cas de 10 PJs et 19 Mo, on n’est donc pas en mesure de repérer une erreur qui serait :

Max PJs = 9

Taille max = 21 Mo

Dans le cas des tests aux limites cela est trouvé.

Enfin, d’après les spécifications on a :

·        Si Nombre de PJs <= 10 alors OK, sinon KO

·        Si Taille totale Pjs <= 20 Mo alors OK, sinon KO

Une erreur fréquente est un code indiquant :

·        Si Nombre de PJs < 10 alors OK, sinon KO

·        Si Taille totale Pjs < 20 Mo alors OK, sinon KO

Les tests aux limites permettent de détecter ces problèmes.

Conclusion :

Les tests aux limites sont une technique de conception de test boite noire particulièrement efficace, permettant d’optimiser l’efficacité des tests.

Glossaire ISTQB

N’hésitez pas à rejoindre le groupe Le métier du test

N’hésitez pas à me suivre et lire mes autres articles si vous voulez en apprendre plus sur le test ou venir partager vos connaissances

Merci à tous ceux qui mettent « j’aime », partagent ou commentent mes articles

2 Responses

    1. Bonjour Zoé,
      c’est corrigé, merci!
      C’est un problème qui se voit avec la migration et qui est dû à un problème sur l’ancien hébergeur WordPress (qui perdait aussi des images). Il y a des articles qui ont perdu leurs images.
      Pour celui-ci c’est bon, je suis allé recherché sur l’ancien site les images et les ai réinjectées.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Campagnes

Les différentes campagnes de test

Une campagne de test est un ensemble de cas de tests à exécuter sur une période donnée. Le résultat de ces exécutions est alors synthétisé dans un bilan. Lors de chaque campagne, on a des critères de besoin et de temps qui nous sont donnés. Les besoins peuvent être : ·        Vérifier

Lire la suite »
IA

[A4Q] L’IA au service des tests

Cette conférence montre de manière pratique comment utiliser les traces d’exécution pour analyser les parcours utilisateurs avec des techniques de Machine Learning, identifier les besoins de tests de régression, et produire automatiquement les scripts de tests automatisés pertinents pour la couverture des parcours utilisateurs.

Lire la suite »
culture générale

Ce que nous apprend la mythologie sur les tests: Cassandre

L’idée de cette série m’est venue suite à l’excellent article de Zoé Thivet. Présentation de la série Les mythologies ont de nombreux intérêts. Je note par exemple ces 2 points: l’intérêt historique permettant de comprendre ce que les personnes croyaient au moment où ces mythologies étaient des religions l’intérêt histoire

Lire la suite »