Accueil Développement Qu'est-ce que le test de mutation? - définition de techopedia

Qu'est-ce que le test de mutation? - définition de techopedia

Table des matières:

Anonim

Définition - Que signifie le test de mutation?

Le test de mutation est une méthode de test de logiciel dans laquelle le programme ou le code source est délibérément manipulé, suivi d'une suite de tests par rapport au code muté. Les mutations introduites dans le code source sont conçues pour imiter les erreurs de programmation courantes. Une bonne suite de tests unitaires détecte généralement les mutations du programme et échoue automatiquement.


Les tests de mutation sont utilisés sur de nombreuses plates-formes différentes, notamment Java, C ++, C # et Ruby.

Techopedia explique les tests de mutation

Le test de mutation est une méthode simple mais ingénieuse utilisée pour valider l'exactitude du code source et le processus de test. Le concept a été inventé pour la première fois par Richard Lipton en 1971, et il y a eu un regain d'intérêt depuis cette époque.


Le mécanisme de travail du test de mutation est simple et direct. Un morceau de code source englobant tous les tests unitaires est sélectionné. Après avoir vérifié tous les tests positifs pour un code source donné, une mutation est introduite dans le programme.


Le degré de mutation appliqué à un bloc de code donné peut varier. Une implémentation de test de mutation courante consiste à remplacer un opérateur logique par son inverse. Par exemple, l'opérateur "! =" Est utilisé à la place de "= =." Dans certains cas, la mutation implique de réorganiser les lignes pour changer l'ordre d'exécution ou même de supprimer quelques lignes de code. Des niveaux de test de mutation complexes peuvent entraîner des erreurs de compilation.


Une fois qu'un programme est modifié, une suite de tests unitaires est exécutée par rapport au code muté. Le code muté passe ou échoue au test unitaire, selon la qualité du test. Un test unitaire bien écrit doit détecter les erreurs de code mutées, entraînant un échec. Un test unitaire qui ne parvient pas à détecter les erreurs de code peut nécessiter une réécriture.


Les tests de mutation offrent les avantages suivants:

  • Identification de défaut de code de programme
  • Développement efficace de cas de test
  • Détection de failles dans les données de test
  • Amélioration de la qualité des programmes logiciels
  • Élimination de l'ambiguïté du code

Les inconvénients des tests de mutation comprennent:

  • Mise en œuvre difficile de mutations complexes
  • Cher et chronophage
  • Nécessite des testeurs qualifiés avec des connaissances en programmation

Qu'est-ce que le test de mutation? - définition de techopedia