Vad är uthållighetstestning i mjukvarutestning? (med exempel)
Uthållighetstestning
Uthållighetstestning är en icke-funktionell typ av mjukvarutestning där en mjukvara testas med hög belastning som sträcker sig över en betydande tidsperiod för att utvärdera mjukvaruapplikationens beteende under långvarig användning. Huvudsyftet med uthållighetstestning är att säkerställa att applikationen är tillräckligt kapabel att hantera långvarig belastning utan försämring av svarstiden.
Denna typ av testning utförs i det sista skedet av prestandakörningscykeln. Uthållighetstestning är en lång process och varar ibland i upp till ett år. Detta kan inkludera applicering av externa belastningar som internettrafik eller användaråtgärder. Detta gör att uthållighetstestning skiljer sig från Lasttestning, som vanligtvis slutar om ett par timmar eller så.
Uthållighet betyder kapacitet, så med andra ord kan du kalla uthållighetstestning som Kapacitetstestning.
Mål för uthållighetstestning
- Det primära målet med uthållighetstestning är att kontrollera minnesläckor.
- För att upptäcka hur systemet fungerar under långvarig användning.
- För att säkerställa att efter en lång period kommer systemets svarstid att förbli densamma eller bättre än vid starten av testet.
- För att bestämma antalet användare och/eller transaktioner kommer ett givet system att stödja och uppfylla prestationsmål.
- För att hantera framtida belastningar måste vi förstå hur många ytterligare resurser (som processorkapacitet, diskkapacitet, minnesanvändning eller nätverksbandbredd) som behövs för att stödja användning i framtiden.
- Uthållighetstestning görs vanligtvis genom att antingen överbelasta systemet eller genom att minska vissa systemresurser och utvärdera konsekvenserna.
- Den utförs för att säkerställa att defekter eller minnesläckor inte uppstår efter vad som anses vara en relativt "normal" användningsperiod.
Vad man ska övervaka i uthållighetstestning
I uthållighetstestning testas följande saker.- Testa minnesläckage– Kontroller görs för att verifiera om det finns något minnesläckage i applikationen, vilket kan orsaka att systemet eller OS kraschar
- Testa anslutningsstängning mellan systemets lager – Om anslutningen mellan skikten i systemet inte sluts framgångsrikt, kan det stanna några eller alla moduler i systemet.
- Testa databasanslutningen avslutas– Om databasanslutningen inte stängs, kan det leda till systemkrasch
- Testa svarstid – Systemet testas för systemets svarstid eftersom applikationen blir mindre effektiv till följd av den långvariga användningen av systemet.
Hur man utför uthållighetstestning
Nedan är den grundläggande testmetoden för Endurance Test- Testmiljö – Identifiera hårdvaran, mjukvaran, operativsystemet som krävs för uthållighetstestning, tilldelning av roller och ansvar inom teamet, etc. Miljön bör vara redo innan testkörningen. Du måste också uppskatta den vanliga databasens produktionsstorlek och årlig tillväxt. Detta krävs som sådan måste du testa hur din ansökan kommer att svara efter ett år, två eller fem.
- Skapa testplanen, scenarier – Baserat på testets karaktär – manuell eller automatisering eller kombination av båda, Testfall design, granskningar och utförande bör planeras. Testning för att stressa systemet, brytpunktstestning etc. bör också ingå i testplanen. Testning för att stressa systemet bestämmer brytpunkten i applikationen.
- Testuppskattning – Ge en uppskattning av hur lång tid det kommer att ta att slutföra testfasen. Den bör analyseras på grundval av ett antal inblandade testare och antalet testcykler som krävs.
- Riskanalys - Analysera risken och vidta lämpliga åtgärder för att förebygga. Prioritering av testfall enligt riskfaktorn och identifiera nedanstående risk- och problemtestare kan fasa under uthållighetstestet.
- Kommer prestandan att förbli konsekvent över tiden?
- Finns det andra mindre problem som ännu inte har upptäckts?
- Finns det externa störningar som inte åtgärdades?
- Testschema – Bestäm budgeten, leveranser inom tidsramarna. Som Uthållighetstestning tillämpar ett enormt men naturligt belastningsarrangemang av transaktioner på systemet/applikationen under en kontinuerlig tidsperiod.
Exempel på uthållighetstest
Medan Stresstestning tar det testade systemet till sina gränser, Uthållighetstestning tar applikationen till sin gräns över tid. Till exempel inträffar de mest komplexa problemen – minnesläckor, databasserveranvändning och system som inte svarar – när programvara körs under en längre tid. Om du hoppar över uthållighetstesterna är dina chanser att upptäcka sådana defekter ganska låga före utplaceringen.Uthållighetstestverktyg
- WebLOAD
- Ladda färdig
- Apache JMeter
- LoadRunner
- Appvance
- Ladda UI
- OpenSTA
- Rational Performance Tester
Fördelar med uthållighetstestning
- Det hjälper till att avgöra hur arbetsbelastningen kan hantera systemet under belastning.
- Tillhandahåller korrekt data som kunden kan använda för att validera eller förbättra sina infrastrukturbehov.
- Identifierar prestandaproblem som kan uppstå efter att ett system har körts på hög nivå under en längre tid
- Typiska problem identifieras i mindre riktade prestandatester, vilket innebär att det säkerställer att applikationen förblir tillgänglig även när det är stor belastning på mycket kort tid.
- Uthållighetstestet används också för att kontrollera om det finns någon prestationsförsämring efter en lång tids utförande
Nackdelar med uthållighetstestning
- Det är ofta svårt att definiera hur mycket stress som är värt att applicera.
- Uthållighetstestning kan orsaka program- och/eller nätverksfel som kan resultera i betydande störningar om Testmiljö är inte isolerade.
- Permanent dataförlust eller korruption kan uppstå genom att systemet överbelastas.
- Resursutnyttjandet förblir mycket högt efter att stressen tagits bort.
- Vissa programkomponenter svarar inte.
- Ohanterade undantag observeras av slutanvändaren.
Sammanfattning
- In Mjukvaruutveckling, Uthållighetstestning är en delmängd av belastningstestning.
- Uthållighetstestning är en lång process och pågår ibland i upp till ett år
- Kontroller görs för att verifiera
- Testa minnesläckage
- Testa svarstid
- Testa databasanslutning osv.