Sujet déplacé vers: http://www.developpez.net/forums/d1415931/general-developpement/langages-programmation/mutant-testing-controle-qualite-tests-unitaires-precisions/#post7693678
Modérateurs: Pouvez-vous supprimer mon message ? Merci !


Bonjour,
Je vient de lire l'article de Jean-François Lépine sur son logiciel MutaTesting de contrôle de qualité des tests unitaires. Trouvant l'idée de triturer les tests unitaire dynamiquement et donc sans avoir a y effectuer de changement pour assurer le suivis de leur qualité, j'aimerai mieux comprendre la manière dont cela fonctionne. Citation:
C’est tout. A partir de là, MutaTesting va procéder à un certain nombre de processus :

  • les tests vont être lancés une première fois
  • chaque suite de test va être isolée, puis relancée pour déterminer quelles sources PHP elle permet de tester
  • le code source est converti en tokens, puis chaque token transformable est transformé en mutant
  • chaque suite de test va être relancée sur chaque mutation de code



Bien entendu, votre code source n’est jamais modifié. En réalité, l’outil joue avec un StreamWrapper spécifique pour le flux de fichier standard (file://) pour substituer la mutation à votre code originel.

Voici quelques exemples de bugs qui peuvent être introduits :

  • remplacer un test d’égalité (« == ») par un test de non-égalite ( » != « )
  • remplacer » true » par « false »
  • supprimer un bloc » else «
Je n'es pas bien compris, que va en fait modifer la mutation au niveau des test unitaire ?