Mi az a helyreállítási teszt? Példával

⚡ Okos összefoglaló

A helyreállítási tesztelés ellenőrzi, hogy a szoftver képes-e a normál működés folytatására egy összeomlás, hálózati kimaradás vagy hardverhiba után azáltal, hogy visszaállítja a rendszert egy ismert, jó állapotba, és újra feldolgozza a tranzakciókat a meghibásodásig.

  • 🔁 Amit bizonyít: Operaa katasztrófa után is folytatódnak, nem csupán arról van szó, hogy létezik egy biztonsági mentés.
  • 🧩 Hol található: Egy nem funkcionális technika, amelyet képzett tesztelők futtatnak biztonságos biztonsági mentési adatokon.
  • ⏱️ A felépülési időt befolyásoló tényezők: Újraindítási pontok, adatmennyiség, valamint a helyreállító csapat készségei és eszközei.
  • 🔄 Folyamat alakja: Normál működés, katasztrófa, üzemzavar, helyreállítás, majd a normális kerékvágásba való visszaállítás.
  • 💾 Stratégiai választások: Egy vagy több biztonsági mentés, egy vagy több helyszínen, online vagy offline, automatikus vagy manuális.
  • Visszaállítás után: Számolja meg a fájlokat az eredeti mappához képest, nyisson meg több típust, és hasonlítsa össze a könyvtárakat a rendszer segédprogramokkal.

Mi a helyreállító tesztelés a szoftvertesztelésben egy példával?

Mi az a helyreállítási teszt?

Helyreállítási tesztelés egy szoftvertesztelési technika, amely ellenőrzi a szoftver azon képességét, hogy helyreálljon olyan hibák után, mint a szoftver- vagy hardverösszeomlások és hálózati hibák. A helyreállító tesztelés célja annak meghatározása, hogy a szoftver működése folytatható-e egy katasztrófa vagy integritásvesztés után. A helyreállító tesztelés magában foglalja a szoftver visszaállítását arra a pontra, ahol az integritás ismert volt, és a tranzakciók újrafeldolgozását a meghibásodási pontig.

A szoftverfejlesztésben a helyreállíthatósági tesztelés egyfajta nem funkcionális tesztelés — olyan szempontokat is lefed, amelyek nem egy adott funkcióhoz vagy felhasználói művelethez kötődnek, például a skálázhatóságot vagy a biztonságot. Professzionális tesztelők végzik, és előzetesen megfelelő biztonsági mentési adatokat tárolnak biztonságos helyeken.

Példa helyreállítási tesztelésre

Két forgatókönyv mutatja be a technika legegyszerűbb változatát. Mindegyikben szándékosan kiváltanak egy hibát, majd az alkalmazás folytatását figyelik.

  • Hálózati megszakítás: Miközben egy alkalmazás adatokat fogad a hálózatról, húzza ki a csatlakozókábelt. Egy idő után csatlakoztassa újra, és elemezze, hogy az alkalmazás képes-e folytatni az adatok fogadását attól a ponttól, ahol a kapcsolat megszakadt.
  • Munkamenet-visszaállítás: Indítsa újra a rendszert, miközben a böngészőnek meghatározott számú munkamenete van megnyitva, és ellenőrizze, hogy a böngésző helyreállítja-e az összeset.

Az alábbi ábra ugyanezt az elképzelést szemlélteti vizuális formában.

Helyreállítási tesztelési koncepció, amely egy rendszer meghibásodását, majd a normál működés visszaállítását mutatja

A helyreállításhoz szükséges idő a következőktől függ:

  • Az újraindítási pontok száma
  • Az alkalmazás által tárolt adatok mennyisége
  • A helyreállítási tevékenységeket végző személyek képzése és készségei, valamint a helyreállításhoz rendelkezésre álló eszközök

Több hiba esetén a helyreállítási tesztelést strukturált módon kell elvégezni, nem pedig egyszerre – először az egyik, majd a másik szegmensre vonatkozóan.

A helyreállítási folyamat életciklusa

A tesztesetek megtervezése előtt érdemes megnézni, hogy hol avatkozik közbe egy helyreállítási teszt. A helyreállítási folyamat életciklusa öt lépésből áll:

  1. Normál működés
  2. Katasztrófa esemény
  3. A működés megzavarása és kudarca
  4. Katasztrófaelhárítás a helyreállítási folyamaton keresztül
  5. Az összes folyamat és információ rekonstrukciója, a teljes rendszer normál működésének visszaállítása

Az alábbi folyamatábra sorrendben mutatja be ezt az öt szakaszt.

A helyreállítási folyamat folyamatábrájának életciklusa, amely lefedi a normál működést, a katasztrófát, a zavart, a helyreállítást és az újjáépítést

Beszéljük meg részletesen ezt az öt lépést:

  1. Normál működés. Egy hardver, szoftver és firmware rendszere, amely egy közös cél elérése érdekében integrálva van, a tervezett feladatát megszakítás nélkül, meghatározott időn belül elvégzi.
  2. Katasztrófa bekövetkezése. A szoftver meghibásodása miatt, például bemenet által kezdeményezett meghibásodás, hardverhiba okozta összeomlás, tűz, lopás vagy sztrájk okozta károk miatt, működési zavar léphet fel.
  3. Zavar és kudarc. Ez a legfájdalmasabb szakasz, amely üzleti veszteségekhez, kapcsolatok megszakadásához, elvesztegetett lehetőségekhez, munkaórák elvesztéséhez és – minden esetben – pénzügyi és jó hírnév veszteségekhez vezet. Egy katasztrófa utáni helyreállítási terv minimalizálja ezt a fázist.
  4. Katasztrófaelhárítás. Ha már van biztonsági terv és kockázatcsökkentési folyamatok, a helyreállítás sokkal kevesebb időt és energiát igényel. Egy kijelölt csapat, ahol minden személy szerepét előre meghatározzák, rögzíti a felelősségi köröket és megakadályozza a hosszú üzemzavarokat.
  5. Újjáépítés. Ez több műveleti munkamenetet is magában foglalhat az összes mappa és a konfigurációs fájlok újjáépítéséhez. A helyes helyreállításhoz megfelelő dokumentáció és meghatározott újraépítési folyamat szükséges.

Helyreállítási stratégia

A helyreállító csapatnak saját stratégiával kell rendelkeznie a fontos kódok és adatok visszaállítására a normális működés visszaállítása érdekében. Ez a stratégia minden szervezet esetében egyedi, a kezelt rendszerek kritikusságától függően, és a kritikus rendszerek esetében a következő lehetőségek közül választhat:

  1. Egyetlen biztonsági mentés, vagy egynél több
  2. Több biztonsági mentés egy helyen vagy különböző helyeken
  3. Online biztonsági mentés vagy offline biztonsági mentés
  4. A biztonsági mentések automatikusan futnak egy szabályzat alapján, vagy manuálisan indíthatók el.
  5. Egy független restaurátorcsapat, vagy a munkát végző fejlesztőcsapat

Minden választásnak megvannak a maga költségei, és a többszörös biztonsági mentések több fizikai erőforrást igényelhetnek, vagy független csapatot igényelhetnek. A függőség is számít: a vállalatok a kódjukon és adataikon keresztül vannak kitéve a biztonsági résnek, amelyeket egyetlen szolgáltatónál tárolnak, és egy nagyszabású... AWS Egy kiesés ismételten egyszerre kapcsolta ki a jól ismert fogyasztói szolgáltatásokat. Ilyen esetekben elengedhetetlen a független helyreállítási képesség.

Hogyan kell elvégezni a helyreállítási tesztet

Miután a stratégia megvan, a következő kérdés maga a teszt beállítása. A következő pontokat kell figyelembe venni a helyreállítási tesztelés során.

  • Hozz létre egy olyan tesztkörnyezetet, amely a lehető legközelebb áll a tényleges telepítési körülményekhez: az interfészeknek, a protokollnak, a firmware-nek, a hardvernek és a szoftvernek meg kell egyeznie a termelési körülményekkel.
  • Bár a kimerítő tesztelés időigényes és költséges lehet, mégis el kell végezni egy azonos konfigurációt és egy teljes ellenőrzést.
  • Ha lehetséges, teszteld azon a hardveren, amelyre végül visszaállítod a rendszert – különösen akkor, ha a biztonsági mentést létrehozó géptől eltérő gépre állítod vissza a rendszert.
  • Egyes biztonsági mentési rendszerek elvárják, hogy a merevlemez pontosan akkora legyen, mint amelyről a biztonsági másolat készült.
  • Az elavulás kezelése: a meghajtótechnológia gyorsan fejlődik, és egy régi meghajtó esetleg nem kompatibilis egy újjal. Visszaállítás egy virtuális gép segít, mivel a virtualizációs szoftverek képesek utánozni a meglévő hardvereket, beleértve a lemezméreteket is.
  • Az online biztonsági mentési rendszerek sem kivételek a tesztelés alól. A legtöbb szolgáltató hibatűrő tárolással védi a felhasználókat a médiaproblémáktól, így a hibák később jelentkeznek.
  • Habár az online biztonsági mentési rendszerek rendkívül megbízhatóak, a visszaállítási oldalt tesztelni kell annak megerősítésére, hogy nincsenek problémák a visszakereséssel, a biztonsággal vagy a titkosítással.

Mivel a regenerálódást teljes futásidőben gyakorolják, ezeket a futásokat általában egymás mellé ütemezik. rendszertesztelés nem pedig egység szinten.

Vizsgálati eljárás restaurálás után

Az adatok visszaállítása csak a feladat fele; a visszaállított másolat használhatóságát továbbra is bizonyítani kell. A legtöbb nagyvállalatnál független auditorok rendszeresen végeznek helyreállítási gyakorlatokat. Egy átfogó katasztrófa-helyreállítási terv fenntartása és tesztelése költséges, ezért a kisebb szervezetek gyakran a biztonsági mentésekre és a külső telephelyen történő tárolásra hagyatkoznak.

A mappák és fájlok visszaállítása után a következő ellenőrzések igazolják, hogy azok megfelelően visszaállításra kerültek:

  • Nevezze át a sérült dokumentummappát, hogy a visszaállított másolat ne legyen összetéveszthető vele.
  • Számold meg a visszaállított mappákban lévő fájlokat, és vesd össze a számot az eredeti mappával.
  • Nyisson meg néhány fájlt azzal az alkalmazással, amely általában használja őket, és ellenőrizze, hogy az adatok a szokásos módon böngészhetők és frissíthetők-e.
  • Nyisson meg több különböző típusú fájlt – képeket, MP3és dokumentumok, némelyik nagy, némelyik kicsi.
  • Használja a legtöbb fájl- és könyvtár-összehasonlító segédprogramot operációs rendszer biztosítani.

GYIK

A feladatátvételi tesztelés azt ellenőrzi, hogy a forgalom hibátlanul átvált-e egy készenléti csomópontra. A helyreállítási tesztelés továbbmegy, és azt vizsgálja, hogy az eredeti szolgáltatás, annak adatai és a folyamatban lévő tranzakciók visszaállnak-e a helyes állapotba.

Az RTO az az idő, amely alatt egy szolgáltatás visszaállítható; az RPO az elfogadható adatvesztés. A helyreállítási teszt a következőket méri: az RTO visszaállításának időzítése, valamint a helyreállított adatok összehasonlítása az RPO utolsó ismert jó állapotával.

Három változat ismétlődik: katasztrófa utáni helyreállítás webhelyszintű leállások esetén, adatbázis-helyreállítás sérült adattárak esetén, és környezet-helyreállítás hibás konfiguráció vagy függőségek esetén. Mindegyik ugyanazt az életciklust használja, eltérő hibakiváltó okokkal.

A gépi tanulási modellek az incidenselőzmények és a függőségek mélysége alapján rangsorolják a szolgáltatásokat, így a legkockázatosabb visszaállítási útvonalak futnak le először. A visszaállítási naplók anomáliadetektálása azokat a futtatásokat is megjelöli, amelyek befejeződtek, de hiányos adatokat eredményeztek.

GitHub másodpilóta gyorsan elkészíti a hibainjektálási segítőket, a visszaállító szkripteket és a visszaállítás utáni állításokat. A tesztelő dönti el továbbra is, hogy melyik hibát kényszerítse ki, és hogyan nézzen ki a helyes helyreállított állapot, mivel mindkettő üzleti szabályokat követ.

Az éves gyakorlatok gyakoriak, a kritikus rendszerek esetében negyedéves gyakorlatokat tartanak. A biztonsági mentési eszköz, a tárolóplatform vagy az architektúra bármilyen változása esetén új futtatást kell indítani, mivel egy nem tesztelt változás csendben érvényteleníti az előző eredményt.

Valódi kudarcokat kényszerít ki, így átfedésben van a ...-val/-vel. roncsoló tesztelés, de a cél a helyreállítás, nem pedig a törés. Futtasd egy elszigetelt tesztkörnyezetben, ne élő termelési adatokkal szemben.

Jegyezze fel a befecskendezett hibát, a kezdési és befejezési időpontokat, a mért RTO-t és RPO-t, a manuális beavatkozást igénylő lépéseket, valamint a visszaállított adatokban talált összes eltérést. Adja meg a korrekciós intézkedéseket és az újratesztelés dátumát.

Foglald össze ezt a bejegyzést a következőképpen: