what is scalability testing
Introduksjon til skalerbarhetstesting:
Skalerbarhetstesting er en ikke-funksjonell testmetodikk der en applikasjons ytelse måles i form av dens evne til å skalere opp eller skalere ned antall brukerforespørsler eller andre slike egenskaper for ytelsesmåling.
Skalerbarhetstesting kan utføres på maskinvare-, programvare- eller databasenivå.
Parametere som brukes til denne testen, er forskjellige fra en applikasjon til en annen, for en webside kan det være antall brukere, CPU-bruk, nettverksbruk, mens det for en webserver vil være antall behandlede forespørsler.
Denne opplæringen vil gi deg en fullstendig oversikt over Skalerbarhetstesting sammen med egenskapene og de forskjellige trinnene som er involvert i å utføre testen med praktiske eksempler, slik at du kan forstå konseptet på en bedre måte.
ado net intervju spørsmål og svar for erfarne
Hva du vil lære:
- Skalerbarhetstesting mot belastningstesting
- Attributter for skalerbarhetstesting
- Fremgangsmåte for å teste skalerbarheten av en applikasjon
- Konklusjon
- Anbefalt lesing
Skalerbarhetstesting mot belastningstesting
Load Testing måler applikasjonen som testes under maksimal belastning systemet skulle krasje på. Hovedformålet med belastningstesting er å identifisere toppunktet hvoretter brukerne ikke vil kunne bruke systemet.
hvordan du kjører .jar-filer på Windows 10
Både belastning og skalerbarhet kommer inn under ytelsestestmetodikk.
Skalerbarhet skiller seg fra Load Testing ved at skalerbarhetstest måler systemet på minimum og maksimal belastning på alle nivåer, inkludert programvare, maskinvare og databasenivå. Når maksimal belastning er funnet, må utviklere svare riktig for å sikre at systemet er skalerbart etter en bestemt belastning.
Eksempel: Hvis skalerbarhetstesting bestemmer maksimal belastning på 10 000 brukere, må utviklere for å kunne skalere systemet ta tiltak på faktorer som redusert responstid etter at 10 000 brukergrenser er nådd eller øke RAM-størrelsen for å imøtekomme de voksende brukerdataene.
Load Testing innebærer å plassere maksimal belastning på de utviklede applikasjonene på en gang, mens skalerbarhetstesting innebærer gradvis å øke belastningen over en periode gradvis.
Lastetesting bestemmer hvor programmet krasjer, mens skalerbarhet prøver å identifisere årsaken til programkrasj og tar skritt for å løse problemet.
Kort sagt hjelper Load Testing med å identifisere ytelsesproblemene mens skalerbarhetstesting hjelper til med å identifisere om systemet kan skalere opp til det økende antall brukere.
Attributter for skalerbarhetstesting
Attributter for skalerbarhet definerer ytelsesmålingene som denne testen skal utføres på.
Følgende er noen av de vanlige attributtene:
1) Svartid:
- Svartid er tiden mellom brukerforespørselen og applikasjonssvaret. Denne testingen er gjort for å identifisere responstiden til serveren under minimum belastning, terskelbelastning og maksimal belastning for å identifisere punktet der applikasjonen ville bryte.
- Svartiden kan øke eller redusere basert på varierende brukerbelastning på applikasjonen. Ideelt sett vil responstiden til et program reduseres ettersom brukerbelastningen fortsetter å øke.
- Et program kan anses å være skalerbart hvis det kan levere samme responstid for varierende nivåer av brukerbelastning.
- I tilfelle klyngede miljøer der applikasjonsbelastningen fordeles på flere serverkomponenter, må skalerbarhetstesting måle i hvilken grad lastbalanseren fordeler belastningen på flere servere. Dette vil sikre at den ene serveren ikke blir overbelastet med forespørsler mens den andre serveren sitter inaktiv og venter på at en forespørsel skal komme inn.
- Responstiden til hver serverkomponent må måles nøye hvis applikasjonen er vert i et klynget miljø og skalerbarhetstesting må sørge for at responstiden til hver serverkomponent må være den samme uavhengig av belastningen på hver server.
- Eksempel: Svartid kan måles som tidspunktet hvor brukeren skriver inn URL-en i en nettleser til det tidspunktet det tar før websiden tar å laste innholdet. Jo mindre responstid, jo høyere vil ytelsen til en applikasjon være.
2) Gjennomstrømning:
- Gjennomstrømning er mål på et antall forespørsler som behandles over en enhetstid av søknaden.
- Resultatet av gjennomstrømningen kan variere fra en applikasjon til en annen. Hvis det er en gjennomføring av en webapplikasjon, måles det i antall brukerforespørsler som behandles per tidsenhet, og hvis det er en database. gjennomstrømning måles i antall spørsmål behandlet i enhetstid.
- En applikasjon anses å være skalerbar hvis den kan levere samme gjennomstrømning for varierende belastningsnivåer på interne applikasjoner, maskinvare og database.
3) CPU-bruk:
- CPU-bruk er et mål på CPU-utnyttelse for å utføre en oppgave av et program. CPU-bruk måles vanligvis i forhold til enheten MegaHertz.
- Ideelt sett, jo mer optimalisert applikasjonskoden er, desto mindre blir CPU-utnyttelse observert.
- For å oppnå dette bruker mange organisasjoner standard programmeringspraksis for å minimere CPU-utnyttelse.
- Eksempel: Fjerne død kode i applikasjonen og minimere bruken av tråd. Søvnmetoder er en av de beste programmeringsrutinene for å minimere CPU-utnyttelse.
4) Minnebruk:
- Minnebruk er et mål på minnet som forbrukes for å utføre en oppgave av et program.
- Ideelt sett måles minnet i form av byte (MegaBytes, GigaBytes eller Tera Bytes) som den utviklede applikasjonen bruker for å få tilgang til RAM (Random Access Memory).
- Minnebruk av et program kan minimeres ved å følge de beste programmeringsrutinene.
- Eksempler på beste programmeringsmetoder vil være å ikke bruke overflødige sløyfer, redusere treffene i databasen, bruk av hurtigbufferen, optimalisere bruken av SQL-spørsmål osv. Et program anses å være skalerbart hvis det minimerer bruken av minnet til mest mulig mulig.
- Eksempel: Hvis lagringsplassen som er tilgjengelig for et spesifisert antall brukere, går tom for minne, vil utvikleren bli tvunget til å legge til ekstra databaselagring for å kompensere for tap av data.
5) Nettverksbruk:
- Nettverksbruk er mengden båndbredde som forbrukes av et program som testes.
- Målet med nettverksbruk er å redusere overbelastning i nettverket. Nettverksbruk måles i form av mottatte byte per sekund, mottatte rammer per sekund, mottatte og sendte segmenter per sekund osv.
- Programmeringsteknikker som bruk av komprimeringsteknikker kan bidra til å redusere overbelastning og minimere nettverksbruk. En applikasjon anses å være skalerbar hvis den kan utføre med minimum nettverksbelastning og levere høy applikasjonsytelse.
- Eksempel: I stedet for å følge en kømekanisme for behandling av brukerforespørslene, kan en utvikler skrive koden for å behandle brukerforespørslene når og når forespørselen kommer til en database.
Bortsett fra disse parametrene, er det få andre mindre brukte parametere, som svartid for serverforespørsel, utførelsestid for oppgave, transaksjonstid, lastetid for webside, tid for å hente svaret fra databasen, omstartstid, utskriftstid, økttid, skjermovergang , transaksjoner per sekund, treff per sekund, forespørsler per sekund osv.
Attributtene for skalerbarhetstesting kan variere fra ett program til et annet, ettersom ytelsesmålene for webapplikasjoner kanskje ikke er de samme som for et skrivebord eller et klientserverprogram.
Fremgangsmåte for å teste skalerbarheten av en applikasjon
Den største fordelen med å utføre denne testen på et program er å forstå brukeradferd når maksimal belastning er nådd og måter å løse det på.
I tillegg tillater denne testingen testerne å identifisere degradering og responstid på serversiden med hensyn til applikasjonsbrukerbelastningen. Som et resultat blir denne testen foretrukket i flere organisasjoner over hele verden.
udefinert referanse til funksjon i overskriftsfil c ++
Nedenfor er listen over trinn for å teste skalerbarheten til et program:
- Lag repeterbare testscenarier for hvert av skalerbarhetstestattributtene.
- Test applikasjonen for varierende belastningsnivåer, for eksempel lave, middels og høye belastninger, og kontroller oppførselen til en applikasjon.
- Lag et testmiljø som er stabilt nok til å tåle hele skalerbarhetstestsyklusen.
- Konfigurer maskinvaren som er nødvendig for å utføre denne testen.
- Definer et sett med virtuelle brukere for å verifisere oppførselen til et program under varierende brukerbelastning.
- Gjenta testscenariene for flere brukere under varierende forhold for interne applikasjoner, maskinvare og databaseendringer.
- I tilfelle et klynget miljø, valider hvis lastbalanseren retter brukerforespørslene til flere servere for å sikre at ingen server blir overbelastet av en rekke forespørsler.
- Utfør testscenariene i testmiljøet.
- Analyser rapportene som er generert, og verifiser eventuelle forbedringsområder.
Konklusjon
I et nøtteskall,
=> Skalerbarhetstesting er en ikke-funksjonell testmetodikk for å verifisere om et program kan skalere opp eller skalere ned til de forskjellige attributtene. Attributter som brukes til denne testingen vil variere fra applikasjon til applikasjon.
=> Hovedmålet med denne testingen er å bestemme når en applikasjon begynner å brytes ned med maksimal belastning og ta riktige skritt for å sikre at den utviklede applikasjonen er skalerbar nok til å imøtekomme endringene i interne applikasjoner, programvare, maskinvare og også databasen endringer i fremtiden.
=> Hvis denne testen blir utført riktig, kan store feil med hensyn til ytelse i programvaren, maskinvaren og databasen avdekkes i de utviklede applikasjonene.
=> En stor ulempe ved denne testingen vil være begrensningen for datalagring, med begrensninger på databasestørrelse og bufferplass. Også nettverkets båndbreddebegrensninger kan være et hinder for skalerbarhetstesting.
=> Prosessen med skalerbarhetstesting er forskjellig fra en organisasjon til en annen organisasjon da skalerbarhetstestattributter for en applikasjon vil være forskjellige fra de andre applikasjonene.
Anbefalt lesing
- Lastetesting med HP LoadRunner-opplæringsprogrammer
- Ytelsestesting vs belastningstesting vs stresstesting (forskjell)
- Forskjellen mellom Desktop, Client Server Testing og Web Testing
- Nettapplikasjonsbelastning, stress og ytelsestesting ved bruk av WAPT
- Beste verktøy for testing av programvare 2021 (QA Test Automation Tools)
- Veiledning for testing av webapplikasjoner
- Applikasjonstesting - inn i det grunnleggende om programvaretesting!
- Installere applikasjonen din på enheten og start testing fra Eclipse