Dela via


Rekommendationer för att utforma en strategi för tillförlitlighetstestning

Gäller för den här checklisterekommendationen för Power Platform välstrukturerad tillförlitlighet:

RE:06 Testa för motståndskraft och tillgänglighetsscenarier genom att tillämpa principerna för kaosteknik i dina test- och produktionsmiljöer. Använd tester för att säkerställa att dina implementeringsstrategier för kontrollerad nedgradering är effektiva genom att utföra aktiva tester av felfunktion och simulerade belastning.

I den här guiden beskrivs rekommendationer för hur du utformar en tillförlitlighetsteststrategi för att verifiera och optimera tillförlitligheten för din arbetsbelastning. Tillförlitlighetstesterna fokuserar på arbetsbelastningens effektivitet och tillgänglighet, särskilt de kritiska flöden som du identifierar när du utformar lösningen. Den här guiden ger allmän testguide och vägledning som är specifik för felinjektion och kaosteknik.

Definitioner

Begrepp Definition
Tillgänglighet Den tid som en programarbetsbelastning körs i felfritt tillstånd utan större driftavbrott.
Kaosteknik Metoden att utsätta appar och tjänster för verklig stress och misslyckanden. Målet med kaosteknik är att skapa och verifiera systemets giltighet till ouppnåeliga villkor och saknade beroenden.
Felinjektion Att introducera ett fel i ett system för att testa systemets motståndskraft.
Återvinning En synonym för återhämtning.
Återhämtning Förmågan hos appens arbetsbelastning att uthärda och återhämta sig från olika felscenarier.

Viktiga designstrategier

Det är viktigt att testa för att säkerställa att arbetsbelastningen uppfyller sina tillförlitlighetsmål och kan hantera fel. Felinjektion är en typ av tester som medvetet introducerar fel eller stress i ditt system för att simulera verkliga scenarier. Genom att använda felinjektion och kaosteknik kan du proaktivt upptäcka och åtgärda problem innan de påverkar din produktionsmiljö. Det här avsnittet ger allmän vägledning om testning, felinjektion och kaosteknik för din arbetsbelastning.

Allmän testvägledning

Utför regelbundet tester för att verifiera befintliga tröskelvärden, mål och antaganden. När din arbetsbelastning förändras kommer du att köra regelbundna tester. Utför de flesta tester i test- och mellanlagringsmiljöer. Dessutom gäller det att köra en delmängd tester mot produktionssystemet.

Med hjälp av automatiserade tester kan du säkerställa att testerna är konsekventa och att de blir tillgängliga på ett konsekvent sätt. Automatisera vanliga testuppgifter och integrera dem i dina versionsprocesser. Att manuellt testa programvara är tråkigt och känsligt för fel, men du kan utföra manuella utforskande tester. I de fall du behöver utveckla automatiserade tester använder du manuella tester för att fastställa omfattningen av de tester som ska utvecklas.

Använd en testmetod för vänsterskifta för att utföra återhämtnings- och tillgänglighetstestning tidigt i utvecklingscykeln.

Anpassa ett enkelt dokumentationsformat så att alla kan förstå processen och resultatet av varje test.

Dela de dokumenterade resultaten med rätt team, som verksamhetsteam, teknikledning, affärsintressenter och intressenter för katastrofåterställning. Resultaten bör informera om förfining av tillförlitlighetsmålen, t.ex. mål på servicenivå, servicenivåavtal (SLO), mål för återställningstid (RTO) och mål för återställningspunkt (RPO).

Skapa en regelbunden testkadens för dina säkerhetskopior. Återställ informationen till enskilda system så att säkerhetskopieringarna är giltiga och att återställningarna fungerar.

Dokumentera och dela måtten för återställningstid med intressenterna för katastrofåterställning för att säkerställa att förväntningarna för återställningen är lämpliga.

Använd branschstandardiserade installationstestprocedurer för att säkerställa att du har en automatiserad, förutsägbar och effektiv implementeringsprocess.

Testa arbetsbelastningens möjligheter att förhindra fel. Mer information finns i Rekommendationer för hantering av övergående fel.

Testa hur arbetsbelastningen hanterar fel i beroende tjänster eller andra beroenden med hjälp av felinjektion.

Testa din katastrofåterställningsplan så att den reagerar på katastrofala misslyckanden och andra större incidenter.

Testa din arbetsbelastnings förmåga att försämras elegant och minimera omfattningen för komponentfel genom att använda felinjektion.

Dra nytta av planerade och oplanerade driftavbrott

När arbetsbelastningen är offline på grund av planerat underhåll eller ett oplanerat driftavbrott, har du en unik möjlighet att utföra tester och förbättra din förståelse av arbetsbelastningen. I följande avsnitt finns detaljerade rekommendationer för varje scenario.

Planerat underhåll

När du har planerat underhållsfönster för uppdateringar eller korrigeringar kan du testa komponenter och flöden som inte är inblandade i underhållsarbetet. Utför tester utan den potentiella risken att oväntat försämra arbetsbelastningen eller ta den helt offline. Om du har tillräckligt med tid under underhållet kan du också testa komponenterna och flödena som är inblandade i underhållet efter att underhållsarbetet har slutförts.

Oplanerade driftavbrott

Använd alla avbrottsincidenter som en möjlighet att lära dig mer om arbetsbelastningen och förbättra belastningen genom att följa stegen nedan, ordnade efter prioritet:

  1. Få tillbaka arbetsbelastningen online för användarna. Du kan behöva utföra en lösning för problemet, lösa problemet eller initiera återställningsprocesserna.

  2. Ta reda på grundorsaken till avbrottet och åtgärda det. Om du kan åtgärda orsaken till problemet dokumenterar du rotorsaken och åtgärderna som du har åtgärdat. Om problemet kräver att du tar en annan underhållsperiod senare kontrollerar du att dina åtgärdsåtgärder kan hantera den förväntade belastningen genom att testa dem noggrant. Se till att du har inrättat tillräcklig övervakning för att täcka dina begränsningsåtgärder.

  3. Om tillämpligt, leta efter samma problem, eller konfigurationssvagheter som kan påverkas av liknande problem, över alla komponenter i din arbetsbelastning. Använd den här affärsmöjligheten om du vill arbeta proaktivt med dessa komponenter. Läs din incidenthistorik om du vill identifiera mönster för liknande problem i hela arbetsbelastningen.

  4. Använd din kontroll för att förbättra teststrategin. Kontrollera att du har åtgärdat rotorsaken och liknande problem genom att testa samma fel direkt.

Felinjektion och kaosteknisk vägledning

Felinjektionstestning följer principerna för kaosteknik genom att lyfta fram arbetsbelastningens förmåga att reagera på komponentfel. Utför felinjektionstestning i förproduktions- och produktionsmiljöer. Tillämpa informationen som du lärt dig av utföra fellägesanalys för att säkerställa att du testar endast fel som du prioriterar och att du har begränsningsstrategier som åtgärdar fel.

De viktigaste riktlinjerna för kaosteknik är:

  • Var proaktiv. Vänta inte på att misslyckanden ska hända. Försök att förutse fel genom att utföra kaos och identifiera och åtgärda problem innan de påverkar produktionsmiljön.

  • Omfamna misslyckande. Acceptera och ta del av de fel som har inträffat i systemet. Se misslyckanden som en naturligt del av komplexa system och använd dem som möjligheter att lära dig och förbättra systemets tillförlitlighet.

  • Bryt systemet. Injicera medvetet fel eller stress i ditt system för att testa dess motståndskraft. Simulera verkliga misslyckanden eller avbrott för att testa och förbättra arbetsbelastningens återställningsfunktioner.

  • Bygg immunitet. Använd kaosteknik som förser dig med problem och förbättra arbetsbelastningens möjlighet att förhindra och återställa systemet från fel.

kaosteknik ingår i arbetet i arbetsbelastningsteamet och är en pågående metod som inte fungerar på kort sikt som svar på ett enda avbrott. Följ den här standardmetoden när du utformar kaoset:

  1. Börja med en hypotes. Varje experiment bör ha ett tydligt mål, som att testa ett flödes förmåga att motstå förlusten av en viss komponent.

  2. Mät baslinjebeteende. Se till att du har konsekventa tillförlitlighets- och prestandamått för flödet och komponenterna som är involverade i ett experiment för att jämföra med det försämrade tillståndet när du kör ditt experiment.

  3. Injicera ett eller flera fel. Experimentet bör avsiktligt rikta sig till specifika komponenter som kan återställas snabbt och du bör ha en väl underbyggda förväntning om att effekten av experimentet kan hjälpa till att kontrollera experimentets blaster.

  4. Övervaka beteendet som uppstår. Samla in telemetri om de enskilda flödeskomponenterna och det sammanhängande flödesbeteendet som experimentet riktar in sig på för att på ett korrekt sätt förstå effekterna av felet. Jämför mätvärdena som du samlar in med baslinjemätvärdena för en fullständig bild av resultaten från felinjektion.

  5. Dokumentera processen och observationer. Att föra detaljerade register över dina experiment kommer att informera framtida beslut om arbetsbelastningens design vilket säkerställer att du åtgärdar de problem som har avslöjats över tiden.

  6. Identifiera och agera på resultatet. Planera för åtgärdssteg som kan läggas till i arbetsbelastningens eftersläpningar som förbättringar. Se till att förbättringsplaner för design granskas och testas i icke-produktionsmiljöer enligt samma processer som i andra distributioner.

Verifiera regelbundet din process, dina arkitekturval och kod för att snabbt upptäcka teknisk skuld, integrera ny teknik och anpassa dig till förändrade krav.

När du utför felinjektionsexperiment gör du:

  • Kontrollera att övervakning har skett och att aviseringar har ställts in.

  • Validera din process för att tilldela en direkt ansvarig individ (DRI) att ta äganderätten till en incident.

  • Se till att dokumentationen och processerna för processerna är aktuella.

Integrera följande rekommendationer och saker att tänka på för att optimera din kaosteststrategi:

  • Utmana systemantaganden. Med tester försöker du förbättra belastningen och din strategi för utformning av arbetsbelastningen. Leta efter möjligheter att injicera fel i komponenter och flöden som du antar är tillförlitliga baserat på tidigare erfarenheter. De kanske inte är tillförlitliga i den nya arbetsbelastningen.

  • Verifiera ändring. Utan grundlig testning, inklusive felinjektionstestning, kan du ha en ofullständig bild av din arbetsbelastning efter att ändringar har gjorts. Till exempel kan du introducera nya beroenden som inte är direkt uppenbara.

  • Använd SLA-buffertar. Begränsa kaostestning för att hålla dig inom dina SLA och undvika potentiella negativa effekter från avbrott. Dina flödes- och komponentåterställningsmål hjälper till att definiera omfattningen av din testning.

  • Upprätta en felbudget som en investering i kaos och felinjektion. Felbudgeten är skillnaden mellan att använda 100 % av SLO och att den SLO-avtal du kommit överens om.

  • Stoppa experimentet om det går längre än till omfattningen. Okända resultat är ett förväntat resultat av kaos. Sträva efter att uppnå balans mellan att samla in resultatinformation och att påverka så få produktionsanvändare som möjligt.

  • Arbeta tätt ihop med utvecklingsteam för att säkerställa att felen är relevanta. Använd tidigare incidenter eller problem som vägledning. Granska beroenden och utvärdera resultaten när du tar bort beroendena.

  • Identifiera och dokumentera tidigare oupptäckta beroenden mellan olika komponenter inom din arbetsbelastning som avslöjas genom kaostestning.

  • Justera återställningsplanerna efter behov för att ta hänsyn till beroenden som upptäcks under kaostestning.

  • Använd resultaten från dina experiment och tester som grund för nya experiment och tester. När oväntade beteenden uppstår kan nya tester rikta dessa beteenden direkt mot dem och ge dig möjlighet att utforma åtgärdsstrategier för dem.

Kompromisser: Tester för felinjektion i produktion kan vara störande och potentiellt orsaka driftstopp. Var transparent med intressenter om denna möjlighet och se till att du har säkerhetsåtgärder på plats för att avsluta experiment och återställningsplaner för att snabbt åtgärda de misslyckanden som du introducerar.

Underlätta Power Platform

Du kan använda statiska resultat i Power Automate för att returnera ett fast resultat för att testa arbetsbelastningen.

Power Apps Testmotor (förhandsversion) är en Power Platform CLI-komponent som du kan använda för att testa fristående arbetsyteappar i Power Apps.

Azure testplaner är en lättanvänd, webbläsarbaserad testhanteringslösning som ger alla funktioner som krävs för planerad manuell testning, testning av användaracceptans, utforskande testning och insamling av feedback från intressenter.

Om din arbetsbelastning inkluderar Azure-resurser kan du använda Azure Chaos Studio en hanterad tjänst som använder kaosteknik för att hjälpa dig mäta, förstå och förbättra din molnapp och tjänstemotståndskraft.

Om din arbetsbelastning innehåller en Microsoft Copilot Studio-agent kan du använda Power CAT Copilot Studio-paket för att konfigurera agenter och tester. Genom att köra enskilda tester mot Copilot Studio API:erna (Direct Line) utvärderas agentens svaren mot förväntade resultat.

Checklista för tillförlitlighet

Se den fullständiga uppsättningen med rekommendationer.