Mise en place de tests automatisés sur VIP
Recrutement: 
Recrutement en cours/passé: 
Recrutement passé
Periode: 
2023
Contact: 
Axel Bonnet, email : axel.bonnet@creatis.insa-lyon.fr

Contexte scientifique

VIP (Virtual Imaging Platform) est un portail web (https://vip.creatis.insa-lyon.fr) pour la simulation et le traitement de données massives en imagerie médicale. En exploitant efficacement les ressources de calcul et stockage de l’e-infrastructure EGI, VIP offre à ses utilisateurs des services de haut niveau leur permettant d’exécuter simplement et de manière distribuée des applications d’imagerie médicale. VIP compte, en septembre 2022, plus de 1400 utilisateurs enregistrés et une vingtaine d’applications ouvertes à tous ses utilisateurs. 61 publications internationales ont été réalisées par des utilisateurs de VIP depuis 2011.

Depuis 2020, une plateforme d’intégration et de déploiement continus est disponible sur VIP. Elle est basée sur les outils Ansible (https://www.ansible.com/) et Jenkins (https://www.jenkins.io/). Elle permet d’effectuer différentes tâches de façon automatique à chaque changement dans le code introduit par un développeur : cela concerne la compilation, l’exécution des tests et le déploiement sur un environnement dédié aux tests. Cette plateforme permet à l’équipe de développement de VIP d’avoir un environnement de travail agréable et réactif pour concevoir, implémenter et tester les nouvelles fonctionnalités du logiciel.

Sujet 

Aujourd’hui l’intégration continue mise en place sur VIP est fonctionnelle mais incomplète. Le principal objectif du stage sera d’enrichir les suites de tests automatisés du projet VIP  afin de de vérifier automatiquement que tout nouveau changement dans le code ne créé pas de régression. Ces tests seront de natures différentes (unitaires, fonctionnels, d’intégration) et le/la stagiaire enrichira ses connaissances afin de maîtriser leurs principes, leurs spécificités et leurs différences.

Outre l’apprentissage des nouvelles notions nécessaires, l’essentiel du travail consistera  à développer ces tests en Java. Ceci demande les mêmes compétences que le développement Java «classique» avec une exigence plus importante sur la qualité et la clarté car un test doit être facilement compréhensible par quelqu’un qui ne l’a pas écrit.

Par ailleurs, le périmètre fonctionnel de VIP est très large. Il comprend ainsi un portail web, une API REST, un service de transfert de fichier, un service de soumission de tâches et d’autres éléments encore. Chacune de ces  briques logicielles est particulière et implique des technologiesdifférentes. Ainsi le travail à produire au long du stage sera varié et le/la stagiaire aura régulièrement à apprendre et à maîtriser des notions techniques nouvelles comme des protocoles, des frameworks ou des librairies. Par ailleurs, il est probable que des changements dans le code des projets eux-mêmes soient nécessaires afin de permettre aux tests de se dérouler sans accroc.

Le superviseur de stage est un expert en ingénierie logicielle. Il sera en interaction étroite avec le/la stagiaire dans un objectif de le/la former aux techniques d’architecture logicielle et d’amélioration de la qualité logicielle dont les tests sont un élément essentiel. Cette supervision passera par des entretiens fréquents, par de nombreuses revues de code ou par du «pair programing» lors de tâches complexes comme des refactorings.

Compétences requises

  • Bonnes compétences en informatique 

  • Bonnes compétences en programmation Java

  • Connaissances ou intérêt porté sur l'intégration continue et les tests

Environnement de travail

Le/La sera stagiaire accueilli au laboratoire CREATIS (https://www.creatis.insa-lyon.fr/site7) sous la supervision d’Axel Bonnet. Il interagira avec les autres ingénieurs VIP et les membres du laboratoire CREATIS.Il travaillera dans un cadre bienveillant ayant pour objectif de supporter au mieux la recherche scientifique privilégiant la qualité.

Durée

3 à 6 mois, se terminant avant le 30 juillet 2023