IBA: quand la qualité logicielle devient vitale. Au sens strict du terme

Pratique
Par · 07/05/2014

Voici déjà plusieurs années, IBA s’est tourné vers une société voisine, QSpin, basée à Louvain-la-Neuve et spécialisée dans le test et l’optimisation de processus et de systèmes embarqués. Voir par ailleurs notre petit portrait de QSpin.

Objectif: automatiser le test de ses solutions de protonthérapie et réduire le coût de cette procédure essentielle pour le bon fonctionnement et la paramétrisation de ses systèmes.

Le fonctionnement de ces derniers est en effet entièrement piloté par logiciel: contrôle purement technique des composants système, transport des faisceaux de protons entre les salles, orientation de la tête d’irradiation, identification précise de la profondeur de pénétration du faisceau dans le corps humain, modulation du faisceau en fonction de chaque cas clinique…

Auparavant, les tests devaient être effectués manuellement. “Cela exigeait beaucoup de temps, était source potentielle d’erreurs, telles que l’oubli d’une étape de test. Le processus n’était pas intégré. Vu l’ampleur de la tâche, nous ne testions que certaines configurations”, explique Yves Claereboudt, directeur Ingénierie de produit chez IBA. “L’automatisation a permis de cadenasser le processus de test et de l’accélérer sensiblement.”

Solution choisie: l’ATE (Advanced Test Environment) de QSpin, un moteur de test conçu spécifiquement pour les besoins d’IBA. Entre-temps, tout en préservant une partie métier spécifique à la société, QSpin a fait évoluer sa solution en un moteur générique, le faisant pour la circonstance basculer en open source et le rebaptisant QTaste (QSpin Tailored Automated System Test Environment).

Un outil de haute précision

IBA utilise désormais la solution de QSpin pour tester et valider ses systèmes, qu’il s’agisse de ses cyclotrons traditionnels, qui desservent plusieurs salles de protonthérapie, ou de la nouvelle génération – les Proteus One -, plus compacte, standardisée, à usage “mono-salle”.

QTaste vérifie consciencieusement l’exactitude de chaque module et fonction, le bon fonctionnement de tous les composants distribués qui constituent le système global de protonthérapie, garantit le paramétrage des interfaces utilisateur, veille à tout moment à la qualité du faisceau, conformément aux spécificités de chaque traitement, teste les interfaces vers des logiciels tiers (notamment ceux qui paramétrisent et pilotent le traitement), simule des incidents….

Au début, IBA n’avait utilisé la solution de QSpin que pour optimiser et valider ses développements de logiciels. Entre-temps, elle y a ajouté la phase de tests d’assemblage des systèmes en usine (avant livraison sur le site du client) et le suivi de leur installation sur le site définitif.

Chaque système de protonthérapie fait ainsi l’objet d’un double test- en usine et sur site. “C’est nécessaire”, souligne Yves Claereboudt, “dans la mesure où il n’existe jamais deux salles totalement identiques. Chacune se singularise en termes d’énergie utilisée, de type de traitement appliqué… Il s’agit aussi de tester les diverses versions et mises à jour qui sortent chaque année, toutes les configurations et personnalisations qu’autorisent nos solutions. Le renouvellement est constant en fonction des nouvelles techniques de traitement, de l’évolution rapide des technologies. Les centres de traitement veulent également optimiser au fil du temps leurs propres installations, par exemple en accélérant le transfert du faisceau entre les salles. Il ne faut par ailleurs pas oublier que nos systèmes, une fois installés, sont censés demeurer en place pendant au moins 25 ans. Il y aura donc nécessairement des mises à niveau technologiques dont il faudra gérer la transition.”

Yves Claereboudt (IBA): “Nos systèmes sont installés pour 25 ans. Il faut donc gérer les générations successives d’équipements et les phases de transition.”

L’essentiel du travail de test concerne le développement des systèmes et la validation des systèmes en usine. “Les tests sont 2,5 fois plus chers si on les effectuent à l’étranger.”

Sur site, une fois les salles et systèmes installés, les tests se concentrent sur les adaptations en fonction des traitements, sur les contrôles systématiques nocturnes et sur les mises à jour ou à niveau.

Les tests de logiciels ont une autre utilité: non seulement repérer des problèmes mais aussi “détecter du code mort. Nous avons ainsi pu simplifier le code et diminuer les coûts [de maintenance].” L’environnement de test a contribué à “nettoyer” le code: “nous constatons une diminution du nombre de problèmes sur les nouvelles versions. Nous passons moins de temps à tester d’anciens logiciels et les développements se font plus rapidement. Cela aura à l’avenir un impact positif sur la mise à disposition accélérée de nouvelles fonctionnalités.”

Autre gain sensible, rendu possible par l’évolution de l’outil? QTaste peut désormais être géré sur VM (virtual machine). Il devient donc possible de simuler un système client dans un espace virtuel. “Cela nous permet de personnaliser et d’optimiser par exemple l’utilisation d’un espace mémoire en vue de l’installation d’une nouvelle version, sans devoir le faire sur site, sans devoir monopoliser de système et intervenir souvent au pied levé sur le site du client. Nous pouvons désormais réaliser un test d’irradiation… sans matériel. Nous pouvons ainsi mieux faire face à la masse de configurations à tester. Nous devons en effet envoyer des personnes aux quatre coins de la planète pour des installations ou adaptations. Pouvoir effectuer des tests en mode virtuel permet d’éviter qu’une modification effectuée par exemple sur un système installé en Italie fasse régresser les solutions installées ailleurs…”

Autres secteurs

Pour en généraliser le potentiel d’utilisation par d’autres sociétés, quels que soient leurs secteurs d’activités, QSpin a procédé au portage du noyau en open source (Java et Python) reprenant, dans la manoeuvre, la propriété des sources à IBA.

QTaste permet de gérer la totalité des plans et scénarios de tests, qu’il s’agisse de tester du matériel, du logiciel ou des systèmes mixtes. “Nous développons les API nécessaires afin de pouvoir tester des systèmes techniques fort différents. Par exemple pour ‘attaquer’ aussi bien des bases de données SQL, des interfaces Web que des flux de protons”, explique Philippe Herbin, directeur de QSpin. “QTaste est désormais un moteur générique qui ne doit pas être adaptée spécifiquement à des secteurs ou métiers spécifiques. Nous nous chargeons plutôt de développer les API et scripts de tests adéquats.” Le logiciel se charge en outre de la génération automatique des documents nécessaires pour les processus de validation et de certification.

L’espoir est donc de pouvoir convaincre des clients évoluant par exemple dans le secteur bancaire, des transports, de l’industrie…

QTaste continue par ailleurs d’évoluer, notamment afin de pouvoir s’interfacer avec des automates programmables ou gagner en convivialité. De nouvelles interfaces sont par exemple en cours de développement à destination… de systèmes Android. Histoire de pouvoir encapsuler une solution Android dans un équipement sécurisé, par exemple pour permettre de commander à distance un système de protonthérapie via une tablette ou un smartphone, intégrer via cette dernière un programme de reconnaissance de patient (en comparant la photo avec le visage de la personne sur le point d’être traitée…) ou scanner un dossier via la caméra d’un smartphone. Scénarios encore théoriques mais qu’IBA envisage néanmoins.

 

Autres références

L’outil QTaste de QSpin se prête à des déploiements dans bien des contextes métier où il s’agit de vérifier la qualité, adéquation, pertinence… de codes.

La société a par exemple installé son produit chez SITA dans le cadre d’un projet d’informatisation des tournées de collecte des déchets. QTaste y est déployé pour assurer la validité des conversions entre divers formats internes utilisés par les systèmes informatiques embarqués ainsi que par le système de gestion.

Autre client: iMedevac, qui gère un système permettant d’organiser le rapatriement et l’évacuation de personnes avec support médicalisé. La société utilise QTaste pour effectuer des tests de non-régression d’un système, notamment de l’application web, afin d’assurer la validité des nouveaux développements.