n°30
Février
2015
ENVOL 2014 - Méthodes de test et validation des logiciels
L'édition 2014 de la formation ENVOL a attiré 53 participants de laboratoires CNRS, INRA, universités françaises, Inserm, Irstea, CEA et des apprentis ingénieurs en formation alternante dans une entreprise toulousaine, dans la résidence Odalys à la Londe les Maures. (Photo CC-BY-NC-ND/3.0 Dirk Hoffmann)

ENVOL est une Action Nationale de Formation (ANF) organisée par le CNRS (via PLUME, DevLOG, la DSI et des laboratoires du CNRS) proposant des stages de formation (des écoles) tous les deux ans.

Le développement logiciel est un processus complexe allant bien au delà de l’écriture de code logiciel. Les écoles ENVOL proposent chaque année une thématique autour de ces développements pour la recherche scientifique. Le public visé par ENVOL est large : ingénieurs et chercheurs (y compris doctorants) ayant une activité de développement logiciel. Les présentations des différentes écoles sont disponibles sur le site PLUME.

L’édition 2014, qui s’est déroulée du 18 au 21 novembre 2014 à La-Londe-les-Maures, proposait une formation aux méthodes de test et validation des logiciels. Cette édition était organisée en collaboration avec l’INRA, VetAgro-Sup et Inria. Cette thématique a soulevé un intérêt certain puisqu’elle a attiré 53 participants de diverses disciplines, dont 4 de l’IN2P3, ainsi que l’organisateur.

Pourquoi vérifier un logiciel ?

Les conséquences d’un dysfonctionnement logiciel sont d’autant plus importantes qu’elles sont détectées tardivement. Elles peuvent varier en terme de temps, de coût financier, d’organisation, mais aussi d’utilisation. Elles peuvent en effet aller jusqu’à invalider de grandes quantités de données.

Autour de ce thème, chaque présentation était suivie de séances de TP, illustrant comment utiliser chaque concept. Ces TP étaient déclinés en plusieurs environnements, chaque participant choisissait celui qui lui était le plus familier (langage de programmation et système d’exploitation). L’équipe d’ENVOL avait mis une machine virtuelle à disposition afin de proposer un environnement de travail commun, stable, facile d’installation et d’utilisation.

L’objectif d’un développement logiciel est de créer un logiciel à la fois fonctionnel et sûr, c’est-à-dire dont le fonctionnement répond aux attentes. La définition de ces attentes intervient dès le début du projet. Elle entraîne très rapidement des efforts en vue de la validation du logiciel. La conception de tests intervient donc dès le début du projet de développement logiciel pour être utile. Elle ne se limite pas à une phase de test unitaire greffée une fois la programmation terminée.

La conception et l’intégration de ces tests peuvent se faire par différentes méthodes de génie logiciel. La méthode « Agile », en particulier, a été présentée dans le contexte de la recherche. Elle a été accompagnée de témoignages dans le cadre de besoins qui évoluent au cours du temps, et de leur impact sur l’aspect humain.

Différents types de tests ont été présentés, unitaires et fonctionnels, mais aussi tests de sites web, et automatisation des tests au moyen de plateformes d’intégration continue. En lien avec les plateformes embarquées, des TPs de développement sur Arduino ont aussi été proposés.

Pour finir, la formation a été gratifiée de beau temps dans un endroit magnifique, ce qui a favorisé une ambiance de travail agréable.

Liens utiles :

- Lettre ENVOL 2012 : http://informatique.in2p3.fr/li/spi...
- Evénement INDICO : https://indico.in2p3.fr/event/10295/

Philippe GAURON et Oleg LODYGENSKY (LAL)