what is scalability testing
Introduktion til skalerbarhedstest:
Test af skalerbarhed er en ikke-funktionel testmetode, hvor en applikations ydeevne måles i form af dens evne til at skalere op eller ned med antallet af brugeranmodninger eller andre sådanne egenskaber til ydeevnemålingen.
Test af skalerbarhed kan udføres på hardware-, software- eller databaseniveau.
Parametre, der bruges til denne test, adskiller sig fra en applikation til en anden, for en webside kan det være antallet af brugere, CPU-brug, netværksforbrug, mens det for en webserver ville være antallet af behandlede anmodninger.
Denne tutorial giver dig et komplet overblik over Skalerbarhedstest sammen med dets attributter og de forskellige trin, der er involveret i udførelsen af testen med praktiske eksempler, så du kan forstå konceptet på en bedre måde.
Hvad du lærer:
hvilket af følgende giver et fjernprogram, der ser ud og føles som en lokal applikation?
- Skalerbarhedstestning mod belastningstestning
- Attributter til testning af skalerbarhed
- Trin til at teste skalerbarheden af en applikation
- Konklusion
- Anbefalet læsning
Skalerbarhedstestning mod belastningstestning
Load Test måler applikationen under test under maksimal belastning, hvormed systemet skulle gå ned. Hovedformålet med belastningstestning er at identificere spidspunktet, hvorefter brugerne ikke kan bruge systemet.
Både belastning og skalerbarhed er omfattet af Performance Testing-metoden.
Skalerbarhed adskiller sig fra belastningstest i det faktum, at skalerbarhedstest måler systemet ved minimums- og maksimumbelastning på alle niveauer, inklusive software-, hardware- og databaseniveauer. Når den maksimale belastning er fundet, skal udviklere reagere passende for at sikre, at systemet er skalerbart efter en bestemt belastning.
Eksempel: Hvis skalerbarhedstest bestemmer den maksimale belastning til at være 10.000 brugere, skal udviklerne for at systemet skalereres træffe foranstaltninger på faktorer som faldende responstid efter 10.000 brugergrænse er nået eller øge RAM-størrelsen for at imødekomme de voksende brugerdata.
Load Test involverer at placere en maksimal belastning på de udviklede applikationer på én gang, mens skalerbarhedstest involverer gradvist at øge belastningen over en periode.
Belastningstest bestemmer det tidspunkt, hvor applikationen går ned, mens skalerbarhed forsøger at identificere årsagen til applikationsnedbrud og tager skridt til at løse problemet.
Kort sagt hjælper Load Testing med at identificere ydeevneproblemerne, mens skalerbarhedstest hjælper med at identificere, om systemet kan skalere op til det voksende antal brugere.
Attributter til testning af skalerbarhed
Attributter til skalerbarhedstest definerer de præstationsmål, som denne test skal udføres på.
c # objektorienterede programmeringskoncepter
Følgende er nogle af de almindelige attributter:
1) Svartid:
- Svartid er tiden mellem brugeranmodningen og applikationssvaret. Denne test udføres for at identificere serverens responstid under minimumbelastning, tærskelbelastning og maksimal belastning for at identificere det punkt, hvor applikationen ville gå i stykker.
- Svartid kan øges eller formindskes baseret på varierende brugerbelastning på applikationen. Ideelt set ville en applikations svartid falde, da brugerbelastningen fortsætter med at stige.
- En applikation kan betragtes som skalerbar, hvis den kan levere den samme responstid for forskellige niveauer af brugerbelastning.
- I tilfælde af klyngede miljøer, hvor applikationsbelastningen fordeles på flere serverkomponenter, skal skalerbarhedstest måle, i hvilket omfang belastningsbalanceren fordeler belastningen på flere servere. Dette vil sikre, at den ene server ikke overbelastes med anmodninger, mens den anden server sidder inaktiv og venter på, at en anmodning kommer ind.
- Responstiden for hver serverkomponent skal måles omhyggeligt, hvis applikationen hostes i et klyngemiljø, og skalerbarhedstest skal sikre, at responstiden for hver serverkomponent skal være den samme uanset mængden af belastning, der placeres på hver server.
- Eksempel: Svartid kan måles som det tidspunkt, hvor brugeren indtaster URL'en i en webbrowser til det tidspunkt, indtil det tager websiden at indlæse indholdet. Jo kortere svartid, jo højere er applikationens ydeevne.
2) Gennemstrømning:
- Gennemstrømning er målestokken for et antal anmodninger, der behandles over en enhedstid af applikationen.
- Resultatet af kapacitet kan variere fra applikation til applikation. Hvis det er en webapplikation, måles gennemløb målt i antallet af brugeranmodninger, der behandles pr. Tidsenhed, og hvis det er en database. kapacitet måles som et antal forespørgsler, der behandles i enhedstiden.
- En applikation anses for at være skalerbar, hvis den kan levere den samme kapacitet til forskellige belastningsniveauer på de interne applikationer, hardware og database.
3) CPU-brug:
- CPU-brug er et mål for CPU-udnyttelse til at udføre en opgave af en applikation. CPU-brug måles normalt i forhold til enheden MegaHertz.
- Ideelt set, jo mere optimeret applikationskoden er, desto mindre bliver CPU-udnyttelse observeret.
- For at opnå dette bruger mange organisationer standard programmeringspraksis for at minimere CPU-udnyttelse.
- Eksempel: Fjernelse af død kode i applikationen og minimering af brugen af tråd. Søvnmetoder er en af de bedste programmeringsmetoder for at minimere CPU-udnyttelse.
4) Hukommelsesbrug:
- Hukommelsesforbrug er et mål for den hukommelse, der forbruges til at udføre en opgave af en applikation.
- Ideelt set måles hukommelse i form af bytes (MegaBytes, GigaBytes eller Tera Bytes), som den udviklede applikation bruger for at få adgang til RAM (Random Access Memory).
- Hukommelsesforbrug af et program kan minimeres ved at følge de bedste programmeringsmetoder.
- Eksempler på bedste programmeringspraksis er ikke at bruge overflødige sløjfer, reducere hits til databasen, brug af cachen, optimere brugen af SQL-forespørgsler osv. En applikation anses for at være skalerbar, hvis den minimerer brugen af hukommelsen til det maksimale mulige omfang.
- Eksempel: Hvis den tilgængelige lagerplads til et bestemt antal brugere løber tør for hukommelse, vil udvikleren blive tvunget til at tilføje yderligere databaselagring for at kompensere for tab af data.
5) Netværksbrug:
- Netværksbrug er den mængde båndbredde, der forbruges af en applikation, der testes.
- Målet med netværksbrug er at reducere overbelastning af netværket. Netværksforbrug måles i form af modtagne bytes pr. Sekund, modtagne frames pr. Sekund, segmenter modtaget og sendt pr. Sekund osv.
- Programmeringsteknikker såsom brug af komprimeringsteknikker kan hjælpe med at reducere overbelastning og minimere netværksbrug. En applikation anses for at være skalerbar, hvis den kan udføre med minimal netværksbelastning og levere høj applikationsydelse.
- Eksempel: I stedet for at følge en kømekanisme til behandling af brugeranmodningerne, kan en udvikler skrive koden for at behandle brugeranmodningerne, når og når anmodningen ankommer til en database.
Bortset fra disse parametre er der kun få andre mindre brugte parametre, såsom svartid på serveranmodning, udførelsestid for opgave, transaktionstid, indlæsningstid for webside, tid til at hente svaret fra databasen, genstartstid, udskrivningstid, sessionstid, skærmovergang , transaktioner pr. sekund, hits pr. sekund, anmodninger pr. sekund osv.
Attributterne til skalerbarhedstest kan variere fra en applikation til en anden, da ydelsesmålingen for webapplikationer muligvis ikke er den samme som for et skrivebord eller en klientserverapplikation.
Trin til at teste skalerbarheden af en applikation
Den største fordel ved at udføre denne test på en applikation er at forstå brugeradfærd, når maksimal belastning nås, og måder at løse det på.
Denne test tillader også testere at identificere forringelse og responstid på serversiden med hensyn til applikationsbrugerbelastningen. Som et resultat foretrækkes denne test hos flere organisationer over hele verden.
Nedenfor er listen over trin til at teste skalerbarheden af en applikation:
bedste mp3 sang downloader til android
- Opret gentagelige testscenarier for hver af attributterne til skalerbarhedstest.
- Test applikationen for forskellige belastningsniveauer, f.eks. Lave, mellemstore og høje belastninger, og verificer applikationsadfærd.
- Opret et testmiljø, der er stabilt nok til at modstå hele testcyklussen for skalerbarhed.
- Konfigurer den hardware, der er nødvendig for at udføre denne test.
- Definer et sæt virtuelle brugere til verificering af en applikations opførsel under varierende brugerbelastning.
- Gentag testscenarierne for flere brugere under forskellige betingelser for interne applikationer, hardware og databaseændringer.
- I tilfælde af et klyngemiljø skal du validere, om belastningsbalanceren leder brugeranmodningerne til flere servere for at sikre, at ingen server er overbelastet af en række anmodninger.
- Udfør testscenarierne i testmiljøet.
- Analyser de genererede rapporter, og verificer eventuelle forbedringsområder.
Konklusion
I en nøddeskal,
=> Test af skalerbarhed er en ikke-funktionel testmetode til at kontrollere, om en applikation kan skalere op eller skalere ned til de forskellige attributter. Attributter, der bruges til denne test, varierer fra applikation til applikation.
=> Hovedformålet med denne test er at bestemme, hvornår en applikation begynder at nedbrydes ved en maksimal belastning og tage passende skridt for at sikre, at den udviklede applikation er skalerbar nok til at imødekomme ændringer i de interne applikationer, software, hardware og også databasen ændringer i fremtiden.
=> Hvis denne test udføres korrekt, kan store fejl med hensyn til ydeevne i software, hardware og database afdækkes i de udviklede applikationer.
=> En stor ulempe ved denne testning er dens begrænsning af datalagring med grænser for databasestørrelse og bufferplads. Netværksbåndbreddebegrænsninger kan også være en hindring for testning af skalerbarhed.
=> Processen med testning af skalerbarhed adskiller sig fra en organisation til en anden organisation, da egenskaber til skalerbarhedstest for en applikation vil være forskellig fra de andre applikationer.
Anbefalet læsning
- Load Testing med HP LoadRunner-vejledninger
- Ydelsestest vs belastningstest vs stresstest (forskel)
- Forskel mellem Desktop, Client Server Testing og Web Testing
- Webapplikation belastning, stress og ydeevne test ved hjælp af WAPT
- Bedste softwaretestværktøjer 2021 (QA Test Automation Tools)
- Vejledning til test af webapplikationssikkerhed
- Applikationstest - i det grundlæggende ved softwaretest!
- Installation af din applikation på enheden og start test fra Eclipse