Qu’est-ce que le test de réseau orthogonal ? (Exemple)

⚡ Résumé intelligent

Les tests par tableaux orthogonaux sont une technique de boîte noire qui utilise des tableaux statistiques pour construire un ensemble de tests compact, couvrant chaque paire de valeurs d'entrée avec beaucoup moins de cas de test que ne l'exigent les tests de combinaison exhaustifs.

  • (I.e. Promesse fondamentale : Chaque paire de niveaux entre deux facteurs quelconques apparaît au moins une fois dans les exécutions générées.
  • (I.e. Notation: Un tableau est écrit LFonctionne(Niveaux)Natural), donc L9(3⁴) signifie neuf essais pour quatre facteurs à trois niveaux.
  • (I.e. Échelle des économies réalisées : Quatre facteurs à trois niveaux chacun se réduisent de 81 combinaisons exhaustives à neuf essais orthogonaux.
  • 🧮 Règle d'équilibre : Les colonnes doivent être remplies de manière à ce qu'aucun facteur ne se déplace simultanément, sinon le tableau n'est pas orthogonal.
  • Outillage: GeneratorDes logiciels comme PICT et ACTS créent automatiquement le réseau, ce qui élimine la principale source d'erreurs manuelles.
  • ⚠️ Limite connue : La couverture par paires ne peut pas détecter un défaut qui nécessite la combinaison de trois valeurs spécifiques ou plus.

Les tests par tableaux orthogonaux réduisent les combinaisons d'entrées à un petit ensemble équilibré de cas de test

Tests de réseaux orthogonaux

Tests de réseaux orthogonaux (OAT) Le test par tableaux orthogonaux est une technique de test logiciel qui utilise des tableaux orthogonaux pour créer des cas de test. Il s'agit d'une approche de test statistique particulièrement utile lorsque le système testé accepte un grand nombre d'entrées de données. Le test par tableaux orthogonaux maximise la couverture des tests en appariant et en combinant les entrées, ce qui permet de tester le système avec un nombre relativement réduit de cas de test et un temps d'exécution plus court.

Par exemple, lors de la vérification d'un billet de train, il est nécessaire de contrôler des éléments tels que le nombre de passagers, le numéro du billet, les numéros de siège et le numéro du train. Tester chaque élément individuellement est fastidieux. Il est plus efficace pour l'ingénieur QA de combiner plusieurs entrées et de les tester en une seule opération. Dans ce cas, la méthode de test par matrice orthogonale peut être utilisée.

Ce type d'appariement ou de combinaison d'entrées pour gagner du temps est appelé test par paires, et la technique OATS est une méthode permettant de générer un ensemble de tests par paires. Comme cette technique fonctionne uniquement à partir des valeurs d'entrée et des résultats attendus, sans aucune consultation du code interne, elle appartient à la catégorie des tests automatisés. test de la boîte noire Black Angus .

Pourquoi OAT (Orthogonal Array Testing) ?

Dans le scénario actuel, fournir un produit logiciel de qualité au client est devenu un défi en raison de la complexité du code.

Dans la méthode classique, les suites de tests comprennent des cas de test dérivés de toutes les combinaisons de valeurs d'entrée et de préconditions. Par conséquent, un nombre n de cas de test doivent être couverts.

Mais dans un scénario réel, les testeurs n'auront pas le loisir d'exécuter tous les cas de test pour déceler les défauts, car d'autres activités telles que la documentation, les suggestions et les commentaires du client doivent être prises en compte pendant la phase de test.

Les responsables de tests ont donc souhaité optimiser le nombre et la qualité des cas de tests pour garantir un maximum Couverture de test avec un minimum d'effort. Cet effort est appelé optimisation des cas de test.

  • Méthode systématique et statistique pour tester les interactions par paires.
  • Les points d'interaction et d'intégration constituent une source majeure de défauts.
  • Exécutez un ensemble de cas de test bien définis et concis susceptibles de découvrir la plupart (mais pas la totalité) des bogues.
  • L'approche orthogonale garantit la couverture par paires de toutes les variables.

Cette technique vient donc s'ajouter aux autres méthodes de réduction des intrants déjà utilisées par l'équipe. Partitionnement par équivalence et analyse des valeurs limites Déterminer quelles valeurs méritent d'être testées pour un champ donné ; les tableaux orthogonaux déterminent quelles valeurs doivent être testées ensemble.

Représentation des tests de tableaux orthogonaux

Un tableau orthogonal est décrit par une formule concise plutôt que par son contenu. Le schéma ci-dessous illustre la relation entre les trois grandeurs de cette formule et la forme du tableau.

Notation de tableau orthogonal montrant les séquences, les facteurs et les niveaux dans la formule L(Séquences).

  • Courses (N) – Nombre de lignes dans le tableau, ce qui correspond au nombre de cas de test qui seront générés.
  • Facteurs (K) – Nombre de colonnes du tableau, ce qui correspond au nombre maximal de variables pouvant être traitées.
  • Niveaux (V) – Nombre maximal de valeurs pouvant être prises pour un facteur donné.

Un facteur unique comporte généralement 2 à 3 entrées à tester. Ce nombre maximal d'entrées détermine les niveaux.

Lisez le nom du tableau de gauche à droite. L9(34) Le 9 représente le nombre de séquences, le 3 le nombre de niveaux que chaque facteur peut prendre, et le 4 en exposant le nombre de facteurs. Le même article utilise L4(23), soit quatre essais pour trois facteurs ayant chacun deux niveaux.

Deux propriétés rendent un tableau orthogonal, et les deux doivent être vérifiées pour que le décompte des séquences puisse être considéré comme fiable :

  • L’équilibre : Chaque niveau d'un facteur apparaît le même nombre de fois dans sa propre colonne.
  • Complétude par paires : Pour deux colonnes quelconques, chaque combinaison d'un niveau de chaque colonne apparaît le même nombre de fois.

Si la deuxième propriété échoue, le tableau n'est qu'un ensemble de test raccourci, et non un tableau orthogonal, et la garantie par paires qui justifie la réduction ne s'applique plus.

Comment effectuer des tests de réseaux orthogonaux : exemples

  1. Identifiez la variable indépendante du scénario.
  2. Trouvez le plus petit tableau avec le nombre d'exécutions.
  3. Mappez les facteurs sur le tableau.
  4. Choisissez les valeurs pour tous les niveaux « restants ».
  5. Transcrivez les courses en cas de test, en ajoutant toutes les combinaisons particulièrement suspectes qui ne sont pas générées.

Les deux exemples détaillés ci-dessous appliquent ces cinq étapes, d'abord à un petit problème à deux niveaux, puis à un problème plus important à trois niveaux.

Exemple 1

Une page Web comporte trois sections distinctes (Haut, Milieu, Bas) qui peuvent être affichées ou masquées individuellement pour l'utilisateur.

  • Nombre de facteurs = 3 (haut, milieu, bas)
  • Nombre de niveaux (visibilité) = 2 (caché ou affiché)
  • Type de tableau = L4(2)3)

(4 correspond au nombre d'exécutions obtenues après la création du tableau OAT)

Si nous optons pour la technique conventionnelle consistant à modifier une section à la fois, nous avons besoin de cas de test comme 2 X 3 = 6 cas de test.

Cas de test Les scénarios Valeurs à tester
Test #1 HIDDEN Top
Test #2 MONTRÉ Top
Test #3 HIDDEN Bas
Test #4 MONTRÉ Bas
Test #5 HIDDEN Milieu
Test #6 MONTRÉ Milieu

Ces six essais font varier une section à la fois et ne placent jamais deux sections dans un état donné simultanément. Tester chaque combinaison prendrait 23 = 8 courses.

Si nous optons pour les tests OAT, nous avons besoin de 4 cas de test, comme indiqué ci-dessous :

Cas de test TOP Milieu Bas
Test #1 caché caché caché
Test #2 caché Visible Visible
Test #3 Visible caché Visible
Test #4 Visible Visible caché

Vérifiez deux colonnes quelconques de ce tableau et les quatre paires Cachées/Visibles apparaissent exactement une fois, ce qui est la propriété d'orthogonalité dans sa forme la plus simple.

Exemple 2

La fonctionnalité d'un microprocesseur doit être testée :

  • Température : 100C, 150C et 200C.
  • Pression : 2 psi, 5 psi et 8 psi
  • Doping Montant : 4 %, 6 % et 8 %
  • Vitesse de dépôt : 0.1 mg/s, 0.2 mg/s et 0.3 mg/s

En utilisant la méthode conventionnelle, nous avons besoin de 34 = 81 cas de test pour couvrir toutes les entrées. Utilisons plutôt la méthode OATS :

Nombre de facteurs = 4 (température, pression, etc.)ping montant et taux de dépôt)

Niveaux = 3 niveaux par facteur (la température a 3 niveaux – 100 °C, 150 °C et 200 °C – et de même les autres facteurs ont également 3 niveaux chacun)

Créez un tableau comme ci-dessous :

1. Colonnes avec le nombre de facteurs

Cas de test # Température Pression Doping montant Taux de dépôt

2. Indiquez le nombre de lignes correspondant aux niveaux de chaque facteur. Par exemple, la température comporte 3 niveaux. Insérez donc 3 lignes, une pour chaque niveau de température.

Cas de test # Température Pression Doping montant Taux de dépôt
1 100C
2 100C
3 100C
4 150C
5 150C
6 150C
7 200C
8 200C
9 200C

3. Maintenant, répartissez la pression, faitesping la quantité et les taux de dépôt dans les colonnes.

Par exemple : saisissez 2 psi pour les températures de 100 °C, 150 °C et 200 °C, et de même, saisissez…ping montant 4% pour 100C, 150C et 200C et ainsi de suite.

Cas de test # Température Pression Doping montant Taux de dépôt
1 100C 2 psi 4% 0.1mg/s
2 100C 5 psi 6% 0.2mg/s
3 100C 8 psi 8% 0.3mg/s
4 150C 2 psi 4% 0.1mg/s
5 150C 5 psi 6% 0.2mg/s
6 150C 8 psi 8% 0.3mg/s
7 200C 2 psi 4% 0.1mg/s
8 200C 5 psi 6% 0.2mg/s
9 200C 8 psi 8% 0.3mg/s

Par conséquent, dans les OA, nous avons besoin de 9 cas de test à couvrir.

Note sur l'exactitude : Remplir les trois colonnes restantes verticalement, comme à l'étape 3, en appliquant la même pression, faireping et le dépôt triple à l'intérieur de chaque bloc de température. Pression et faireping Les valeurs se déplacent donc ensemble, et des paires telles que 2 psi avec 6 % n'apparaissent jamais ; les neuf lignes ci-dessus constituent donc un ensemble de test réduit plutôt qu'un véritable tableau orthogonal. Le L9(3) équilibré4Le tableau ci-dessous conserve les mêmes neuf séquences tout en couvrant les neuf paires de niveaux entre chaque paire de facteurs.

Cas de test # Température Pression Doping montant Taux de dépôt
1 100C 2 psi 4% 0.1mg/s
2 100C 5 psi 6% 0.2mg/s
3 100C 8 psi 8% 0.3mg/s
4 150C 2 psi 6% 0.3mg/s
5 150C 5 psi 8% 0.1mg/s
6 150C 8 psi 4% 0.2mg/s
7 200C 2 psi 8% 0.2mg/s
8 200C 5 psi 4% 0.3mg/s
9 200C 8 psi 6% 0.1mg/s

Tests sur matrices orthogonales vs tests par paires (toutes les paires)

Ces deux termes sont souvent utilisés indifféremment, bien qu'ils ne soient pas identiques. Tous deux visent à couvrir des paires de valeurs, mais diffèrent par le degré de contrainte imposé au tableau résultant.

Aspect Tests de matrice orthogonale Tests par paires (toutes les paires)
Structure sous-jacente Tableau orthogonal, emprunté à la conception d'expériences Tableau de couverture, généré par un algorithme de recherche
Règle de couverture Chaque paire apparaît un nombre égal de fois Chaque paire apparaît au moins une fois
Facteurs à niveaux inégaux Nécessite un tableau à niveaux mixtes, qui peut ne pas exister pour la forme requise. Géré directement par le générateur
nombre de séquences typique Égal ou légèrement supérieur, en raison de l'exigence d'équilibre Égal ou inférieur pour les mêmes entrées
Contraintes entre les valeurs Difficile à exprimer à l'intérieur du tableau Compatible avec la plupart des générateurs modernes

En pratique, un tableau orthogonal équilibré est le modèle pédagogique le plus clair et le choix le plus sûr lorsque les facteurs ont le même nombre de niveaux, tandis qu'un tableau de couverture est celui que la plupart des outils produisent pour les projets réels avec des entrées complexes et inégales. Les deux sont complémentaires. test de table de décision et test de transition d'état, qui ciblent les règles métier et la séquence plutôt que les combinaisons de valeurs.

Outils de test de matrices orthogonales

La création manuelle d'un tableau n'est pratique que pour les petits exemples mentionnés précédemment. Au-delà de quatre ou cinq facteurs, les équipes utilisent un générateur qui détermine automatiquement le nombre d'itérations.

  • PICTE : un générateur de ligne de commande open-source de MicrosoftLes paramètres et leurs valeurs sont enregistrés dans un fichier de modèle en texte brut, et l'outil affiche l'ensemble des combinaisons possibles. Les contraintes et les sous-modèles sont pris en charge, ce qui est important lorsque certaines paires de valeurs sont invalides. Voir la documentation. dépôt PICT.
  • ACTES : Un outil de recherche du NIST qui génère des matrices de couverture pour une couverture bidirectionnelle à six directions et publie également une bibliothèque de matrices précalculées. Il est disponible auprès du projet de tests combinatoires du NIST.
  • Plateformes combinatoires commerciales : Les outils hébergés ajoutent une exigence traccapacité, résultats attendus et exportation vers un système de gestion des tests, ce qui convient aux grandes équipes qui ont besoin d'une piste d'audit.
  • Bibliothèques de tableaux publiées : Les tableaux standard tels que L4, L8, L9, L16 et L18 sont tabulés et peuvent être copiés directement lorsque les nombres de facteurs et de niveaux correspondent.

Quel que soit l'outil qui génère le tableau, les lignes produites doivent encore être transformées en cas exécutables avec des données réelles et des résultats attendus, puis planifiées comme n'importe quelle autre suite de tests au sein du système. techniques de test de logiciels déjà utilisé dans le cadre de ce projet.

Avantages des tests par matrice orthogonale

  • Garantit le test des combinaisons par paires de toutes les variables sélectionnées.
  • Réduit le nombre de cas de test.
  • Cela permet de réduire le nombre de cas de test tout en couvrant l'interaction de chaque paire de variables.
  • Il est possible de gérer une combinaison complexe de variables.
  • Est plus simple à générer et moins sujet aux erreurs que les ensembles de tests créés à la main.
  • Il est utile pour Test d'intégrationet tout aussi utile pour tests de configuration, où les combinaisons de navigateurs, de systèmes d'exploitation et d'appareils se multiplient rapidement.
  • Il améliore la productivité grâce à la réduction des cycles et des durées de test.

Les économies réalisées pendant les tests de régression, car une suite équilibrée plus petite est suffisamment peu coûteuse pour être réexécutée à chaque cycle, tandis qu'une suite de combinaisons exhaustives est généralement exécutée une seule fois, puis discrètement abandonnée.

Inconvénients des tests par matrice orthogonale

  • À mesure que le volume de données augmente, la complexité de la conception des cas de test s'accroît. Par conséquent, l'effort manuel et le temps consacré augmentent, et les testeurs doivent s'efforcer de… Tests d'automatisation.
  • La couverture par paires n'est pas une couverture complète. Un défaut qui n'apparaît que lorsque trois valeurs spécifiques sont présentes simultanément peut passer inaperçu dans le réseau.
  • Les facteurs ayant un nombre de niveaux différent ne se mappent pas correctement sur un tableau standard ; un tableau à niveaux mixtes ou un générateur de tableau de couverture est donc nécessaire.
  • Le choix des niveaux relève du jugement. Si une valeur importante est omise du modèle d'entrée, aucun tableau ne pourra la retrouver.
  • Les contraintes entre les valeurs, comme un mode de paiement valable uniquement dans un pays, sont difficiles à exprimer et produisent généralement des lignes invalides qui doivent être supprimées manuellement.

Aucune de ces limitations n'exclut la technique ; elles en définissent simplement les limites. Les matrices orthogonales réduisent le problème de combinaison, tandis que l'analyse des risques et tests de domaine décider quels facteurs méritent d'être inclus dans le modèle dès le départ.

Erreurs ou erreurs lors de l'exécution de l'OAT

  • Orienter les efforts de test vers la mauvaise zone de l'application.
  • Choisir les mauvais paramètres à combiner.
  • Utilisation de tests sur tableaux orthogonaux lorsque l'ensemble d'entrée est suffisamment petit pour être testé de manière exhaustive.
  • Application manuelle des tests de matrices orthogonales sur un modèle suffisamment grand pour nécessiter un générateur.
  • S’appuyer uniquement sur les tests de matrices orthogonales pour les applications à haut risque, où une couverture plus approfondie est nécessaire.

Le dernier élément est celui qui cause le plus de dégâts en pratique. Pour une fonctionnalité critique en matière de sécurité ou financière, l'ensemble des paires constitue un plancher plutôt qu'un plafond, et il est généralement complété par des cas ciblés. test du système niveau et avec le plan plus large décrit dans types de tests logiciels.

FAQ

Il s'agit d'une technique de type « boîte noire ». Le tableau est construit uniquement à partir des paramètres d'entrée et de leurs valeurs autorisées, sans aucune référence au code source, aux branches ou à l'état interne ; il peut donc être conçu avant la fin de l'implémentation.

Le testeur élabore le modèle d'entrée, généralement avec l'aide d'un analyste métier qui vérifie la validité des valeurs. Les développeurs interviennent pour les paramètres internes, comme les paramètres de cache. C'est la qualité du modèle, et non le tableau, qui détermine la valeur de la suite de tests.

Non, cela dépend. Le partitionnement et l'analyse des limites réduisent chaque champ à quelques valeurs représentatives, et le tableau détermine ensuite quelles valeurs sont combinées. Appliquer le tableau à des valeurs brutes non filtrées produit un tableau inutilement volumineux.

Un tableau à niveaux mixtes est nécessaire, par exemple L18 qui combine des colonnes à deux et trois niveaux. Lorsqu'aucun tableau standard ne convient, un générateur de tableau couvrant gère directement la forme et renvoie un tableau plus petit que si l'on imposait un nombre de niveaux identique pour chaque facteur.

Toute défaillance nécessitant simultanément trois valeurs spécifiques ou plus. Des études empiriques sur les données de défaillance indiquent que la plupart des défaillances sont déclenchées par un ou deux paramètres ; c’est pourquoi une couverture par paires est efficace, mais une couverture à trois voies est conseillée pour les fonctionnalités critiques.

Principalement au niveau de l'intégration et du système, là où plusieurs composants ou paramètres interagissent. Cela s'applique également aux matrices d'environnement, telles que le navigateur, le système d'exploitation et la taille de l'écran, ainsi qu'à tout produit configurable dont le nombre de combinaisons disponibles dépasse la fenêtre de test accessible.

L'apprentissage automatique analyse les exigences et les journaux de production pour identifier les facteurs et les niveaux pertinents, tandis que les modèles d'historique des défauts classent les combinaisons méritant une couverture à trois niveaux. Le traitement mathématique est déterministe ; l'intelligence réside dans le choix des données d'entrée du modèle.

Il génère le fichier de modèle pour un générateur, la boucle pilotée par les données qui lit les lignes, ainsi que les assertions associées. Vérifiez la couverture déclarée avec le générateur lui-même, car un modèle de langage peut produire un tableau plausible mais non orthogonal.

Résumez cet article avec :