Mikä on palautumistesti? esimerkin kanssa
⚡ Älykäs yhteenveto
Palautustestaus varmistaa, että ohjelmisto voi jatkaa normaalia toimintaansa kaatumisen, verkkokatkoksen tai laitteistovian jälkeen palauttamalla järjestelmän tunnettuun toimivaan tilaan ja käsittelemällä tapahtumat uudelleen vikaantumishetkeen asti.
Mikä on palautumistesti?
Palautustestaus on ohjelmistotestaustekniikka, joka varmistaa ohjelmiston kyvyn palautua vioista, kuten ohjelmisto- tai laitteistokaatumisista ja verkkohäiriöistä. Palautustestauksen tarkoituksena on määrittää, voidaanko ohjelmiston toimintaa jatkaa katastrofin tai eheyden menetyksen jälkeen. Palautustestaus sisältää ohjelmiston palauttamisen pisteeseen, jossa eheys tiedettiin, ja tapahtumien uudelleenkäsittelyn vikaantumispisteeseen asti.
Ohjelmistotekniikassa palautettavuustestaus on eräänlainen ei-toiminnallinen testaus — se kattaa näkökohtia, jotka eivät ole sidottuja tiettyyn toimintoon tai käyttäjän toimintaan, kuten skaalautuvuuden tai turvallisuuden. Sen tekevät ammattimaiset testaajat, ja riittävät varmuuskopiotiedot säilytetään etukäteen turvallisissa paikoissa.
Esimerkki palautumistestauksesta
Kaksi skenaariota havainnollistavat tekniikkaa yksinkertaisimmillaan. Kummassakin skenaariossa virhe aiheutetaan tahallaan, minkä jälkeen sovelluksen toimintaa seurataan sen jatkuessa.
- Verkkokatkos: Kun sovellus vastaanottaa dataa verkosta, irrota yhdyskaapeli. Liitä se jonkin ajan kuluttua takaisin ja analysoi sovelluksen kykyä jatkaa datan vastaanottamista pisteestä, jossa yhteys katkesi.
- Istunnon palautus: Käynnistä järjestelmä uudelleen, kun selaimella on tietty määrä istuntoja auki, ja tarkista, palauttaako selain ne kaikki.
Alla oleva kuva esittää saman ajatuksen visuaalisessa muodossa.
Toipumiseen kuluva aika riippuu:
- Uudelleenkäynnistyspisteiden määrä
- Sovelluksen hallussa olevan datan määrä
- Toipumistoimintaa suorittavien henkilöiden koulutus ja taidot sekä toipumiseen käytettävissä olevat työkalut
Kun vikoja on useita, palautumistestaus tulisi tehdä strukturoidusti eikä kaikki kerralla – ensin yhdelle segmentille ja sitten toiselle.
Toipumisprosessin elinkaari
Ennen testitapausten suunnittelua on hyödyllistä nähdä, missä palautustesti puuttuu asiaan. Palautusprosessin elinkaaressa on viisi vaihetta:
- Tavallinen toimenpide
- Katastrofitapahtuma
- Toiminnan häiriö ja epäonnistuminen
- Katastrofin raivaus palautusprosessin kautta
- Kaikkien prosessien ja tietojen uudelleenjärjestely, jolloin koko järjestelmä palautuu normaaliin toimintaan
Alla oleva vuokaavio näyttää nämä viisi vaihetta peräkkäin.
Käydäänpä nämä viisi vaihetta läpi yksityiskohtaisesti:
- Normaali toiminta. Yhteisen tavoitteen saavuttamiseksi integroitu laitteisto-, ohjelmisto- ja laiteohjelmistojärjestelmä suorittaa suunnitellun tehtävänsä häiriöttömästi määräajassa.
- Katastrofin sattuminen. Häiriö voi johtua ohjelmiston toimintahäiriöstä, esimerkiksi syötteen aiheuttamasta toimintahäiriöstä, laitteistovian aiheuttamasta kaatumisesta tai tulipalon, varkauden tai iskun aiheuttamista vaurioista.
- Häiriö ja epäonnistuminen. Tämä on tuskallisin vaihe, joka johtaa liiketoiminnan tappioihin, rikkoutuneisiin suhteisiin, menetettyihin mahdollisuuksiin, menetettyihin työtunteihin ja poikkeuksetta taloudellisiin ja liikearvon menetyksiin. Palautumissuunnitelma pitää tämän vaiheen mahdollisimman lyhyenä.
- Katastrofin raivaus. Jos varasuunnitelma ja riskienhallintaprosessit ovat jo käytössä, toipuminen maksaa paljon vähemmän aikaa ja vaivaa. Nimetty tiimi, jossa jokaisen rooli on määritelty etukäteen, määrittää vastuut ja estää pitkän häiriöjakson.
- Jälleenrakennus. Tämä voi vaatia useita käyttökertoja kaikkien kansioiden ja määritystiedostojen uudelleenrakentamiseksi. Oikeanlainen palautus edellyttää asianmukaista dokumentaatiota ja määriteltyä uudelleenrakennusprosessia.
Kunnostusstrategia
Palautustiimillä tulisi olla oma strategiansa tärkeän koodin ja datan hakemiseksi toiminnan palauttamiseksi normaaliksi. Tämä strategia on jokaiselle organisaatiolle ainutlaatuinen ja perustuu sen käsittelemien järjestelmien kriittisyyteen, ja kriittisten järjestelmien osalta se riippuu joukosta valintoja:
- Yksi varmuuskopio vai useampi kuin yksi
- Useita varmuuskopioita yhdessä paikassa tai eri paikoissa
- Online-varmuuskopiointi tai offline-varmuuskopiointi
- Varmuuskopiot suoritetaan automaattisesti käytännön mukaisesti tai käynnistetään manuaalisesti
- Riippumaton entisöintitiimi tai työn tekevä kehitystiimi
Jokaisella valinnalla on kustannustekijänsä, ja useat varmuuskopiot saattavat kuluttaa enemmän fyysisiä resursseja tai vaatia itsenäisen tiimin. Myös riippuvuussuhteella on merkitystä: yritykset altistuvat riskeille yhden palveluntarjoajan hallussa pitämänsä koodin ja datan kautta, ja laajamittainen... AWS Katkos on toistuvasti ottanut tunnettuja kuluttajapalveluita pois päältä samaan aikaan. Tällaisissa tapauksissa itsenäinen palautuskyky on ratkaisevan tärkeää.
Kuinka tehdä palautustesti
Strategia on selvitetty, seuraava kysymys on itse testin järjestely. Seuraavat seikat tulisi ottaa huomioon palautumistestausta suoritettaessa.
- Luo testiympäristö, joka vastaa mahdollisimman tarkasti todellisia käyttöönotto-olosuhteita: rajapintojen, protokollan, laiteohjelmiston, laitteiston ja ohjelmiston tulee vastata tuotantoympäristöä.
- Vaikka perusteellinen testaus voi olla aikaa vievää ja kallista, identtinen kokoonpano ja täydellinen tarkistus tulisi silti suorittaa.
- Jos mahdollista, testaa laitteistolla, jolle lopulta palautetaan – varsinkin kun palautat eri koneelle kuin sille, jolla varmuuskopio luotiin.
- Jotkut varmuuskopiojärjestelmät odottavat kiintolevyn olevan täsmälleen samankokoinen kuin se, jolta varmuuskopio on otettu.
- Vanhentumisen hallinta: levyasemateknologia kehittyy nopeasti, eikä vanha levy välttämättä ole yhteensopiva uuden kanssa. Palauttaminen virtuaalikone auttaa, koska virtualisointiohjelmisto voi matkia olemassa olevaa laitteistoa, mukaan lukien levykoot.
- Verkkovarmuuskopiointijärjestelmät eivät ole poikkeus testauksesta. Useimmat palveluntarjoajat suojaavat käyttäjiä mediaongelmilta vikasietoisen tallennuksen avulla, joten viat ilmenevät myöhään.
- Vaikka verkkovarmuuskopiointijärjestelmät ovat erittäin luotettavia, palautuspuoli on testattava sen varmistamiseksi, ettei tietojen noutamisessa, turvallisuudessa tai salauksessa ole ongelmia.
Koska palautumista harjoitellaan päästä päähän, nämä juoksut ajoitetaan yleensä rinnakkain järjestelmän testaus eikä yksikkötasolla.
Testausmenettely restauroinnin jälkeen
Tietojen palauttaminen on vasta puolet työstä; palautetun kopion käyttökelpoisuus on vielä todistettava. Useimmilla suuryrityksillä on riippumattomia tilintarkastajia, jotka suorittavat palautusharjoituksia säännöllisesti. Kattavan palautussuunnitelman ylläpito ja testaus on kallista, joten pienemmät organisaatiot turvautuvat usein varmuuskopioihin ja ulkopuoliseen tallennukseen.
Kun kansiot ja tiedostot on palautettu, seuraavat tarkistukset varmistavat, että ne on palautettu oikein:
- Nimeä vioittunut asiakirjakansio uudelleen, jotta palautettua kopiota ei voida sekoittaa siihen.
- Laske palautettujen kansioiden tiedostot ja vertaa lukua alkuperäisen kansion tiedostoihin.
- Avaa muutamia tiedostoja sovelluksella, joka niitä normaalisti käyttää, ja varmista, että tietoja voidaan selata ja päivittää normaalisti.
- Avaa useita erityyppisiä tiedostoja – kuvia, MP3ja asiakirjoja, osa suuria ja osa pieniä.
- Käytä useimpia tiedostojen ja hakemistojen vertailutyökaluja käyttöjärjestelmät tarjoavat.


