Test logiciel : Razorcat automatise les tests de mutation dans son outil Tessy

Tessy Hitex Neomore

Le test de mutation automatisé est la nouvelle fonctionnalité la plus importante de la dernière version de l’outil logiciel Tessy, édité par la firme allemande Razorcat (*), qui est un logiciel de test automatisé de module logiciels embarqués.... Il s’agit, selon ses concepteurs, du premier outil sur le marché qui propose cette fonctionnalité pour les langages de programmation C et C++.

Rappelons que le test de mutation implique l'exécution répétée de cas de test qui ont déjà été réussis pour un objet de test, par exemple une unité logicielle. Cependant, lorsque les cas de test sont répétés, ils ne sont pas toujours exécutés avec le code source d'origine de l'objet sous test, mais avec du code qui a muté. Le code muté est différent du code d’origine, les changements pouvant concerner des détails mineurs, comme le remplacement d'un ET logique par un OU logique, mais aussi des changements d'ampleur comme la suppression d’une branche “else” d'une instruction “if”. Bien entendu, l'objet logiciel sous test doit rester compilable après le changement, sinon une répétition de test n'est pas possible.

Mais, lorsque les cas de test sont répétés en utilisant le code source muté, la question est de savoir s'ils sont capables de mettre en évidence une mutation. On parle alors d’une mutation “tuée” si au moins un cas de test échoue lorsque le test est répété. Et si cela ne se produit pas, cela signifie que les tests ne remarquent pas que le code source a changé. En d'autres termes, les cas de test acceptent un objet de test différent de l'objet de test d'origine. Ce qui est évidemment inquiétant.

Habituellement, plusieurs essais avec différentes mutations sont effectués, ce qui permet de fournir une évaluation de la qualité du cas de test. Dans la dernière version de l’outil, c’est ce processus de test de mutation qui est automatisé. Objectif : diminuer les efforts par rapport à une réalisation manuelle du test de mutation et explorer beaucoup plus de tests avec une quantité de travail raisonnable.

Concrètement, une fois que le code source d'origine a réussi les tests existants, le processus de test de mutation peut être démarré dans l’outil Tessy, qui effectue une mutation et répète les tests avec un enregistrement automatique si une mutation a été “tuée” ou non. Ensuite, l'objet de test d'origine est restauré et une autre mutation est effectuée, et ainsi de suite. L'utilisateur peut sélectionner des mutations et paramétrer le nombre des mutations effectuées.

A noter que parfois, les mutations peuvent créer des boucles sans fin. Pour qu'une telle mutation n'entraîne pas l'arrêt de l'ensemble du processus, les tests peuvent se voir attribuer un délai d'attente géré par l’outil Tessy.

(*) Le logiciel Tessy de Razorcat est distribué dans le monde par la société allemande Hitex, filiale d'Infineon depuis 2003 et spécialiste des outils de développement et de test, notamment pour microcontrôleurs Arm. En France l'outil Tessy est disponible auprès de NeoMore qui distribue le catalogue complet de solutions d'Hitex.