Qu’est-ce que les tests basés sur des modèles ?
Qu’est-ce que les tests basés sur des modèles ?
Les tests basés sur un modèle sont une technique de test de logiciels dans laquelle le comportement d'exécution du logiciel testé est vérifié par rapport aux prédictions faites par un modèle. Un modèle est une description du comportement d'un système. Le comportement peut être décrit en termes de séquences d'entrée, d'actions, de conditions, de sortie et de flux de données de l'entrée à la sortie. Il doit être pratiquement compréhensible et réutilisable ; partageable doit avoir une description précise du système testé.
Il existe de nombreux modèles disponibles et décrivent différents aspects du comportement du système. Des exemples du modèle sont :
- Flux de données
- Contrôle du flux
- Graphiques de dépendance
- Tables de décision
- Machines de transition d'état
Les tests basés sur un modèle décrivent comment un système se comporte en réponse à une action (déterminée par un modèle). Fournissez une action et voyez si le système répond selon les attentes.
Il s'agit d'une méthode formelle légère pour valider un système. Ces tests peuvent être appliqués aux tests matériels et logiciels.
Exemple de test basé sur un modèle
Le modèle ci-dessus explique l'approche simplifiée de l'écriture de poésie dans le bloc-notes et les actions possibles liées à chaque étape. Pour chaque action (comme démarrer, saisir un poème, enregistrer), Cas de test peut être généré et le résultat peut être vérifié.
Types de CCP
Il existe deux types de frameworks de tests basés sur des modèles :
- Hors ligne / a priori : Génération des Suites de Tests avant son exécution. Une suite de tests n’est rien d’autre qu’un ensemble de cas de tests.
- En ligne / à la volée : génération de suites de tests pendant l'exécution des tests
Différents modèles en test
Afin de comprendre le MBT, il est nécessaire de comprendre certains des modèles expliqués ci-dessous. Passons-les un par un :
Machines à états finis
Ce modèle aide les testeurs à évaluer le résultat en fonction de l'entrée sélectionnée. Diverses combinaisons des entrées peuvent aboutir à un état correspondant du système.
Le système aura un état spécifique et un état actuel, qui sont régis par un ensemble d'entrées fournies par les testeurs.
Prenons l'exemple-
Il existe un système qui permet aux employés de se connecter à l'application. Désormais, l'état actuel de l'employé est « Sortie » et il devient « In » une fois qu'il se connecte au système. Sous l'état « in », un employé peut visualiser, imprimer et numériser des documents dans le système.
Graphiques d'état
Il s'agit d'une extension de la machine à états finis et peut être utilisée pour des systèmes complexes et en temps réel. Les diagrammes d'états sont utilisés pour décrire divers comportements du système. Il comporte un nombre défini d'états. Le comportement du système est analysé et représenté sous forme d'événements pour chaque état.
Par exemple -
Les défauts sont signalés dans l'outil de gestion des défauts avec le statut Nouveau. Une fois qu'il est corrigé par les développeurs, il doit passer au statut Corrigé. Si un défaut n’est pas corrigé, changez le statut en Réouverture. Les cartes d'état doivent être conçues de telle manière qu'elles nécessitent un événement pour chaque état.
Langage de modélisation unifié (UML)
Langage de modélisation unifié (UML) est un langage de modélisation standardisé à usage général. UML comprend un ensemble de techniques de notation graphique pour créer des modèles visuels capables de décrire le comportement très complexe du système.
UML a des notations telles que :
- Activités
- de la restauration
- PROCESSUS D'AFFAIRE
- Composants
- Langage de programmation
Défis des tests basés sur des modèles
Le déploiement du MBT dans chaque organisation nécessite évidemment un investissement et des efforts importants. Voici les inconvénients du MBT dans Génie logiciel.
- Compétences nécessaires requises chez les testeurs
- Le temps de la courbe d'apprentissage sera plus long
- Difficile de comprendre le modèle lui-même
Avantages des tests sur modèles
Voici les avantages du MBT :
- Maintenance facile des cas/suites de tests
- Réduction des coûts
- Couverture de test améliorée
- Peut exécuter différents tests sur n nombre de machines
- Détection précoce des défauts
- Augmentation du nombre de défauts
- Gain de temps
- Amélioration de la satisfaction au travail des testeurs
Conclusion
Les testeurs construisent de toute façon des modèles mentaux pendant leurs tests. Ces modèles mentaux peuvent être transformés en modèles sur papier. Cela aide les testeurs à atteindre la lisibilité et la réutilisation.
Les tests basés sur des modèles constituent une nouvelle approche test logiciel. L’évolution des tests logiciels est présentée ci-dessous –