Vad är återhämtningstestning? med exempel

⚡ Smart sammanfattning

Återställningstester verifierar att programvara kan återgå till normal drift efter en krasch, ett nätverksavbrott eller ett hårdvarufel, genom att återställa systemet till en fungerande punkt och bearbeta transaktioner igen fram till felet.

  • 🔁 Vad det bevisar: Operationer fortsätter efter en katastrof, inte bara att en säkerhetskopia finns.
  • 🧩 Var den sitter: En icke-funktionell teknik, körd av utbildade testare mot säkra säkerhetskopior av data.
  • ⏱️ Drivkrafter för återställningstid: Omstartspunkter, datavolym och återställningsteamets kompetens och verktyg.
  • 🔄 Processform: Normal drift, katastrof, störningar, återhämtning, sedan rekonstruktion tillbaka till det normala.
  • 💾 Strategival: En eller flera säkerhetskopior, en webbplats eller flera, online eller offline, automatisk eller manuell.
  • ✅ Efter återställning: Räkna filer mot originalmappen, öppna flera typer och jämför kataloger med systemverktyg.

Vad är återställningstestning inom mjukvarutestning med exempel

Vad är återhämtningstestning?

Återhämtningstestning är en teknik för mjukvarutestning som verifierar programvarans förmåga att återhämta sig från fel som programvaru- eller hårdvarukrascher och nätverksfel. Syftet med återställningstestning är att avgöra om programvarudrift kan fortsätta efter en katastrof eller en integritetsförlust. Återställningstestning innebär att återställa programvaran till den punkt där integriteten var känd och att bearbeta transaktioner igen fram till felpunkten.

Inom mjukvaruutveckling är återställningstestning en typ av icke-funktionell testning — den täcker aspekter som inte är knutna till en specifik funktion eller användaråtgärd, såsom skalbarhet eller säkerhet. Den utförs av professionella testare, och tillräcklig säkerhetskopiering av data förvaras på säkra platser i förväg.

Exempel på återställningstest

Två scenarier visar tekniken i sin enklaste form. I vart och ett av dem tvingas ett fel fram avsiktligt, sedan övervakas applikationen medan den återupptas.

  • Nätverksavbrott: Medan ett program tar emot data från nätverket, dra ur anslutningskabeln. Efter en stund, sätt i den igen och analysera programmets förmåga att fortsätta ta emot data från den punkt där anslutningen bröts.
  • Återställning av session: Starta om systemet medan en webbläsare har ett bestämt antal sessioner öppna och kontrollera om webbläsaren återställer alla.

Illustrationen nedan visar samma idé i visuell form.

Koncept för återställningstestning som visar ett system som slutar fungera och sedan återställs till normal drift

Tiden det tar att återhämta sig beror på:

  • Antalet omstartpunkter
  • Mängden data som lagras av applikationen
  • Utbildning och färdigheter hos de personer som utför återhämtningsaktiviteter, och de verktyg som finns tillgängliga för återhämtning

När det finns flera fel bör återhämtningstestning göras på ett strukturerat sätt snarare än allt på en gång – utföras för ett segment och sedan ett annat.

Återhämtningsprocessens livscykel

Innan man utformar testfall är det bra att se var ett återställningstest ingriper. Återställningsprocessens livscykel har fem steg:

  1. Normal drift
  2. Katastrofhändelse
  3. Avbrott och misslyckande i verksamheten
  4. Katastrofrensning genom återställningsprocessen
  5. Rekonstruktion av alla processer och information, vilket återställer hela systemet till normal drift

Flödesschemat nedan visar de fem stegen i ordning.

Livscykeln för återhämtningsprocessens flödesschema som täcker normal drift, katastrof, störningar, återhämtning och återuppbyggnad

Låt oss diskutera dessa fem steg i detalj:

  1. Normal drift. Ett system av hårdvara, mjukvara och firmware, integrerade för att uppnå ett gemensamt mål, utför sitt avsedda jobb utan avbrott inom en viss tidsperiod.
  2. Katastrofhändelse. Ett avbrott kan uppstå på grund av fel i programvaran, till exempel av inmatningsinitierat fel, en krasch orsakad av hårdvarufel eller skador till följd av brand, stöld eller strejk.
  3. Störningar och misslyckande. Detta är den mest smärtsamma fasen, som leder till affärsförluster, brutna relationer, förlorade möjligheter, förlorade arbetstimmar och, oundvikligen, ekonomiska förluster och goodwillförluster. En katastrofåterställningsplan håller denna fas minimal.
  4. Katastrofhantering. Om en reservplan och riskreduceringsprocesser redan finns på plats kostar återställningen mycket mindre tid och ansträngning. Ett utsett team, där varje persons roll är definierad i förväg, fastställer ansvaret och förhindrar en lång störningsperiod.
  5. Rekonstruktion. Detta kan innebära flera sessioner av operationer för att återskapa alla mappar tillsammans med konfigurationsfiler. Korrekt dokumentation och en definierad rekonstruktionsprocess krävs för korrekt återställning.

Återställningsstrategi

Återställningsteamet bör ha sin egen strategi för att hämta viktig kod och data för att återställa verksamheten till det normala. Den strategin är unik för varje organisation, baserad på hur kritiska de system den hanterar är, och för kritiska system handlar det om en uppsättning val:

  1. En enda säkerhetskopia, eller mer än en
  2. Flera säkerhetskopior på ett ställe, eller på olika platser
  3. Online-säkerhetskopiering eller offline-säkerhetskopiering
  4. Säkerhetskopieringar körs automatiskt enligt en policy eller utlöses manuellt
  5. Ett oberoende restaureringsteam, eller utvecklingsteamet som utför arbetet

Varje val har en kostnadsfaktor, och flera säkerhetskopior kan förbruka mer fysiska resurser eller kräva ett oberoende team. Beroende spelar också roll: företag exponeras genom den kod och data de lagrar hos en enda leverantör, och en storskalig AWS Avbrott har upprepade gånger orsakat att välkända konsumenttjänster stängts av samtidigt. Oberoende återställningsförmåga är avgörande i sådana fall.

Hur man gör återställningstestning

Strategin är avgjord, nästa fråga är hur själva testet konfigureras. Följande punkter bör beaktas vid utförande av återhämtningstestning.

  • Skapa en testbädd så nära faktiska driftsättningsförhållanden som möjligt: ​​gränssnitt, protokoll, firmware, hårdvara och programvara ska matcha produktionen.
  • Även om uttömmande tester kan vara tidskrävande och kostsamma, bör en identisk konfiguration och en fullständig kontroll fortfarande utföras.
  • Om möjligt, testa på den hårdvara som slutligen ska återställas till – särskilt när du återställer till en annan maskin än den som skapade säkerhetskopian.
  • Vissa säkerhetskopieringssystem förväntar sig att hårddisken har exakt samma storlek som den som säkerhetskopieringen togs från.
  • Hantera föråldring: hårddisktekniken utvecklas snabbt, och en gammal hårddisk kanske inte är kompatibel med en ny. Återställa till en virtuell maskin hjälper, eftersom virtualiseringsprogramvara kan härma befintlig hårdvara, inklusive diskstorlekar.
  • Online-backupsystem är inget undantag från testning. De flesta leverantörer skyddar användare från mediaproblem genom feltolerant lagring, så fel uppstår sent.
  • Även om online-backupsystem är extremt tillförlitliga måste återställningssidan testas för att bekräfta att det inte finns några problem med hämtning, säkerhet eller kryptering.

Eftersom återhämtningsövningarna sker från början till slut är dessa löprundor vanligtvis schemalagda parallellt systemtestning snarare än på enhetsnivå.

Testprocedur efter restaurering

Att återställa data är bara halva arbetet; den återställda kopian måste fortfarande bevisas användbar. De flesta stora företag har oberoende revisorer som regelbundet genomför återställningsövningar. En omfattande katastrofåterställningsplan är dyr att underhålla och testa, så mindre organisationer förlitar sig ofta på säkerhetskopior och extern lagring istället.

När mappar och filer har återställts bekräftar följande kontroller att de har återställts korrekt:

  • Byt namn på den skadade dokumentmappen så att den återställda kopian inte kan förväxlas med den.
  • Räkna filerna i de återställda mapparna och matcha antalet mot den ursprungliga mappen.
  • Öppna några filer med programmet som normalt använder dem och bekräfta att informationen kan bläddras och uppdateras som vanligt.
  • Öppna flera filer av olika typer — bilder, MP3och dokument, en del stora och en del små.
  • Använd de verktyg för fil- och katalogjämförelse som de flesta operativsystem förse.

Vanliga frågor

Redundanstestning kontrollerar om trafiken växlar smidigt till en standby-nod. Återställningstestning går längre och frågar om den ursprungliga tjänsten, dess data och dess transaktioner på gång återställs till ett korrekt tillstånd.

RTO är den tid som tillåts för att återställa en tjänst; RPO är den acceptabla dataförlusten. Ett återställningstest mäter både: tidpunkten för återställningen för RTO och jämförelse av återställd data med det senast kända felfria tillståndet för RPO.

Tre varianter återkommer: katastrofåterställning för hela webbplatsen, databasåterställning för skadade datalager och miljöåterställning för trasig konfiguration eller beroenden. Var och en använder samma livscykel med en annan felutlösare.

Maskininlärningsmodeller rangordnar tjänster efter incidenthistorik och beroendedjup, så de mest riskfyllda återställningsvägarna körs först. Avvikelsedetektering via återställningsloggar flaggar även körningar som slutförts men producerade ofullständiga data.

GitHub Copilot utarbetar felinjektionshjälpare, återställer skript och gör snabbt efteråterställningskontroller. Testaren bestämmer fortfarande vilket fel som ska tvingas fram och hur ett korrekt återställt tillstånd ser ut, eftersom båda följer affärsregler.

Årliga övningar är vanliga, med kvartalsvisa övningar för kritiska system. Varje ändring av säkerhetskopieringsverktyget, lagringsplattformen eller arkitekturen bör utlösa en ny körning, eftersom en otestad ändring i tysthet ogiltigförklarar det tidigare resultatet.

Det tvingar fram verkliga misslyckanden, så det överlappar med destruktiv testning, men målet är återställning snarare än förstörelse. Kör det i en isolerad testbädd, inte mot realtidsdata.

Registrera det injicerade felet, start- och sluttider, uppmätt RTO och RPO, steg som krävde manuell åtgärd och alla avvikelser som hittats i den återställda datan. Lägg till korrigerande åtgärder och datum för omtestning.

Sammanfatta detta inlägg med: