Corner case

Dans l'ingénierie, un corner case (ou cas pathologique) se dit d'un problème ou une situation qui ne se produit qu'en dehors des paramètres de fonctionnement normaux, spécifiquement celui ou celle qui se manifeste lorsque plusieurs variables d'environnement ou conditions sont simultanément réunies avec des niveaux de valeurs extrêmes, même si chacune se trouve dans la plage de valeurs spécifiée pour le paramètre.

Par exemple, un haut-parleur pourrait déformer le son, mais seulement quand il est utilisé au volume maximum, avec un maximum de basses et dans des conditions de forte humidité. Autre exemple, un serveur de 64 processeurs et 512 Go de mémoire peut être lent, mais seulement lorsque 10 000 utilisateurs sont connectés en même temps.

Le corner case se distingue de l'edge case, où le problème ne se produit que lorsqu'un seul paramètre au maximum ou au minimum. Par exemple, un haut-parleur peut déformer le son au volume maximum, même en l'absence d'autres réglages ou conditions plus extrêmes.

Les corner case font partie du lexique des ingénieurs (en particulier un ingénieur en test ou de débogage d'un système complexe). Les corner case sont souvent plus difficiles et plus coûteux à reproduire, à tester et à optimiser car ils nécessitent des configurations très spéciales. Ils sont souvent moins testés, étant donné la faible probabilité que ces cas arrivent. Les utilisateurs experts des systèmes trouvent souvent des corner case, et dans beaucoup de cas, des erreurs de conception.

Le terme « corner case » vient par analogie avec les « edge case », comme une extension du « domaine de vol », une métaphore à un ensemble de conditions de test dont les limites sont déterminées par les 2de combinaisons extrêmes (minimum et maximum) des valeurs pour le nombre n de variables testées, c'est-à-dire, le total de l'espace des paramètres pour ces variables. Lorsqu'un edge case implique de repousser une variable à un minimum ou un maximum, de mettre les utilisateurs au "bord" de la configuration de l'espace, un coin de cas implique de le faire avec de multiples variables, ce qui permettrait de mettre les utilisateurs à un "corner" d'un multidimensionnelle de l'espace de configuration[1].

Voir aussi[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. « What are the difference between an edge case, a corner case, a base case and a boundary case? », sur Software Engineering Stack Exchange (consulté le )