soak testing tutorial what is soak testing
Denna omfattande guide om blötprovning förklarar vad som är blötprovning. Varför behöver vi det, dess tillämpning, fördelar, bästa praxis och nackdelar:
Olika typer av tester måste utföras när man testar en programvara. Funktionell och icke-funktionell testning är de två breda kategorierna i vilka vi kan kategorisera testtyperna.
bästa mp3-nedladdaren för Android utan annonser
Funktionstestning, som namnet själv antyder, avser testning av applikationens funktionalitet. Icke-funktionell testning å andra sidan täcker alla andra testningar (användbarhet, prestanda etc.), förutom funktionstestning.
Vad du kommer att lära dig:
Soak Testing - En komplett guide
Denna handledning introducerar dig till begreppen Soak testing som är en typ av Performance testing.
Som vi ser i bilden ovan kan vi säga att blötläggningstestning är en typ av icke-funktionell testning.
Vad är blötprovning
Det är en typ av prestandatestning för att kontrollera om en Application Under Test (AUT) tål kontinuerlig belastning under en förutbestämd tidsram. Detta är en icke-funktionell typ av testning. Det kallas också som 'Uthållighetstestning' eller 'Test av livslängd' .
Om du går under sitt bokstavliga namn, har ordet 'blöt' i sig betydelsen av vad denna testning tänker göra. Således är det här testningen handlar om att utsätta en ansökan för en viss period för hög belastning.
Man kan undra, vad som kan vara skillnaden om en ansökan belastas i en timme eller kanske 20 timmar. Men ja, det har betydelse.
Detta kan förklaras bättre med ett verkligt scenario. Om ett rep dras från båda ändarna av två personer under en tid kan det bara motstå trycket, men om detsamma fortsätter i flera dagar kan repet bara bryta genom att ge efter för trycket från vardera änden.
(bild källa )
Så är fallet med programvaran. När vi utsätter en applikation för hög belastning (några hundra eller tusen användare) kan det bara fungera bra i en timme. Men när samma applikation utsätts för belastning i 20 timmar kan den kollapsa helt.
(bild källa )
Kontinuerlig tung trafik under lång tid kan orsaka olika problem i applikationen. Således uppstår behovet av blötprovning.
I denna testning är grundkonceptet att ladda applikationen med förväntade användare men under en längre tid. Detta hjälper till att identifiera de olika underliggande problemen som annars skulle upptäckas tills det faktiska scenariot inträffar i live-applikationen.
Behov av blötprovning
För att förstå behovet måste vi också vara medvetna om de eventuella problem som en applikation kan gå igenom om den stöter på tung belastning under lång tid.
Låt oss gå igenom de olika anledningarna som gör Blötprovning nödvändig.
# 1) Det krävs främst att identifiera problem som felaktig minneshantering, databasanslutningsproblem, försämrad svarstid för applikationer etc.
Var och en av dessa frågor har förklarats nedan:
- Felaktig minneshantering kan innebära problem som att ett minne allokeras för användning men aldrig släpps eller när resurser använder mer minne än vad som krävs. När sådana scenarier fortsätter under lång tid kan det leda till att systemet tar slut på minnet, vilket resulterar i att ett program slutar svara.
- Problem med databasanslutning - Fel som uppstod när en databasanslutning stängdes kan på sikt leda till att applikationen kraschar helt.
- Nedbrytande av svarstiden för applikationen - Ibland kan en applikation av någon anledning bli mindre effektiv och dess svarstid kan öka. Under en tid kan detta få applikationen att sluta svara.
För att undvika att sådana situationer uppstår, föredrar vi att Soak testa vår ansökan. Det hjälper till att identifiera sådana bakomliggande problem som annars skulle kunna upptäckas.
#två) Soak Test hjälper till att avgöra om vår ansökan är redo att ta upp lasten under en längre tid.
# 3) Det gör det möjligt för teamet att vidta korrigerande åtgärder baserat på hur systemet reagerar på Soak-testerna.
När ska man påbörja blötprovet?
(bild källa )
Idealiskt sett, som alla andra prestandatester, bör denna testning göras under produktutveckling tillsammans med funktionstestning. Detta görs dock sällan. Anledningen är uppenbar dvs att hantera projektkostnaden.
Fokus ligger alltså huvudsakligen på funktionstestning och alla former av prestandatestning ges i allmänhet baksätet och tas upp nära ansökningsdatumet.
I allmänhet tas blötläggningstester precis innan applikationen släpps till klienten. Men detta har en stor nackdel som är relaterad till problemet.
När något prestandaproblem hittas i ett senare skede kan det vara svårt att åtgärda det eftersom det kan innebära en större kodändring som kanske inte är möjlig med tanke på närvaron av applikationsleveransdatumet.
Det är därför alltid tillrådligt att denna testning utförs i god tid så att de identifierade problemen kan hanteras.
Blöt teststrategi
(bild källa )
Precis som en teststrategi förbereds för att testa en applikation, förbereds en strategi i förväg för att utföra blötläggningstestning, och detta är mycket nödvändigt.
implicit väntan och uttrycklig väntan i selen
Låt oss ta en titt på vad som ingår i förberedelserna för Soak Testing Strategy.
Innan Soak Test startas måste teamet bestämma vilken belastning applikationen behöver testas för blötläggning. Varaktigheten för vilken den måste testas måste också vara förutbestämd. Generellt tillhandahålls detta av utvecklingsteamet.
Testteamet bör bestämma de scenarier som de planerar för Soak Test. Detta skulle i sin tur bero på kundens åtagande och kravet på applikationen under test.
Eftersom blötestning huvudsakligen är inriktad på att identifiera problem med minne och resursläckage är det viktigt att känna till minnes- och databasförbrukningen i förväg mot de tillgängliga.
Miljöuppgifterna som operativsystemet, enheten etc. som Soak-testning skulle utföras på bör också bestämmas.
Sist men inte minst riskerna som är inblandade bör också beaktas. En backupplan bör alltid göras för sådana situationer. Till exempel, om databasen kraschar under testningen, vilka andra alternativ finns i stället och så vidare.
Scenarier för blötprovning
När en e-handelswebbplats meddelar en onlineförsäljning av sina produkter är det naturligt att webbplatsen laddas under försäljningsperioden som kan sträcka sig i 3-5 dagar. I en sådan situation bör webbplatsen blötläggas för att undvika oväntad krasch.
Under räkenskapsårets slut kan en bankwebbplats behöva stå inför en mycket hög belastning under en kontinuerlig period. I en sådan situation måste webbplatsen ha blivit testad för att undvika någon oväntad krasch av webbapplikationen.
När en applikation är utformad för att hantera en förutbestämd belastning under en kontinuerlig förutbestämd period, blir det nödvändigt att testa applikationen för en belastning minst 2 gånger dess kända lasthanteringsförmåga.
Till exempel, om en webbplats är känd för att hantera en 500 användarbelastning under en kontinuerlig period av 15 timmar, bör applikationen också blötläggas för 1000 användare i 15 timmar. Detta skulle hjälpa oss att veta om applikationen skulle svara onormalt när den tvingas dubbla sin lastkapacitet.
Bästa praxis
(bild källa )
- Soak Testing ska alltid göras genom att känna till applikationsgränsen för tomgång, både vad gäller användarna och varaktigheten. Detta krävs för att vara känt eftersom målet är att ladda applikationen med förväntade användare men under en lång varaktighet.
- Det är tillrådligt att köra blötprover på natten eller om testning av ännu längre tid ska göras, är det lämpligt att göra det under helgerna. Anledningen är uppenbar, dvs under arbetstid kopplas resurser samman medan testserverna på natten eller utanför arbetstiden kan vara tillgängliga för att användas under långa perioder. Således är icke-arbetstid den perfekta tiden för sådana tester.
- Risker som är associerade när Soak-testning av en applikation bör alltid analyseras och en plan för minskning bör vara redo för samma eventuella händelser.
Blötlägga testbegränsningar
(bild källa )
- Den långa tid som krävs för att testa en applikation är en stor begränsning på grund av tidens otillgänglighet. Således kan blötprovning ibland undvikas på grund av brist på tid.
- Testmiljön måste väljas noggrant så att alla andra typer av tester som utförs på applikationen inte påverkas. Detta kan hända, eftersom testning av applikationen för tung belastning under lång tid kan leda till problem.
- Tiden för blötläggningstestning måste bestämmas noggrant och bör huvudsakligen vara utanför arbetstid (som en helg eller natt efter stängning av arbetet).
- I allmänhet krävs automatiseringsverktyg för blötläggningstest, eftersom testerna måste köras under lång tid med ett stort antal användare.
Nackdelar med blötprovning
- Projektets tidslinjer kan påverkas på grund av blötprovning eftersom den tid som krävs för densamma i allmänhet är hög.
- Resurser blir bundna under testets varaktighet eftersom det finns ett högt minneutnyttjande på grund av att ett stort antal användare har tillgång till applikationen.
Slutsats
Genom denna handledning lärde vi oss vad Soak-testning är och vad som gör det nödvändigt att utföra denna testning.
Nu med denna förståelse för vad Soak Testing är och vilken typ av frågor det hjälper till att identifiera, kan vi mycket väl förstå behovet av att utföra detsamma. Speciellt i tider när hela världen alltid är ansluten blir denna testning ett måste.
Vi såg när vi skulle börja blötlägga test tillsammans med det tillvägagångssätt som bör följas. Scenarier, bästa praxis och begränsningarna i samband med det diskuterades också här.
Vi hoppas att den här guiden hjälpte dig att förstå vad som är Soak-test och måste ha förbättrat din kunskap om samma.
Rekommenderad läsning
- Lasttestning med HP LoadRunner-handledning
- Handledning för destruktiv testning och icke-destruktiv testning
- Testing Primer eBook Download
- Korrelation - Load Testing med LoadRunner
- Funktionell testning mot icke-funktionell testning
- Skillnad mellan Desktop, Client Server Testing och Web Testing
- Lasttestning med hjälp av LoadUI - Ett gratis testverktyg för öppen källkod
- SOA Testing Tutorial: Testing Methodology For a SOA Architecture Model