Cos'è il test di recupero? con l'esempio

Test di recupero

Test di recupero è una tecnica di test del software che verifica la capacità del software di riprendersi da guasti come arresti anomali del software/hardware, guasti di rete, ecc. Lo scopo del test di ripristino è determinare se le operazioni del software possono essere continuate dopo un disastro o una perdita di integrità. Il test di ripristino prevede il ripristino del software al punto in cui l'integrità era nota e la rielaborazione delle transazioni fino al punto di errore.

Esempio di test di recupero

Quando un'applicazione riceve dati dalla rete, scollegare il cavo di collegamento.

Test di recupero

  • Dopo un po' di tempo, ricollega il cavo e analizza la capacità dell'applicazione di continuare a ricevere dati dal punto in cui la connessione di rete è stata interrotta.
  • Riavvia il sistema mentre un browser ha un numero definito di sessioni aperte e controlla se il browser è in grado di recuperarle tutte o meno

Nell'ingegneria del software, il test di recuperabilità è un tipo di Test di funzionalità. (I test non funzionali si riferiscono ad aspetti del software che potrebbero non essere correlati a una funzione specifica o all'azione dell'utente come scalabilità o sicurezza.)

Il tempo necessario per il recupero dipende da:

  • Il numero di punti di riavvio
  • Un volume delle applicazioni
  • Formazione e competenze delle persone che conducono attività di recupero e strumenti disponibili per il recupero.

Quando si verificano numerosi guasti, invece di prendersi cura di tutti i guasti, il test di ripristino dovrebbe essere eseguito in modo strutturato, il che significa che i test di ripristino dovrebbero essere eseguiti per un segmento e poi per un altro.

Viene eseguito da tester professionisti. Prima del test di ripristino, i dati di backup adeguati vengono conservati in luoghi sicuri. Questo viene fatto per garantire che l'operazione possa continuare anche dopo un disastro.

Ciclo di vita del processo di recupero

Il ciclo di vita del processo di recupero può essere classificato nelle seguenti cinque fasi:

  1. Operazione normale
  2. Evento del disastro
  3. Interruzione e fallimento dell'operazione
  4. Eliminazione del disastro attraverso il processo di recupero
  5. Ricostruzione di tutti i processi e le informazioni per riportare l'intero sistema al normale funzionamento

Processo di recupero

Discutiamo questi 5 passaggi in dettaglio-

  1. Un sistema costituito da hardware, software e firmware integrati per raggiungere un obiettivo comune viene reso operativo per realizzare un obiettivo ben definito e dichiarato. Il sistema è chiamato a eseguire le normali operazioni per svolgere il lavoro progettato senza alcuna interruzione entro un periodo di tempo stabilito.
  2. Potrebbe verificarsi un'interruzione dovuta al malfunzionamento del software, dovuto a vari motivi come malfunzionamento avviato dall'input, arresto anomalo del software dovuto a guasto dell'hardware, danni dovuti a incendio, furto e sciopero.
  3. La fase di interruzione è la fase più dolorosa che porta a perdite aziendali, interruzioni di rapporti, perdite di opportunità, perdite di ore di lavoro e invariabilmente perdite finanziarie e di avviamento. Ogni agenzia sensata dovrebbe avere un piano per il ripristino di emergenza per consentire che la fase di interruzione sia minima.
  4. Se un piano di backup e processi di mitigazione del rischio sono attuati al posto giusto prima di incontrare disastri e interruzioni, il ripristino può essere effettuato senza grandi perdite di tempo, impegno ed energia. Dovrebbe essere definito un individuo designato, insieme al suo team, con il ruolo assegnato a ciascuna di queste persone per stabilire la responsabilità e aiutare l'organizzazione a salvarsi da un lungo periodo di interruzione.
  5. La ricostruzione può comportare più sessioni di operazioni per ricostruire tutte le cartelle insieme ai file di configurazione. Dovrebbero esserci una documentazione adeguata e un processo di ricostruzione per un corretto recupero.

Strategia di restauro

La squadra di recupero dovrebbe avere una propria strategia unica per recuperare il codice e i dati importanti per riportare il funzionamento dell'agenzia alla normalità.

La strategia può essere unica per ciascuna organizzazione in base alla criticità dei sistemi che sta gestendo.

La possibile strategia per i sistemi critici può essere visualizzata come segue:

  1. Per avere un singolo backup o più di uno
  2. Per avere più backup in un unico luogo o in luoghi diversi
  3. Per avere un backup online o un backup offline
  4. Il backup può essere eseguito automaticamente in base a una policy o manualmente?
  5. Per il lavoro può essere utilizzato un team di restauro indipendente o un team di sviluppo stesso

A ciascuna di queste strategie è associato un fattore di costo e più risorse necessarie per più backup potrebbero consumare più risorse fisiche o potrebbero richiedere un team indipendente.

Molte aziende potrebbero essere interessate a causa della dipendenza dei dati e del codice dall'agenzia di sviluppo interessata. Ad esempio, se Amazon AWS si spegne 25 di Internet. Il restauro indipendente è cruciale in questi casi.

Come eseguire i test di recupero

Durante l'esecuzione dei test di ripristino è opportuno tenere in considerazione i seguenti aspetti.

  • Dobbiamo creare un banco di prova il più vicino possibile alle reali condizioni di dispiegamento. Le modifiche all'interfaccia, al protocollo, al firmware, all'hardware e al software dovrebbero essere il più vicino possibile alla condizione effettiva se non alla stessa condizione.
  • Attraverso test approfonditi può richiedere molto tempo ed essere costoso, è necessario eseguire una configurazione identica e un controllo completo.
  • Se possibile, i test dovrebbero essere eseguiti sull'hardware che infine ripristineremo. Ciò è particolarmente vero se stiamo ripristinando su una macchina diversa da quella che ha creato il backup.
  • Alcuni sistemi di backup prevedono che il disco rigido abbia esattamente le stesse dimensioni di quello da cui è stato eseguito il backup.
  • L'obsolescenza deve essere gestita poiché la tecnologia delle unità avanza a un ritmo rapido e la vecchia unità potrebbe non essere compatibile con quella nuova. Un modo per gestire il problema è ripristinare il file a macchina virtuale. I fornitori di software di virtualizzazione come VMware Inc. possono configurare le macchine virtuali per imitare l'hardware esistente, comprese le dimensioni del disco e altre configurazioni.
  • I sistemi di backup online non fanno eccezione per i test. La maggior parte dei fornitori di servizi di backup online ci protegge dall'esposizione diretta ai problemi dei media utilizzando sistemi di archiviazione tolleranti agli errori.
  • Sebbene i sistemi di backup online siano estremamente affidabili, dobbiamo testare il lato di ripristino del sistema per assicurarci che non ci siano problemi con la funzionalità di recupero, sicurezza o crittografia.

Procedura di prova dopo il restauro

La maggior parte delle grandi aziende dispone di revisori indipendenti che eseguono periodicamente esercizi di test di ripristino.

La spesa per mantenere e testare un piano di ripristino di emergenza completo può essere notevole e proibitiva per le piccole imprese.

I rischi minori possono fare affidamento sui backup dei dati e sui piani di archiviazione fuori sede per salvarli in caso di catastrofe.

Dopo aver ripristinato le cartelle e i file, è possibile effettuare i seguenti controlli per assicurarsi che i file siano stati recuperati correttamente:

  • Rinominare la cartella dei documenti danneggiata
  • Contare i file nelle cartelle ripristinate e abbinarli a una cartella esistente.
  • Apri alcuni file e assicurati che siano accessibili. Assicurati di aprirli con l'applicazione che normalmente li utilizza. E assicurati di poter sfogliare i dati, aggiornare i dati o qualsiasi cosa fai normalmente.
  • È meglio aprire diversi file di diverso tipo, immagini, mp3, documenti e alcuni grandi e altri piccoli.
  • ponte sistemi operativi dispongono di utilità che puoi utilizzare per confrontare file e directory.

Sommario

In questo tutorial abbiamo imparato diversi aspetti dei test di ripristino che aiutano a capire se il sistema o il programma soddisfa i propri requisiti dopo un errore.