Aller au contenu

Préparer une version logicielle avec changement de base

Revenir à l’ancien code ne rétablit pas automatiquement sa compatibilité avec la base. Un cas complet montre quoi vérifier avant le changement et le retour.

Philipp Reuter2 min de lecture
Connecteur logiciel aux accents violets avec symbole de code et deux anneaux distincts aux découpes différentes.

Une version logicielle modifie parfois l’application et la base de données ensemble. Le retour doit donc prendre en compte davantage que l’ancienne version du programme. Consignez la combinaison de code, configuration et structure de données qui fonctionne.

L’exemple de portail fictif suivant est un cas de test prévu. Il ne décrit pas une modification d’une base client réelle.

Tester le retour sur le même état des données

L’application actuelle V1 lit les noms clients dans customer_name. La nouvelle application V2 doit lire display_name. Dans le scénario initial, l’ancienne colonne est supprimée. La nouvelle application ne démarre ensuite pas, car une configuration manque.

Étape

Base après l’étape

Résultat dans l’exemple

Avant le changement

Ancienne colonne de nom présente

L’application actuelle fonctionne

Après la modification prévue

Seule la nouvelle colonne existe

La nouvelle application ne démarre pas à cause de la configuration

Redéployer seulement l’ancien code

Toujours uniquement la nouvelle colonne

L’ancienne application ne trouve pas la colonne attendue

Redéployer l’ancien code ne rétablit pas la structure précédente. Un bouton de retour dans l’outil de déploiement ne résout pas seul cette incompatibilité.

Planifier une transition compatible

Une solution possible est progressive : conserver d’abord l’ancienne colonne et ajouter la nouvelle. Les valeurs existantes sont transférées de façon traçable. L’équipe définit quel champ fait autorité et comment maintenir la cohérence des changements pendant la transition.

Dans un environnement distinct, testez les deux versions sur cet état intermédiaire. Cela comprend la modification d’un nom et sa lecture correcte dans les deux versions. Une copie unique ne suffit pas si les valeurs suivantes n’alimentent qu’un seul champ.

La suppression de l’ancien champ n’est planifiée qu’après validation de la transition, lorsque l’ancienne version n’est plus nécessaire au retour. Cela modifie encore les versions anciennes utilisables. Cette étape demande une décision propre.

Tenir compte des données reçues ensuite

Une sauvegarde ancienne peut contenir la structure précédente. Si de nouvelles commandes ont été acceptées entre-temps, elles peuvent manquer dans cette sauvegarde. Une restauration ne doit pas les supprimer silencieusement. Les données arrivées ensuite et leur rapprochement relèvent du plan de reprise.

Selon le changement, une fenêtre de maintenance ou une correction ciblée de la nouvelle version peut être plus adaptée. La transition progressive ne promet pas globalement une mise à jour sans interruption.

Consigner le résultat de l’essai

Documentez version testée, configuration, état des données et personne décisionnaire en cas d’échec. En test, suivez une commande jusqu’à sa confirmation dans la cible, puis jouez le retour prévu. Notez données conservées et limites.

Avant le passage en production, vous voyez ainsi si le retour prévu convient réellement à l’application et à ses données.

Sources

Écrit par

  • Philipp ReuterRédacteur qualité logiciellePhilipp Reuter écrit chez ASES sur les tests logiciels et la préparation des nouvelles versions. Ses articles portent sur l’analyse des erreurs, les tests de recette et la vérification des modifications apportées aux applications existantes.

Suivre ASES

À lire aussi

Tous les articles

Cloud & exploitation avec ASES

Hébergement, déploiement, maintenance et suivi