what is scalability testing
Introduktion till skalbarhetstest:
Skalbarhetstestning är en icke-funktionell testmetod där en applikations prestanda mäts i termer av dess förmåga att skala upp eller minska antalet användarförfrågningar eller andra sådana prestandamåttattribut.
Skalbarhetsprovning kan utföras på hårdvaru-, programvaru- eller databasnivå.
Parametrar som används för denna testning skiljer sig från en applikation till en annan, för en webbsida kan det vara antalet användare, CPU-användning, nätverksanvändning, medan det för en webbserver skulle vara antalet begäranden som behandlats.
Denna handledning ger dig en fullständig översikt över Skalbarhetstestning tillsammans med dess attribut och de olika stegen som är involverade i utförandet av testet med praktiska exempel så att du kan förstå konceptet på ett bättre sätt.
Vad du kommer att lära dig:
- Skalbarhetstestning mot belastningstestning
- Attribut för testning av skalbarhet
- Steg för att testa en applikations skalbarhet
- Slutsats
- Rekommenderad läsning
Skalbarhetstestning mot belastningstestning
Load Testing mäter applikationen som testas under maximal belastning vid vilken systemet skulle krascha. Huvudsyftet med lasttestning är att identifiera toppunkten varefter användarna inte skulle kunna använda systemet.
Både belastning och skalbarhet omfattas av prestandatestmetodik.
Skalbarhet skiljer sig från Load Testing i det faktum att skalbarhetstest mäter systemet vid lägsta och högsta belastning på alla nivåer, inklusive programvaru-, hårdvaru- och databasnivåer. När den maximala belastningen har upptäckts måste utvecklare svara på lämpligt sätt för att säkerställa att systemet är skalbart efter en viss belastning.
Exempel: Om skalbarhetstest bestämmer den maximala belastningen till 10 000 användare måste utvecklare vidta åtgärder för faktorer som att minska svarstiden efter att 10 000 användargränser har uppnåtts eller öka RAM-storleken för att tillgodose de växande användardata för att systemet ska vara skalbart.
Lasttestning innebär att man placerar maximal belastning på de utvecklade applikationerna samtidigt, medan testning av skalbarhet innebär att man gradvis ökar belastningen över en tidsperiod.
Lasttestning avgör vid vilken tidpunkt applikationen kraschar, medan skalbarhet försöker identifiera orsaken till programkrasch och vidta åtgärder för att lösa problemet.
Kort sagt, Load Testing hjälper till att identifiera prestandaproblemen medan skalbarhetstestning hjälper till att identifiera om systemet kan skala upp till det växande antalet användare.
hur man kör jar-fil i Windows 10
Attribut för testning av skalbarhet
Attribut för skalbarhetstest definierar de prestandamått baserade på vilka denna testning kommer att utföras.
Följande är några av de vanliga attributen:
1) Svarstid:
- Svarstid är tiden mellan användarförfrågan och applikationssvaret. Denna testning görs för att identifiera svarstiden för servern under minsta belastning, tröskelbelastning och maximal belastning för att identifiera den punkt vid vilken applikationen skulle brytas.
- Svarstiden kan öka eller minska beroende på varierande användarbelastning på applikationen. Helst skulle svarstiden för en applikation minska då användarbelastningen fortsätter att öka.
- En applikation kan anses vara skalbar om den kan leverera samma svarstid för olika nivåer av användarbelastning.
- I fall av klustrade miljöer där applikationsbelastningen fördelas mellan flera serverkomponenter, måste testning av skalbarhet mäta i vilken utsträckning belastningsutjämnaren fördelar belastningen mellan flera servrar. Detta kommer att säkerställa att den ena servern inte överbelastas med förfrågningar medan den andra servern sitter inaktiv och väntar på att en begäran ska komma in.
- Svarstiden för varje serverkomponent måste mätas noggrant om applikationen är värd i en grupperad miljö och skalbarhetstest måste se till att responstiden för varje serverkomponent måste vara densamma oavsett hur mycket belastning som läggs på varje server.
- Exempel: Svarstiden kan mätas som den tid då användaren anger URL: en i en webbläsare till den tid fram till vilken webbsidan tar att ladda innehållet. Ju kortare svarstiden är, desto högre blir applikationsprestandan.
2) Genomströmning:
- Genomströmning är måttet på ett antal förfrågningar som behandlas över en enhetstid av applikationen.
- Resultatet av genomströmningen kan skilja sig från en applikation till en annan. Om det är en webbapplikationsflöde mäts i termer av antalet användarförfrågningar som behandlas per tidsenhet och om det är en databas. genomströmningen mäts i termer av ett antal frågor som behandlas under enhetstiden.
- En applikation anses vara skalbar om den kan leverera samma genomströmning för olika belastningsnivåer för de interna applikationerna, hårdvaran och databasen.
3) CPU-användning:
- CPU-användning är ett mått på CPU-användningen för att utföra en uppgift av en applikation. CPU-användning mäts vanligtvis i termer av enheten MegaHertz.
- Idealt är att ju mer optimerad applikationskoden är, desto mindre kommer CPU-utnyttjandet att observeras.
- För att uppnå detta använder många organisationer standardprogrammeringsmetoder för att minimera CPU-användning.
- Exempel: Ta bort dödkod i applikationen och minimera användningen av tråd. Sömnmetoder är en av de bästa programmeringsmetoderna för att minimera CPU-användning.
4) Minnesanvändning:
- Minnesanvändning är ett mått på minnet som förbrukas för att utföra en uppgift av en applikation.
- Idealt mäts minne i termer av byte (MegaBytes, GigaBytes eller Tera Bytes) som den utvecklade applikationen använder för att komma åt RAM (Random Access Memory).
- Minnesanvändning av en applikation kan minimeras genom att följa de bästa programmeringsmetoderna.
- Exempel på bästa programmeringsmetoder är att inte använda överflödiga slingor, minska träffar i databasen, användning av cache, optimera användningen av SQL-frågor etc. Ett program anses vara skalbart om det minimerar användningen av minnet till maximalt möjligt.
- Exempel: Om det lagringsutrymme som är tillgängligt för ett visst antal användare tar slut på minne, tvingas utvecklaren att lägga till ytterligare databaslagring för att kompensera för dataförlusten.
5) Nätverksanvändning:
- Nätverksanvändning är den mängd bandbredd som konsumeras av en applikation som testas.
- Målet med nätverksanvändningen är att minska trängseln i nätverket. Nätverksanvändningen mäts i termer av mottagna byte per sekund, mottagna ramar per sekund, mottagna och skickade segment per sekund etc.
- Programmeringstekniker som användning av komprimeringstekniker kan hjälpa till att minska trängseln och minimera nätverksanvändningen. En applikation anses vara skalbar om den kan fungera med minimalt nätverksbelastning och leverera hög applikationsprestanda.
- Exempel: Istället för att följa en kömekanism för bearbetning av användarförfrågningarna kan en utvecklare skriva koden för att behandla användarförfrågningarna när och när förfrågan kommer till en databas.
Bortsett från dessa parametrar finns det få andra mindre använda parametrar som svarstid för serverbegäran, exekveringstid för uppgift, transaktionstid, laddningstid för webbsida, tid att hämta svaret från databasen, omstartstid, utskriftstid, sessionstid, skärmövergång , transaktioner per sekund, träffar per sekund, förfrågningar per sekund etc.
Attributen för skalbarhetstest kan skilja sig från en applikation till en annan eftersom prestandamåttet för webbapplikationer kanske inte är detsamma som för ett skrivbord eller en klientserverapplikation.
Steg för att testa en applikations skalbarhet
Den största fördelen med att utföra denna testning på en applikation är att förstå användarnas beteende när maximal belastning uppnås och sätten att lösa det.
Denna testning gör det också möjligt för testarna att identifiera försämring och svarstid på serversidan med avseende på applikationsanvändarens belastning. Som ett resultat föredras denna testning på flera organisationer världen över.
Nedan följer en lista över steg för att testa skalbarheten för en applikation:
- Skapa repeterbara testscenarier för vart och ett av attributen för skalbarhetstestning.
- Testa applikationen för varierande belastningsnivåer som låg, medel och hög belastning och verifiera applikationsbeteendet.
- Skapa en testmiljö som är tillräckligt stabil för att klara hela testcykeln för skalbarhet.
- Konfigurera den hårdvara som krävs för att utföra denna testning.
- Definiera en uppsättning virtuella användare för att verifiera en applikations beteende under varierande användarbelastning.
- Upprepa testscenarierna för flera användare under olika förhållanden för interna applikationer, hårdvara och databasändringar.
- I fall av en klustrad miljö, validera om belastningsutjämnaren riktar användarförfrågningarna till flera servrar för att säkerställa att ingen server överbelastas av en serie förfrågningar.
- Utför testscenarierna i testmiljön.
- Analysera de genererade rapporterna och kontrollera eventuella förbättringsområden.
Slutsats
I ett nötskal,
=> Testning av skalbarhet är en icke-funktionell testmetod för att verifiera om en applikation kan skala upp eller skala ner till de olika attributen. Attribut som används för denna testning varierar från applikation till applikation.
hur man visar en .dat-fil
=> Huvudsyftet med denna testning är att avgöra när en applikation börjar brytas ned vid maximal belastning och vidta lämpliga åtgärder för att säkerställa att den utvecklade applikationen är tillräckligt skalbar för att tillgodose förändringarna i de interna applikationerna, programvaran, hårdvaran och även databasen förändringar i framtiden.
=> Om denna testning utförs ordentligt kan stora fel med avseende på prestanda i programvaran, hårdvaran och databasen avslöjas i de utvecklade applikationerna.
=> En stor nackdel med denna testning är dess begränsning av datalagring, med begränsningar för databasstorlek och buffertutrymme. Nätverkets bandbreddsbegränsningar kan också vara ett hinder för testning av skalbarhet.
=> Processen med skalbarhetstest skiljer sig från en organisation till en annan organisation eftersom skalbarhetstestattribut för en applikation skiljer sig från de andra applikationerna.
Rekommenderad läsning
- Lasttestning med HP LoadRunner-handledning
- Prestandatestning mot belastningstestning vs stresstestning (skillnad)
- Skillnad mellan Desktop, Client Server Testing och Web Testing
- Webbelastningstest, stress och prestandatestning med WAPT
- Bästa verktyg för testning av programvara 2021 (QA Test Automation Tools)
- Testguide för webbapplikationssäkerhet
- Applikationstestning - till grunderna för programvarutestning!
- Installera din applikation på enheten och börja testa från Eclipse