Achtergrond van de vraag:
Hersteltesten (recovery testing) zijn van cruciaal belang voor systemen waarin zowel gegevensintegriteit als systeembestendigheid belangrijk zijn. Historisch gezien werd dit type testen voornamelijk toegepast in bancaire, financiële en medische systemen, waar verlies van informatie onaanvaardbaar is.
Probleem:
De belangrijkste uitdaging is het handmatig modelleren van storingssituaties en de daaropvolgende verificatie van de correcte gegevensherstel, processen of toestanden. De handmatige benadering draagt de fouten van de tester bij zich, zoals onderschatting van zeldzame situaties en het gebrek aan geautomatiseerde controle-instrumenten.
Oplossing:
Optimale handmatige recovery testing is opgebouwd volgens het scenario:
1. Bepaling van kritische gegevens en operaties voor herstel 2. Modelleren van storingen: ontkoppelen van de schijf, netwerk uitschakelen, noodshutdown 3. Beoordeling van de systeemreactie: bleef de gegevensintegriteit behouden, is correcte werking mogelijk na herstel 4. Controle van de workflow: de applicatie moet zichzelf correct kunnen herstellen of een duidelijke fout en tools voor handmatig herstel bieden
Belangrijke kenmerken:
Is het voldoende om herstel alleen na één type storing (bijvoorbeeld stroomuitval) te testen?
Nee, verschillende storingen moeten gemodelleerd worden - netwerkaanproblemen, databaseproblemen, hardwarestoringen, enz. Alleen een uitgebreid testproces zal overtuigende resultaten opleveren.
Kun je herstel als succesvol beschouwen als de applicatie gewoon zonder fouten opstart?
Nee, het is belangrijk om te verifiëren dat alle informatie en processen volledig zijn hersteld - anders is "stille" gegevensverlies mogelijk en zal het niet worden ontdekt.
Moet je gegevensback-ups maken vóór recovery testing?
Absoluut! Voor elke sabotage moet een "controlepunt" voor alle kritische gegevens worden gemaakt. Dit stelt ons in staat om deze vóór en na de storingen te vergelijken.
De tester simuleerde alleen een stroomuitval en controleerde niet op verbindingsverlies met de database. Als gevolg daarvan gingen na de storing een deel van de transacties "verloren".
Voordelen:
Nadelen:
De tester plande verschillende soorten storingen, maakte back-ups, voerde handmatige controles uit en ontdekte verschillende bugs met incorrect herstel. Alle kritische processen zijn behouden.
Voordelen:
Nadelen: