Toutes les actualités
PointTech #5 3 min de lecture

Comment faire évoluer un logiciel sans casser ce qui fonctionnait hier ?

Chez CoreFactor, nous abordons cette question à plusieurs niveaux. Parce qu’un calcul juste ne suffit pas à faire un logiciel qui fonctionne.

Pierre Bony

Pierre Bony

Président, cofondateur et CTO

Faire évoluer sans casser : tests unitaires, tests d’intégration et tests de bout en bout pour éviter la régression dans VetCoreSolution®

Une nouvelle fonctionnalité arrive. Cool !

Mais est-ce que le planning fonctionne toujours ? Les calculs de facturation sont-ils toujours justes ? Peut-on encore créer un client et lui associer son animal ?

Dans notre dernier #PointTech, nous avons expliqué le parcours d’une version avant son déploiement. À l’entrée de cette chaîne : les tests automatisés. Mais que vérifient-ils vraiment ?

D’abord, vérifier les détails qui comptent.

Prenons une ligne de facturation : une quantité, un prix, une remise, une TVA.

Nous vérifions les résultats attendus, mais aussi les cas moins évidents : une quantité fractionnée, un arrondi, une remise de 100 %, ou des montants incohérents qui doivent être refusés.

Ce sont les tests unitaires : ils isolent une règle précise et vérifient qu’elle produit le résultat attendu. Pas approximativement.

Ensuite, vérifier que les composants travaillent ensemble.

Une règle peut fonctionner seule et poser problème lorsqu’elle échange avec le reste du logiciel.

C'est le rôle de nos tests d’intégration : nous recréons dans des conteneurs isolés un véritable environnement VetCoreSolution®, avec les mêmes composants serveurs, de véritables bases de données et des données de test.

Nous vérifions alors le fonctionnement de cet ensemble. Nous mesurons aussi certaines opérations sur des volumes représentant des années d'usage du logiciel, notamment le chargement des rendez-vous, des clients, des animaux ou des historiques de consultations.

Parce qu’un logiciel utilisé dans une clinique vide ne raconte pas la même histoire qu'avec 15 ans d’activité.

Puis, utiliser le logiciel comme dans une clinique.

  • Un navigateur automatisé ouvre l’interface.
  • Il crée des clients.
  • Il leur associe des animaux.
  • Il prend des rendez-vous.
  • Et il vérifie que ces rendez-vous apparaissent bien dans le planning, pour les bons clients.

Ce sont les tests de bout en bout : on ne vérifie plus seulement une fonction ou un échange entre serveurs, mais un parcours complet dans le logiciel.

Et quand tout ne se passe pas comme prévu ?

Nous simulons aussi volontairement des échecs, par exemple une erreur du serveur lors de la création d’un animal.

Un logiciel doit fonctionner quand tout va bien. Mais sa réaction lorsqu’une opération échoue mérite, elle aussi, d’être testée.

L’enjeu : ne pas repartir de zéro à chaque modification.

Nous conservons également des scénarios qui reproduisent des bugs déjà rencontrés. Ils permettent de vérifier qu’une évolution ne réintroduit pas un problème corrigé auparavant : on parle alors de tests de non-régression.

Ces contrôles s’inscrivent dans la chaîne présentée au précédent épisode : les modifications déclenchent automatiquement des tests, et un contrôle en échec bloque leur intégration au code principal.

Est-ce que cela garantit un logiciel sans aucun bug ? Non.

Un test vérifie un scénario prévu. Il ne peut pas anticiper toutes les situations, ni remplacer la validation métier et les retours du terrain.

Mais l’objectif n’est pas seulement de vérifier que la nouvelle fonctionnalité marche.

#PointTech #VetCoreSolution #QualitéLogicielle #TestsAutomatisés #ArchitectureLogicielle #VetTech #LogicielVétérinaire

Les cinq étapes de la chaîne de déploiement de VetCoreSolution, du code à la production
PointTech #43 min

Une version de VetCoreSolution® est prête… que se passe-t-il ensuite ?

Avant d’arriver dans une clinique, chaque version traverse cinq étapes de contrôle qui permettent de prouver son origine, son contenu et les tests qu’elle a franchis.

Lire l’article
Schéma présentant VetCoreSolution comme une plateforme ouverte reliée à des logiciels et services externes
PointTech #32 min

Votre logiciel vétérinaire doit-il être une boîte noire ?

Avec VetCoreSolution®, CoreFactor fait le choix d’une plateforme vétérinaire ouverte : chaque clinique maîtrise ses clés API, ses intégrations et les droits qu’elle accorde.

Lire l’article
Schéma comparant une infrastructure centrale à l’architecture VetCoreSolution conçue pour la montée en charge horizontale
PointTech #22 min

Votre logiciel vétérinaire sera-t-il encore rapide à 18 h ?

À 18 h, quand des milliers de cliniques facturent en même temps, une architecture centralisée peut devenir un goulot d’étranglement. Voici comment VetCoreSolution sépare les données de la répartition de la charge.

Lire l’article