Stratégies de génération automatique des tests

 automated_test_suite_implementation

MaTeLo propose des algorithmes haute performance basés sur l'analyse des risques pour générer automatiquement des ensembles de tests fonctionnels.

Visualisation des chemins de test créés

Les suites de test sont visualisables graphiquement à travers la surbrillance des chemins dans les macro chaînes. La visualisation des chemins s’exporte en Word, PDF, HTML, Excel, et dans les ALMs. Le testeur manuel peut utiliser ces supports pour réaliser ses campagnes de test.

Sélection d’un périmètre de test

La génération de scénarios de test peut être faite sur un modèle complet ou sur un sous-modèle en sélectionnant les macro chaines souhaitées.
Il est possible d'appliquer un filtre complémentaire en sélectionnant les exigences à tester. Dès lors, seules les transitions nécessaires à l'atteinte de ces exigences sont gardées. Cela permet de sélectionner automatiquement les pré requis et post requis de test. Les transitions filtrées apparaissent en gris.
Il est par ailleurs possible de filtrer certains chemin du modèle en appliquant une fréquence de profil à 0. Les chemins interdits deviennent rouge.

Stratégies de test :

 

Test fumigatoire

L'algorithme MOST PROBABLE permet la génération des scénarios de test du chemin le plus probable au moins probable, basée sur les probabilités des profils. C’est la stratégie la plus rapide à réaliser dès le début de la campagne. Quelques scénarios sont générés, ce qui permet de vérifier que les grandes fonctionnalités du système sont en état opérationnel. Dans le cas contraire, il est souvent inutile de rentrer dans les détails de la campagne.

 

Test basés sur les risques ou les usages

L'algorithme USER ORIENTED permet la génération statistique d'un échantillon. L’utilisateur indique le nombre de cas de test souhaité, leur longueur maximale, et le profil statistique souhaité. Les cas de test et leurs transitions/steps sont générés proportionnellement à la probabilité de tirage de la transition, ou de la probabilité d’occurrence des classes d’équivalence. La génération se fait par marche aléatoire sur le modèle en fonction des fréquences associées aux transitions ainsi qu’au choix des valeurs pour les stimulations. Comme pour tous les algorithmes de génération, la valorisation des classes d'équivalence numériques est aléatoire (rectangulaire) ou bien aux limites des valeurs pivots hautes ou basses.

-

Test de Regression

L'algorithme MINIMUM ARC COVERAGE. Toutes les transitions ainsi que les branches soumises à des règles de gestions au niveau d’une transition conditionnelle, sont couvertes en un minimum de steps. MaTeLo va analyser comment accéder aux branches conditionnelles et décider de la priorisation préalable des chemins pour atteindre au plus vite le bon contexte, et donc accéder aux transitions qui portent les combinatoires permettant de répondre à la règle de gestion.

-

Test d’Evolution et de convergence rapide

Avec l'algorithme USER ORIENTED FILTERED, on utilise le même principe que le USER ORIENTED, avec la possibilité de ne pas regénérer plusieurs fois une suite de test avec des caractéristiques spécifiques en filtrant chaque suite de test si elle n’apporte pas de gain complémentaire sur la couverture. Les critères de filtre sont les transitions, les classes d’équivalence, les chemins, ou à la fois les chemins et les classes d’équivalence. La base de référence de comparaison sont les cas de test déjà générés. Ainsi chaque nouveau test apportera une couverture complémentaire, et convergera rapidement vers l'objectif du filtre. En option, on peut inclure les cas de test déjà générés lors d’une autre campagne. Il devient ainsi possible de réaliser la campagne sur les deltas entre 2 campagnes, en ne regénérant que les évolutions.

-

Couverture minimum des données

Le générateur de pattern "Minimum Data Coverage" permet à partir d'une transition contenant des stimulations avec des classes d'équivalence, de créer automatiquement un modèle de test avec autant de transitions que de classes d'équivalence. Utilisé conjointement avec l'algorithme MINIMUM ARC COVERAGE, MaTeLo génère le minimum de cas de test pour couvrir au moins une fois chaque classe d'équivalence des stimulations.

-

Couverture complête des données

Le générateur de pattern "Full Data Coverage" permet à partir d'une transition contenant des stimulations avec des classes d'équivalence, de créer automatiquement un modèle "poupée Russe" récursif où à chaque classe d'équivalence d'une stimulation est associé un sous-modèle qui contient à son tour les classes d'équivalence de la stimulation suivante. Utilisé conjointement avec l'algorithme MINIMUM ARC COVERAGE, MaTeLo génère l'ensemble des combinatoires possibles des classes d'équivalence.

-

Couverture spécifique des données

Grace à la génération de pattern de modèle automatique, MaTeLo offre la possibilité de générer certaines partie de modèle en "Full Data Coverage", avec une forte couverture mais un grand nombre de tests, et d'autres partie en mininum data coverage pour les combinatoires ne nécessitant pas l’exhaustivité. On peut aussi saisir la dépendance entre les classes d'équivalence en liant des sous modèles entre eux et de pondérer statistiquement les liens entre les classes. Utilisé conjointement avec l'algorithme "Minimum Arc Coverage", MaTeLo génère de façon déterministe la juste couverture et suites de test désirée. Utilisé conjointement avec l'algorithme user oriented ou filtered, les cas de test générés représentent un échantillon du profil statistique.

-

Echantilloneur de Gibbs

Certains systèmes complexes, comme l'environnement des véhicules autonomes, ont des combinatoires très importantes. Par exemple, on peut observer facilement pour ce type d'environnement un minima de 100 paramètres ayant chacun 10 classes d'équivalence. Dans cet exemple, la combinatoire déterministe complète est égale à 10 puissance 100, ce qui n'est pas envisageable en test. La méthode de tirage selon les profils statistiques va converger lentement vers un échantillon représentatif de la distribution stationnaire car plus on génère et plus on a de doublons sur des combinatoires déjà obtenues. Afin de répondre à cette problématique, l'algorithme de génération "Gibbs Sampler", fournit dans MaTeLo en plugin additionnel, permet de générer des suites de test qui tendent géométriquement vers la distribution stationnaire représentative. On obtient ainsi bien plus rapidement (facteur 10 puissance n) des échantillons de combinatoires représentatifs liés aux probabilités. Dans l'exemple du véhicule autonome, cela permet de diminuer de façon très importante le nombre d'heures de simulation de roulage imposé par la norme ISO-26262.