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.
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.
- 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
- Identifiez la variable indépendante du scénario.
- Trouvez le plus petit tableau avec le nombre d'exécutions.
- Mappez les facteurs sur le tableau.
- Choisissez les valeurs pour tous les niveaux « restants ».
- 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.

