Qu'est-ce que le test de récupération ? avec exemple

⚡ Résumé intelligent

Les tests de récupération vérifient que le logiciel peut reprendre son fonctionnement normal après un plantage, une coupure réseau ou une panne matérielle, en restaurant le système à un point de fonctionnement satisfaisant et en retraitant les transactions jusqu'à la panne.

  • (I.e. Ce que cela prouve : OperaLes opérations se poursuivent après une catastrophe, et ne se limitent pas à l'existence d'un fichier de sauvegarde.
  • 🧩 Son emplacement : Une technique non fonctionnelle, mise en œuvre par des testeurs formés sur des données de sauvegarde sécurisées.
  • Facteurs clés du temps de récupération : Points de redémarrage, volume de données, compétences et outils de l'équipe de récupération.
  • (I.e. Forme du processus : Fonctionnement normal, catastrophe, perturbation, rétablissement, puis retour à la normale.
  • (I.e. Choix stratégiques : Sauvegardes uniques ou multiples, sur un ou plusieurs sites, en ligne ou hors ligne, automatiques ou manuelles.
  • Après la restauration : Compter les fichiers par rapport au dossier d'origine, ouvrir plusieurs types de fichiers et comparer les répertoires avec les utilitaires système.

Qu’est-ce qu’un test de récupération dans le cadre des tests logiciels ? (Exemple)

Qu'est-ce que le test de récupération ?

Test de récupération La récupération est une technique de test logiciel qui vérifie la capacité d'un logiciel à se remettre de défaillances telles que des plantages logiciels ou matériels et des pannes réseau. Son objectif est de déterminer si le fonctionnement du logiciel peut se poursuivre après un incident ou une perte d'intégrité. La récupération consiste à restaurer le logiciel à un état où son intégrité était connue et à retraiter les transactions jusqu'au point de défaillance.

En génie logiciel, les tests de récupérabilité sont un type de tests non fonctionnels — Ce test couvre les aspects non liés à une fonction ou à une action utilisateur spécifique, tels que l'évolutivité ou la sécurité. Il est réalisé par des testeurs professionnels, et des données de sauvegarde adéquates sont conservées au préalable dans des emplacements sécurisés.

Exemple de test de récupération

Deux scénarios illustrent la technique dans sa forme la plus simple. Dans chacun d'eux, une panne est provoquée délibérément, puis l'application est observée lors de sa reprise.

  • Interruption du réseau : Pendant qu'une application reçoit des données du réseau, débranchez le câble de connexion. Après un certain temps, rebranchez-le et analysez la capacité de l'application à reprendre la réception des données à partir du point où la connexion a été interrompue.
  • Restauration de session : Redémarrez le système alors qu'un navigateur a un nombre défini de sessions ouvertes, et vérifiez si le navigateur les récupère toutes.

L'illustration ci-dessous présente la même idée sous forme visuelle.

Concept de test de récupération illustrant une panne système suivie d'un retour à un fonctionnement normal.

Le temps nécessaire à la récupération dépend :

  • Le nombre de points de redémarrage
  • Le volume de données détenues par l'application
  • Formation et compétences des personnes menant des activités de rétablissement, et outils disponibles pour le rétablissement

En cas de plusieurs défaillances, les tests de récupération doivent être effectués de manière structurée plutôt que tous en même temps — en les réalisant segment par segment.

Cycle de vie du processus de récupération

Avant de concevoir les cas de test, il est utile d'identifier les points d'intervention des tests de récupération. Le cycle de vie du processus de récupération comporte cinq étapes :

  1. Fonctionnement normal
  2. Cas de catastrophe
  3. Perturbation et échec de l’opération
  4. Dégagement après sinistre grâce au processus de rétablissement
  5. Reconstruction de tous les processus et informations, remise en service normale de l'ensemble du système

Le diagramme de flux ci-dessous illustre ces cinq étapes dans l'ordre.

Diagramme de flux du cycle de vie du processus de rétablissement, couvrant le fonctionnement normal, les catastrophes, les interruptions, le rétablissement et la reconstruction

Examinons ces cinq étapes en détail :

  1. Fonctionnement normal. Un système de matériel, de logiciel et de microprogramme, intégré pour atteindre un objectif commun, remplit sa fonction sans interruption dans un délai stipulé.
  2. Catastrophe. Une interruption peut survenir en raison d'un dysfonctionnement du logiciel, dû à des causes telles qu'un dysfonctionnement initié par une entrée, un plantage causé par une défaillance matérielle ou des dommages causés par un incendie, un vol ou une grève.
  3. Perturbation et échec. C’est la phase la plus douloureuse, entraînant des pertes commerciales, des ruptures relationnelles, des occasions manquées, des pertes de temps de travail et, inévitablement, des pertes financières et d’image. Un plan de continuité d’activité permet de minimiser cette phase.
  4. Déblaiement après sinistre. Si un plan de secours et des processus d'atténuation des risques sont déjà en place, la reprise d'activité est beaucoup plus rapide et moins coûteuse. Une équipe dédiée, dont le rôle de chacun est défini à l'avance, permet de clarifier les responsabilités et d'éviter une interruption de service prolongée.
  5. Reconstruction. Cette opération peut nécessiter plusieurs sessions pour reconstruire tous les dossiers et les fichiers de configuration. Une documentation complète et une procédure de reconstruction définie sont indispensables pour une récupération correcte.

Stratégie de restauration

L'équipe de reprise d'activité doit définir sa propre stratégie pour récupérer les données et le code critiques afin de rétablir le fonctionnement normal. Cette stratégie est propre à chaque organisation et dépend de la criticité des systèmes qu'elle gère. Pour les systèmes critiques, elle implique plusieurs choix :

  1. Une seule sauvegarde, ou plusieurs
  2. Plusieurs sauvegardes au même endroit ou à différents endroits
  3. Sauvegarde en ligne ou sauvegarde hors ligne
  4. Les sauvegardes s'exécutent automatiquement selon une stratégie définie ou peuvent être déclenchées manuellement.
  5. Une équipe de restauration indépendante, ou l'équipe de développement qui effectue les travaux

Chaque option a un coût, et la mise en place de plusieurs sauvegardes peut consommer davantage de ressources matérielles ou nécessiter une équipe dédiée. La dépendance est également un facteur important : les entreprises sont exposées aux risques liés au code et aux données qu’elles confient à un seul fournisseur, et une solution à grande échelle peut s’avérer problématique. AWS Des pannes ont régulièrement mis hors service simultanément des services grand public très fréquentés. Dans de tels cas, une capacité de restauration indépendante est cruciale.

Comment faire des tests de récupération

La stratégie étant définie, la question suivante est de savoir comment configurer le test lui-même. Les points suivants doivent être pris en compte lors de la réalisation d'un test de récupération.

  • Créez un environnement de test aussi proche que possible des conditions de déploiement réelles : l’interface, le protocole, le firmware, le matériel et le logiciel doivent correspondre à la production.
  • Bien que des tests exhaustifs puissent être longs et coûteux, une configuration identique et une vérification complète doivent tout de même être effectuées.
  • Si possible, effectuez le test sur le matériel sur lequel la restauration sera finalement effectuée, surtout si la restauration s'effectue sur une machine différente de celle qui a créé la sauvegarde.
  • Certains systèmes de sauvegarde s'attendent à ce que le disque dur ait exactement la même taille que celui à partir duquel la sauvegarde a été effectuée.
  • Gérer l'obsolescence : la technologie des disques durs évolue rapidement et un ancien disque peut ne pas être compatible avec un nouveau. Restaurer à un machine virtuelle Cela s'avère utile, car les logiciels de virtualisation peuvent imiter le matériel existant, y compris la taille des disques.
  • Les systèmes de sauvegarde en ligne ne font pas exception aux tests. La plupart des fournisseurs protègent les utilisateurs des problèmes de support grâce à un stockage tolérant aux pannes, de sorte que les défaillances ne sont détectées que tardivement.
  • Même si les systèmes de sauvegarde en ligne sont extrêmement fiables, la restauration doit être testée afin de confirmer l'absence de problèmes de récupération, de sécurité ou de chiffrement.

Étant donné que la récupération s'effectue de bout en bout, ces séances sont généralement programmées en parallèle. test du système plutôt qu'au niveau de l'unité.

Procédure de test après restauration

La restauration des données ne représente que la moitié du travail ; il faut encore prouver que la copie restaurée est utilisable. La plupart des grandes entreprises font réaliser régulièrement des exercices de reprise d'activité par des auditeurs indépendants. Un plan de reprise d'activité complet est coûteux à maintenir et à tester ; c'est pourquoi les petites organisations privilégient souvent les sauvegardes et le stockage hors site.

Une fois les dossiers et les fichiers restaurés, les vérifications suivantes confirment qu'ils ont été correctement récupérés :

  • Renommez le dossier contenant le document corrompu afin que la copie restaurée ne puisse pas être confondue avec celui-ci.
  • Comptez les fichiers dans les dossiers restaurés et comparez ce nombre avec celui du dossier d'origine.
  • Ouvrez quelques fichiers avec l'application qui les utilise habituellement et vérifiez que les données peuvent être consultées et mises à jour comme d'habitude.
  • Ouvrez plusieurs fichiers de types différents — images, MP3et des documents, certains volumineux, d'autres plus petits.
  • Utilisez les utilitaires de comparaison de fichiers et de répertoires les plus courants. systèmes d'exploitation bereitzustellen.

FAQ

Les tests de basculement vérifient si le trafic est correctement redirigé vers un nœud de secours. Les tests de récupération vont plus loin et vérifient si le service d'origine, ses données et ses transactions en cours sont rétablis dans un état correct.

Le RTO (délai de rétablissement du service) correspond au temps imparti pour rétablir un service ; le RPO (objectif de point de récupération) représente la perte de données acceptable. Un test de récupération mesure ces deux paramètres : le RTO (temps de restauration) et le RPO (rapport de point de récupération) compare les données récupérées au dernier état fonctionnel connu).

Trois scénarios se répètent : la reprise après sinistre en cas de panne générale du site, la récupération de bases de données corrompues et la restauration de l’environnement en cas de configuration ou de dépendances défaillantes. Chacun utilise le même cycle de vie, mais avec un déclencheur de panne différent.

Les modèles d'apprentissage automatique classent les services selon l'historique des incidents et la profondeur des dépendances, afin que les chemins de restauration les plus risqués soient exécutés en premier. La détection d'anomalies dans les journaux de restauration signale également les exécutions terminées mais ayant produit des données incomplètes.

Copilote GitHub Il génère rapidement des scripts d'injection de pannes, des scripts de restauration et des assertions post-restauration. Le testeur décide toujours de la panne à provoquer et de l'état correct de récupération, car les deux respectent les règles métier.

Des exercices annuels sont généralement effectués, avec des exercices trimestriels pour les systèmes critiques. Toute modification apportée à l'outil de sauvegarde, à la plateforme de stockage ou à l'architecture doit déclencher une nouvelle simulation, car une modification non testée invalide silencieusement le résultat précédent.

Cela provoque de véritables échecs, donc cela se chevauche avec essais destructifsL’objectif est la restauration, pas la destruction. Testez-le dans un environnement isolé, et non sur des données de production réelles.

Consignez la panne injectée, les heures de début et de fin, les valeurs RTO et RPO mesurées, les étapes ayant nécessité une intervention manuelle et chaque anomalie constatée dans les données restaurées. Ajoutez les actions correctives et la date du nouveau test.

Résumez cet article avec :