Hva er gjenopprettingstesting? med eksempel
โก Smart oppsummering
Gjenopprettingstesting bekrefter at programvare kan gjenoppta normal drift etter et krasj, et nettverksfall eller en maskinvarefeil, ved รฅ gjenopprette systemet til et kjent fungerende punkt og behandle transaksjoner pรฅ nytt frem til feilen.
Hva er gjenopprettingstesting?
Gjenopprettingstesting er en programvaretestingsteknikk som verifiserer programvarens evne til รฅ gjenopprette etter feil som programvare- eller maskinvarekrasj og nettverksfeil. Formรฅlet med gjenopprettingstesting er รฅ avgjรธre om programvaredriften kan fortsette etter en katastrofe eller et integritetstap. Gjenopprettingstesting innebรฆrer รฅ tilbakestille programvaren til det punktet der integriteten var kjent, og behandle transaksjoner pรฅ nytt frem til feilpunktet.
Innen programvareutvikling er gjenopprettingstesting en type ikke-funksjonell testing โ den dekker aspekter som ikke er knyttet til en spesifikk funksjon eller brukerhandling, som skalerbarhet eller sikkerhet. Den utfรธres av profesjonelle testere, og tilstrekkelige sikkerhetskopier av data oppbevares pรฅ sikre steder pรฅ forhรฅnd.
Eksempel pรฅ gjenopprettingstesting
To scenarioer viser teknikken pรฅ sitt enkleste. I hvert scenario tvinges en feil frem med vilje, og deretter overvรฅkes applikasjonen mens den gjenopptas.
- Nettverksavbrudd: Mens et program mottar data fra nettverket, kobler du fra tilkoblingskabelen. Etter en stund kobler du den til igjen og analyserer programmets evne til รฅ fortsette รฅ motta data fra det punktet der forbindelsen ble brutt.
- Gjenoppretting av รธkt: Start systemet pรฅ nytt mens en nettleser har et bestemt antall รธkter รฅpne, og sjekk om nettleseren gjenoppretter alle.
Illustrasjonen nedenfor viser den samme ideen i visuell form.
Tiden det tar รฅ bli frisk avhenger av:
- Antall omstartspunkter
- Datamengden som lagres av applikasjonen
- Opplรฆring og ferdigheter hos personer som utfรธrer tilfriskningsaktiviteter, og verktรธyene som er tilgjengelige for tilfriskningsaktiviteter
Nรฅr det er flere feil, bรธr gjenopprettingstesting gjรธres pรฅ en strukturert mรฅte i stedet for alt pรฅ รฉn gang โ utfรธrt for ett segment og deretter et annet.
Livssyklus for gjenopprettingsprosessen
Fรธr man utformer testtilfeller, er det nyttig รฅ se hvor en gjenopprettingstest griper inn. Livssyklusen til gjenopprettingsprosessen har fem trinn:
- Normal operasjon
- Katastrofehendelse
- Avbrudd og svikt i operasjonen
- Katastrofeklarering gjennom gjenopprettingsprosessen
- Rekonstruksjon av alle prosesser og informasjon, slik at hele systemet gรฅr tilbake til normal drift
Flytskjemaet nedenfor viser de fem trinnene i rekkefรธlge.
La oss diskutere disse fem trinnene i detalj:
- Normal drift. Et system av maskinvare, programvare og fastvare, integrert for รฅ oppnรฅ et felles mรฅl, utfรธrer sin tiltenkte jobb uten avbrudd innen en fastsatt tidsperiode.
- Katastrofeforekomst. En avbrudd kan oppstรฅ pรฅ grunn av feil i programvaren, som for eksempel en feil initiert av inndata, et krasj forรฅrsaket av maskinvarefeil eller skade fra brann, tyveri eller streik.
- Forstyrrelse og fiasko. Dette er den mest smertefulle fasen, som fรธrer til forretningstap, brutte relasjoner, tapte muligheter, tapte arbeidstimer og uten unntak รธkonomisk tap og tap av goodwill. En katastrofeberedskapsplan holder denne fasen minimal.
- Katastroferydning. Hvis en reserveplan og risikoreduserende prosesser allerede er pรฅ plass, koster gjenoppretting mye mindre tid og krefter. Et utpekt team, der hver persons rolle er definert pรฅ forhรฅnd, fastsetter ansvaret og forhindrer en lang periode med avbrudd.
- Gjenoppbygging. Dette kan innebรฆre flere operasjonsรธkter for รฅ gjenoppbygge alle mapper sammen med konfigurasjonsfiler. Riktig dokumentasjon og en definert gjenoppbyggingsprosess er nรธdvendig for korrekt gjenoppretting.
Restaureringsstrategi
Gjenopprettingsteamet bรธr ha sin egen strategi for รฅ hente viktig kode og data for รฅ fรฅ driften tilbake til normalen. Denne strategien er unik for hver organisasjon, basert pรฅ hvor kritiske systemene den hรฅndterer er, og for kritiske systemer kommer det ned til et sett med valg:
- รn enkelt sikkerhetskopi, eller mer enn รฉn
- Flere sikkerhetskopier pรฅ ett sted, eller pรฅ forskjellige steder
- Online sikkerhetskopiering, eller offline sikkerhetskopiering
- Sikkerhetskopier kjรธres automatisk under en policy, eller utlรธses manuelt
- Et uavhengig restaureringsteam, eller utviklingsteamet som utfรธrer arbeidet
Hvert valg har en kostnadsfaktor, og flere sikkerhetskopier kan forbruke mer fysiske ressurser eller kreve et uavhengig team. Avhengighet er ogsรฅ viktig: bedrifter er eksponert gjennom koden og dataene de oppbevarer hos รฉn enkelt leverandรธr, og en storskala AWS Strรธmbrudd har gjentatte ganger fรธrt til at kjente forbrukertjenester er utilgjengelige samtidig. Uavhengig gjenopprettingskapasitet er avgjรธrende i slike tilfeller.
Hvordan gjรธre gjenopprettingstesting
Strategien er avgjort, og det neste spรธrsmรฅlet er hvordan selve testen settes opp. Fรธlgende punkter bรธr vurderes nรฅr man utfรธrer restitusjonstesting.
- Lag en testmiljรธ som er sรฅ likt de faktiske utrullingsforholdene som mulig: grensesnitt, protokoll, fastvare, maskinvare og programvare bรธr samsvare med produksjonen.
- Selv om uttรธmmende testing kan vรฆre tidkrevende og kostbart, bรธr en identisk konfigurasjon og en fullstendig kontroll fortsatt utfรธres.
- Hvis mulig, test pรฅ maskinvaren som til slutt skal gjenopprettes til โ spesielt nรฅr du gjenoppretter til en annen maskin enn den som opprettet sikkerhetskopien.
- Noen sikkerhetskopieringssystemer forventer at harddisken har nรธyaktig samme stรธrrelse som den sikkerhetskopien ble tatt fra.
- Hรฅndter foreldelse: diskteknologi utvikler seg raskt, og en gammel disk er kanskje ikke kompatibel med en ny. Gjenoppretting til en virtuell maskin hjelper, siden virtualiseringsprogramvare kan etterligne eksisterende maskinvare, inkludert diskstรธrrelser.
- Online sikkerhetskopieringssystemer er ikke et unntak fra testing. De fleste leverandรธrer beskytter brukere mot medieproblemer gjennom feiltolerant lagring, slik at feil dukker opp sent.
- Selv om systemer for sikkerhetskopiering pรฅ nett er ekstremt pรฅlitelige, mรฅ gjenopprettingssiden testes for รฅ bekrefte at det ikke er problemer med henting, sikkerhet eller kryptering.
Fordi restitusjonsรธvelsene utfรธres ende mot ende, er disse lรธpeturene vanligvis planlagt samtidig systemtesting heller enn pรฅ enhetsnivรฅ.
Testprosedyre etter restaurering
Gjenoppretting av dataene er bare halve oppgaven; den gjenopprettede kopien mรฅ fortsatt bevises brukbar. De fleste store selskaper har uavhengige revisorer som regelmessig kjรธrer gjenopprettingsรธvelser. En omfattende katastrofegjenopprettingsplan er dyr รฅ vedlikeholde og teste, sรฅ mindre organisasjoner er ofte avhengige av sikkerhetskopier og ekstern lagring i stedet.
Etter at mapper og filer er gjenopprettet, bekrefter fรธlgende kontroller at de ble gjenopprettet pรฅ riktig mรฅte:
- Gi nytt navn til den รธdelagte dokumentmappen, slik at den gjenopprettede kopien ikke kan forveksles med den.
- Tell filene i de gjenopprettede mappene og sammenlign antallet med den opprinnelige mappen.
- ร pne noen filer med programmet som vanligvis bruker dem, og bekreft at dataene kan blas gjennom og oppdateres som vanlig.
- ร pne flere filer av forskjellige typer โ bilder, MP3og dokumenter, noen store og noen smรฅ.
- Bruk verktรธyene for sammenligning av filer og kataloger som de fleste operativsystemer gi.


