PTU Generator
[Focus produit] Le PTU Generator de Grégory Chiron

Le PTU Generator, pour Générateur de Tests Unitaires, est un outil développé par Grégory Chiron, ingénieur expert informatique à Aix-en-Provence, qui permet de générer automatiquement les scripts de tests en fonction des spécifications logicielles.  PTU étant aussi le nom donné à l’extension du fichier test.

Grégory l’a imaginé lorsqu’il travaillait chez Airbus Helicopters sur les activités de développement et de tests des logiciels embarqués. Un logiciel embarqué est complexe, il y a un grand nombre de fonctions donc un grand nombre de tests. « Nous devions réaliser des tests sur ces logiciels dans le but de certification auprès des autorités compétentes. Ce sont des activités de tests assez compliquées car elles se font à bas niveau c'est-à-dire que le logiciel à tester est découpé en différentes fonctions, des briques et chacune de ces briques est testée pour s’assurer que chaque fonction répond correctement. Il faut voir une brique comme une boite noire avec des entrées et des sorties et l’ensemble doit être en cohérence avec les spécifications logicielles ».

Ce sont des activités répétitives et rébarbatives, l’écriture à la main d’un test au sein d’un environnement peut être assez complexe en terme technique et il n’y a aucune valeur ajoutée à passer du temps à développer du test, le plus important est de rester concentré sur les spécifications des composants à tester, c'est-à-dire les informations qui décrivent comment la brique élémentaire doit fonctionner et évidemment le résultat attendu est dépendant des exigences des spécifications. De plus, le client apporte très souvent des modifications ou ajoute des fonctionnalités à ces spécifications ce qui oblige de casser le test initialement prévu et de le réécrire entièrement. Une situation à laquelle SII est souvent confrontée et qui fait perdre beaucoup de temps.

L’environnement de l’écriture de test, Grégory Chiron connait bien, il a donc imaginé une solution d’automatisation. Il a entrepris dans un premier temps de développer sur son temps personnel, un premier prototype semi-automatique. Un proto élémentaire mais qui permettait de démontrer que l’on pouvait le faire. « Il m’a fallu 4 à 5 mois pour le développer le soir et les weekends. Un jour, j’en ai parlé à mon chef de projet de l’époque et à Jean-Pierre Roux, directeur de la BU Aéronautique et je l’ai ensuite présenté à Philippe Rampal qui m’a donné du temps, des aménagements et des moyens pour continuer à le développer. Il m’a ainsi accordé des stagiaires qui ont pu développer le PTU Designer, l’interface graphique, la vraie valeur ajoutée du PTU Generator ».

Désormais, avec le PTU Generator, plus besoin d’écrire de script à la main, fini les combinatoires, les zéros et les uns, bref les valeurs numériques, le testeur modélise son test à l’aide de l’outil graphique PTU Designer. Il décrit l’exigence qui permet de coder chaque fonction de manière graphique et à partir de là, le PTU Generator va déterminer tout seul quelles sont les séquences numériques à injecter dans une fonction pour la tester de manière optimale. Et quand un client demande une évolution fonctionnelle, il n’y a plus obligation de réécrire tout le script à la main, il suffit simplement de faire évoluer le modèle de test, puis de lancer la régénération du script !  « Ce n’est pas juste un outil qui produit du script de test, c’est aussi une méthodologie, une meilleure organisation du travail. Vu que l’on s’affranchit des difficultés d’écriture des scripts, le testeur a beaucoup plus de temps pour se concentrer sur la modélisation du test et identifier les anomalies au niveau des spécifications logicielles déterminées par le client ».

Ainsi, l’utilisation de la version semi-automatique du PTU Generator a permis d’offrir à Airbus Helicopters une meilleure qualité de tests, une meilleure détection des erreurs et surtout un gain de temps de l’ordre de 30% sur les activités de tests. Avec le mode complètement automatique, l’objectif est bien évidemment d’aller bien au-delà ! L’outil est adapté à tous types de clients, il n’y a pas de dépendance à la technologie utilisée pour développer le code testé, ni de l’environnement de test, le PTU Generator peut être utilisé pour tester les briques fonctionnelles de n’importe quel type de logiciel embarqué. A ce jour, le PTU Generator est toujours en développement et à ce titre, SII bénéficie depuis 2013 du crédit impôts recherche. 

Video explicative avec Grégory Chiron