stability testing software testing
Stabilitetstestning är en del av Prestandatestning. Denna handledning förklarar målen, betydelsen och behovet av stabilitetstestning med exempel:
Stabilitetstestning är 'icke-funktionell' testning. Här testar inte teamets funktioner och grundläggande funktionalitet; men testar funktionerna i programvaruprodukten som 'robusthet', 'felhantering', 'tillförlitlighet' och produktstabilitet.
Låt oss överväga en person som köper en ny produkt från marknaden ( Till exempel, en mobiltelefon). Köparen förväntar sig att produkten ska fungera jämnt under lång tid, utan några fel. På liknande sätt kommer användare av webbplatsen och mobilappen att förvänta sig att motsvarande webbplats eller mobilappar ska prestera med hög tillförlitlighet och stabilitet.
Ta nu fallet med användare som försöker köpa varor från e-handelsportaler. Om ett stort antal användare använder samma portal samtidigt är chansen för prestandaförsämring för webbplatsen stor. Användarna kan också uppleva en långsam svarstid eller till och med minnesläckage under sessionen.
Dessa frågor ger upphov till hot mot både utvecklare och intressenter. Det är testteamets ansvar att hitta dessa problem och rapportera till utvecklingsteamet innan det når slutanvändarna. Denna typ av testning kommer att testas. Stabilitetstestning är en del av prestandatestning.
Vad du kommer att lära dig:
Översikt över stabilitetstest
Som nämnts tidigare definieras stabilitetstest också som ”icke-funktionell” testning. Här kontrollerar testteamen robusthet, felhantering, tillförlitlighet och produktstabilitet.
Denna testning kallas också 'Uthållighetsprovning' eller 'Blötprovning'. Det är också känt som ”Extreme Load Testing”.
I denna typ av testning kommer testare att kontrollera hur onlineportalen svarar när många aktiva användare använder webbplatsen samtidigt. Testare måste också kontrollera systemsvaret i en sådan miljö.
Vid många tillfällen måste webbplatser köras kontinuerligt i flera veckor (till och med månader) utan möjlighet att starta om servern. Aktiva användare för sådana webbplatser (användare som använder webbplatsen för närvarande) kan vara enorma och varje användare förväntar sig en sömlös prestanda.
Testarnas roll är att ge utvecklarna förtroende och säkerställa slutanvändarna att de kan använda ett system som indragen, utan fel eller minnesläckage även i hög trafik. För detta ändamål utsätts applikationen för maximal belastning (tills applikationens brytpunkt) och systemets beteende kontrolleras under sådana förhållanden.
Denna testning görs vanligtvis innan programvaran släpps. Testare måste se till att applikationen kan hantera den förväntade belastningen på webbplatsen. Ibland kan systemet krascha på grund av tung belastning eller kan bli långsamt eller till och med visa oväntat beteende.
Mjukvarustabilitet beror mycket på systemets sömlösa prestanda under ovannämnda stressiga förhållanden. Så stabilitetstest spelar en mycket viktig roll.
Mål för stabilitetstestning
Målen listas nedan:
- För att hitta systemets hållbarhet.
- Hitta applikationens stabilitet och öka därmed utvecklarens förtroende.
- Hitta defekten i systemet i en stressig miljö.
- Övergripande utvärdering och effektivitet av produkten.
- För att säkerställa att systemet kan hantera ett stort program.
- För att testa svarstiden för en ansökan.
- För att kontrollera databasanslutningen.
Fakta om stabilitetstestning
Några användbara fakta listas nedan:
- Stabilitetstest kräver en lämplig testmiljö.
- För att få bättre resultat behöver stabilitetstest en välplanerad och strukturerad strategi.
- Det är en tidskrävande process. Tiden det tar för testprocessen kan variera beroende på kundens krav, typ av produkt och företagspolicy.
- Isolering av systemet är viktigt i denna form av testning. Medan du gör stabilitetstestning av applikationen finns det chanser att data permanent går vilse eller skadas.
- Uthållighetstestning kan orsaka fel på applikationskomponenter, så slutanvändare kan följa undantagna undantag.
Skillnaden mellan stabilitet och tillförlitlighet i programvarusystemet
Det finns en väsentlig skillnad mellan tillförlitlighet och stabilitet i en programvara. Detta kan förklaras med hjälp av ett exempel.
Exempel:
Tänk på att en användare installerade en ny app på sin mobiltelefon och startade den. Om den installerade applikationen kraschar efter var tredje minuts användning kommer det verkligen att irritera användaren. Men om användaren kunde återställa data utan förlust efter att appen har startats om förlorar inte appen sin tillförlitlighet. En sådan ansökan kan betraktas som tillförlitlig men kan inte betraktas som stabil.
hur man förklarar lista i java
Å andra sidan, ta scenariot där applikationsdata inte sparas ordentligt. Här fungerar applikationen bra och kraschar inte (som var tredje minut). En sådan ansökan kan vara eller kan inte betraktas som tillförlitlig men kan betraktas som ”stabil”.
Pålitlighet och stabilitet är som två sidor av samma mynt. Så kom bara ihåg det faktum att både tillförlitlighet och stabilitet är viktigt för en produkt ur ett affärsperspektiv.
Exempel på stabilitetstest:
Det är ett vanligt tillvägagångssätt att när en användare köper en ny mobiltelefon, utför han / hon medvetet eller omedvetet ett stabilitetstest. Användaren kommer att spara många bilder, foton, videor, dokument osv i enhetens minne och de kommer att kontrollera om för många lagrade data har påverkat enhetens prestanda eller inte. Detta är ett särskilt exempel på stabilitetstestning.
På grund av enorma lagrade data kan vår enhet lägga på ibland, då måste användaren ta bort vissa data eller rensa temp-filer för att få enheten att återställa prestanda. Efter denna testning får användaren en klar uppfattning om systemets kapacitet.
Ett annat exempel i realtid är köpportaler online. Under en 'försäljnings- / festival' -säsong köper många varor från dessa typer av webbportaler. Webbplatsens prestanda måste uppfylla användarnas förväntningar.
Så testarna måste testa webbplatsen genom att komma ihåg den förväntade ”rusningen” som sannolikt kommer att hända på dessa platser under dessa dagar.
Stabilitetstestning av en internetanslutning
Här kommer testfallet att verifiera hur stabil vår internetanslutning är. Medan man upprättar en anslutning via internet och begär webbsidor, på grund av paketförlust, måste användare drabbas av inkonsekvent latens när de visar webbsidor.
Ibland uppstår paketförlust när det inte når destinationen. Det beror på paketförlust att många av oss kan ha stött på liknande problem när vi använder Skype-videosamtal, spelar spel över internet eller slumpmässigt kopplas bort från internet.
Förutsättningar för att testa internetanslutning:
- För att testa internetstabiliteten måste vi ha en webbläsare där brandväggen är inaktiverad.
- Välj en webbadress ( Till exempel, https://www.google.com/ ) som sannolikt inte kommer att misslyckas.
- Använd Google Kalkylark eller Microsoft Excel för att spela in resultatet, eftersom det är lätt att förstå och mer läsbart för användarna.
- Dubbelkolla internetanslutning, enheter och kontrollera anslutningarna igen. Vi kommer sedan att utföra de nedan nämnda testerna.
Metoder som används för att testa internetanslutning:
Det bästa sättet att testa anslutning är att besöka Hastighets test . (innan du läser mer, besök webbplatsen). I SpeedTest.net har vi möjlighet att välja servrar. Välj och kör servern som är nära dig.
Därefter kommer webbplatsen att göra några beräkningar baserade på några fördefinierade algoritmer och visa rapporten som avgör kvaliteten på vår internetanslutning omedelbart. I rapporten ingår paketförlustprocenten. Det ska vara ”0%”.
”0%” paketförlust bestämmer anslutningens höga stabilitet. Alla siffror som är större än '0' visar att anslutningen är instabil.
Det andra sättet är att använda 'cmd' -prompten och skriv in kommandot 'ping' (se nedanstående bild). Här, med hjälp av kommandotolken, kan vi också testa internetens stabilitet och latens i realtid.
I figuren, se avsnittet ”Pingstatistik”.
Här,
Antal sända paket = 4
Antal mottagna paket = 4
Antal förlorade paket = 0
Resultatet visar att anslutningen är mycket stabil.
Process som används:
Steg 1: Testare väljer någon av de två metoderna som förklaras ovan.
Steg 2: Testare kommer att köra processen och registrera den nödvändiga informationen som erhålls som svar på internetanslutning i ett kalkylark.
Steg 3: De kommer att upprepa processen tre eller fyra gånger i veckan.
(Eftersom stabilitetstestning utförs under en tidsperiod måste testare schemalägga processen minst två gånger i veckan.)
Steg 4: Resultaten registreras i kalkylblad.
Testare måste notera datumet för körning av processen. Jämför resultatet från varje datum för att få en uppfattning om stabiliteten i vårt nuvarande nätverk.
Notera: Brytpunkt är det tillstånd där systemet kommer att kollapsa när ytterligare belastning ges till det. Det definierar systemets kapacitet.
Specifikationsdokumentet är ett dokument som lagledaren ger testarna och kommer att innehålla detaljer om den förväntade belastningen i systemet. Vid stabilitetstest kommer testarna att kontrollera systemets brytpunkt baserat på de riktlinjer som ges i specifikationsdokumentet.
Testteamet kontrollerar systemet genom att testa applikationen med belastningen över / under brytpunkten som anges i specifikationsdokumentet. Detta skiljer sig från fallet med belastningstest.
youtube till mp3 mer än 20 min
Vid stabilitetstestning använder vi endast den förväntade belastningen för testning, men vid belastningstestning ges en oväntad belastning till applikationen och testare kontrollerar applikationens kapacitet.
Programvarutestning Livscykel baserat på stabilitetstestning
De olika faserna i Programvarutestning Livscykel är värvade nedan:
- Kravsanalys
- Testplan
- Utveckling av testfall
- Testa miljöinställningar
- Testfall utförande
- Teststängning
Låt oss förstå alla ovanstående faser i detalj.
# 1) Kravsanalys
I denna fas kommer testteamet att bestämma de olika typerna av test som ska utföras i applikationen. Det beror helt och hållet på kundernas krav och typ av applikation. Till exempel, testarna testar en bankapplikation då det mest prioriterade testet, i det här fallet, är säkerhetstestning. Om testarna testar en fastighetsapplikation kommer de att prioritera funktionstestning.
vem är den bästa e-postleverantören
# 2) Testplanering
I denna fas diskuteras testomfång. Testare kommer att diskutera behovet av automatisering. För stabilitetstest är testprocesserna tråkiga och måste upprepas många gånger under en viss varaktighet, automatisering är ett bra val. 'LoadStrom' är ett bra verktyg för att utföra stabilitetstester med hjälp av automatisering.
I denna fas kommer vi att diskutera budgeten och tidsgränsen för testning med klienten. Eftersom testningen är tidskrävande bör budgeten och tidsgränsen uppfylla testplanen.
# 3) Testfallutveckling
Testfall för testning av applikationen skapas i denna fas.
# 4) Testmiljö
Testmiljön är en viktig faktor för att testa stabilitet. Vi behöver en riktig testmiljö som är en kopia av vår produktionsmiljö. Den ursprungliga miljön bör vara oanvänd eftersom webbplatsen ibland kan krascha eller till och med förlust av data under testet.
# 5) Testkörning
I denna fas utförs testfall och testresultaten verifieras. Detta är en tidskrävande fas. De allmänna problem som testare står inför i denna fas är minnesläckage, problem med datakoppling, långsam svarstid etc.
# 6) Teststängning
I denna fas kommer alla teammedlemmar att mötas och diskutera de utgångskriterier som används i projektet. Utgångskriterier beror på faktorer som antalet defekter som hittats och den tid som används vid testningen.
Verktyg som används vid stabilitetstestning
Följande verktyg används:
- LoadRunner
- OpenSTA
- LoadUI
- WebLOAD
- LoadComplete
- Förmåga
- LoadUI
- Rational Performance Tester
Hur använder jag Apache JMeter för uthållighetstestning?
Apache JMeter är ett bra verktyg för uthållighetstestning. Innan testningen påbörjas måste testarna ha god kunskap om affärsmålen. Därefter skapar testare testskript. Sedan konfigurerar vi trådgruppsinställningarna i JMeter.
När vi gör uthållighetstestning med JMeter måste vi ange följande faktorer:
- Antalet trådar: Detta anger det förväntade antalet användare på webbplatsen.
- Uppstartsperiod: Detta indikerar den tid det tar för varje tråd att slutföra. Om vi har 5 trådar är uppstartsperioden 50 sekunder.
- Loop-count: Detta indikerar hur många gånger processen upprepas. För uthållighetstestning är den inställd på evigt.
- Schemaläggare: I denna testning använder vi schemaläggningsfunktionalitet. Vi måste ange schemaläggarkonfigurationen enligt kravet.
Slutsats
Många applikationer är felaktigt utformade och frigör inte enhetsminnet efter användning. Detta kommer gradvis att leda till minnesförlust. Vi kan lösa problemet med stabilitetstest. Så stabilitetstestning är mycket viktigt. Det är icke-funktionell testning. Det handlar bara om applikationens egenskaper. Här handlar testning inte om systemets beteende.
Hoppas att du förstod vikten och behovet av stabilitetstestning.
Rekommenderad läsning
- Programvarutestning QA-assistentjobb
- Programvarutestningskurs: Vilket programvarutestinstitut ska jag gå med?
- Programvarutestning Tekniskt innehåll Writer Freelancer Jobb
- Välja programvarutestning som din karriär
- Råd om programvarutestning för nybörjartestare
- Programtestkursfeedback och recensioner
- Hur håller jag motivationen levande i programvarutestare?
- Vad är Monkey Testing i Software Testing?