mobile application performance testing guide
Veiledning til ytelsestesting av mobilapplikasjoner:
I dette Eksplisitt utvalg av opplæringstester, vi utforsket konseptet med Cloud Performance Testing i vår siste opplæring.
Her vil du lære hva som er en mobilapplikasjon, typer mobilapplikasjoner, ytelsestesting av mobilapplikasjon, hvordan du setter opp et ytelsesprøvemiljø for mobilapplikasjoner, hvordan du feilsøker ytelsesproblemer med mobilapplikasjoner, utfordringene som er involvert og de tilgjengelige verktøyene osv. på en detaljert måte.
=> Klikk her for å få fullstendige ytelsestester
Hva du vil lære:
- Oversikt
- Hva er en mobilapplikasjon?
- Arkitekturen til mobilapplikasjoner
- Tilnærming til testing av ytelse for mobile applikasjoner
- Strategi for ytelse av mobilapplikasjoner
- Testingsmiljø for mobil applikasjonsytelse
- Utfordringer for testing av ytelse for mobilapplikasjoner
- Feilsøking av ytelsesproblemer med mobilapplikasjoner
- Verktøy for testing av ytelse for mobilapplikasjoner
- Konklusjon
- Anbefalt lesing
Oversikt
I dagens teknologiske verden brukes mobilapplikasjoner mye enn vanlige stasjonære applikasjoner. Antall brukere som bruker smarttelefoner for å få tilgang til de fleste av programmene sine enn å bruke en stasjonær eller en bærbar datamaskin, økes drastisk.
Sluttbrukeren vil også forvente god respons fra applikasjonen når han bruker den. Derfor må utvikleren som bygger mobilapplikasjonene huske dette når den utvikler applikasjonen.
sql spørsmål for praksis med svar pdf
Nå er ytelsestesting viktig, enten det er en vanlig webapplikasjon eller en applikasjon på en mobil enhet. Hvis en applikasjon går live uten å bli ytelsestestet, og hvis sluttbrukeren møter ytelsesproblemer som treg respons osv., Vil han prøve å finne et annet bedre program som vil fungere på en bedre måte.
Ytelsestesting er dyrt og det tar også mer tid. Derfor unngår mange kunder å gå på ytelsestesting, men dette vil hjelpe mye med problemene i produksjonen. Dermed må ethvert program testes grundig før det blir gjort tilgjengelig for sluttbrukeren.
Hva er en mobilapplikasjon?
Mobilapplikasjoner er et sett med forhåndsdefinerte funksjoner som er designet for å fungere på mobile enheter som smarttelefon, nettbrett og andre funksjonstelefoner. Ikke alle mobilapplikasjoner er like, det er tre forskjellige typer mobilapplikasjoner, og disse er basert på teknologien som har blitt brukt til å utvikle disse applikasjonene.
Tre typer mobilapplikasjoner inkluderer:
- Innfødte mobilapplikasjoner
- Nettbaserte mobilapplikasjoner
- Hybrid applikasjoner
# 1) Innfødte mobilapplikasjoner:
Innfødte mobilapplikasjoner er de applikasjonene som kjører på dine egne smarttelefoner eller nettbrett, de kjører på operativsystemet til de mobile enhetene. De gir høy ytelse og er også veldig pålitelige. Denne typen applikasjoner får også tilgang til andre applikasjoner på smarttelefonenheten, for eksempel bilder, adressebok etc.
Innfødte applikasjoner er tilgjengelige i mobilapplikasjonsbutikken. For Android har vi play store og for iPhone har vi iTunes. Så disse applikasjonene lastes ned fra sine respektive butikker og installeres på mobile enheter.
Eksempler av innfødte applikasjoner er en kalkulator, kalender, Facebook-applikasjon etc.
# 2) Nettbaserte mobilapplikasjoner:
Nettbaserte mobilapplikasjoner kjører direkte fra nettleseren, de er ikke installert på den mobile enheten.
Eksempler av nettbaserte mobilapplikasjoner er online spill, sosiale nettverkssider etc.
# 3) Hybrid applikasjoner:
Hybridapplikasjoner ligner på opprinnelige applikasjoner, og de kjører inne i den opprinnelige beholderen. De er en blanding av begge applikasjonene, og de bruker enhetsleseren og ikke den faktiske nettleseren for å gjengi applikasjonens websider.
Eksempler av Hybrid-applikasjonen er Instagram, Yelp etc.
Arkitekturen til mobilapplikasjoner
I figuren ovenfor , smarttelefoner og nettbrett kommer under klientsiden. De inkluderer enhetene som vi vanligvis bruker som smarttelefon, nettbrett, deres nettverk som 3G, 4G, etc. Et operativsystem for enhetene som Android, ios, Windows, etc.
Mobile Cell Network , Trådløs, Internett og Brannmur kommer under Nettverk. For mobilnettverket ser vi signalstyrke, nettverksbelastning, frafall osv. For et trådløst nettverk ser vi signalstyrke, hastighet osv.
Web, App og DB kommer på server-siden der det meste av arbeidet er utført.
Tilnærming til testing av ytelse for mobile applikasjoner
Ytelsestesting av mobilapplikasjoner er forskjellig fra ytelsestesting av webapplikasjoner. Bærbare datamaskiner eller stasjonære datamaskiner som brukes til å få tilgang til webapplikasjonene, lider ikke mye av dårlige nettverksforhold, inkludert pakketap eller ventetid.
Mens det i mobilapplikasjoner er nettverksforhold, er det viktig med pakketap, ventetid, hvilken type enhet vi bruker som en smarttelefon eller smartenhet og båndbredde, og vi bør ikke ignorere alle disse faktorene når vi vurderer ytelsestesting av mobilapplikasjoner.
Før du utvikler ytelsesstrategien din, bør du forstå hvilken type applikasjon du kjører på den mobile enheten.
Det er tre typer applikasjoner:
- Nettleserbaserte applikasjoner
- Innfødte applikasjoner
- Hybrid applikasjoner
# 1) Nettleserbaserte applikasjoner:
Du kan få tilgang til denne typen applikasjoner direkte via en mobil nettleser, og de trenger ingen ekstra programvare for å lastes ned eller installeres på enheten.
De er lette og er bygget på samme bunke i alle typer enheter som Android, iPhone osv. Også Responsivt webdesign bevegelse gjør det enda enklere å lage et nettleserbasert program, ettersom du kan gjengi applikasjonen til forskjellige skjermstørrelser.
Denne typen applikasjoner har ulemper som at de ikke er tilgjengelige uten internettforbindelse, de har ikke alle funksjonene innebygd i enheten, og de har også en tendens til å virke tregere for brukerne.
Så. mens ytelsestesting av denne typen applikasjoner er det viktig å replikere brukerbelastningen fra en mobil nettleser, og det er også viktig å teste gjengivelsen av nettsiden på målenheter.
# 2) Innfødte applikasjoner:
Denne typen applikasjoner er bygget på en bestemt plattform ved hjelp av programvaren som er installert direkte på enheten.
Innfødte applikasjoner er raskere og mer responsive ettersom de er bygd lokalt på enheten. Siden koden på hver enhet er forskjellig, det vil si for iPhone, Android osv., Mens ytelsestesting må vi vurdere å teste på hver plattform.
# 3) Hybrid applikasjoner:
Hybridapplikasjoner er kombinasjonen av både nettleser- og native-applikasjoner. De er sammensatt av et innfødt skall som gir en rask integrert opplevelse.
Mens ytelsestesting retter seg mot belastningen som genereres av brukerne av en slik hybridapplikasjon på serversiden, samt måler ytelsen på enheten fra et sluttbrukerperspektiv.
Så hvordan tester vi disse mobilapplikasjonene?
For å teste slike mobilapplikasjoner, må vi bygge et miljø med emulatorer og ekte enheter. Mobile emulatorer er programvare som må installeres på bærbare datamaskiner eller stasjonære datamaskiner som vil imitere en mobilapplikasjon eller en mobil plattform.
Derfor, ved å bruke disse emulatorene, kan vi generere en betydelig mengde belastning for lastetesting.
Den andre metoden bruker ekte enheter, her har vi enheten fysisk, og vi kan se hvordan applikasjonen fungerer på hver enhet. Ved bruk av ekte enheter har vi ikke muligheten til å generere belastningen som er vårt hovedmål, men for å gjøre det må vi ha flere virkelige enheter.
Men hvis du vil teste oppførselen til applikasjonen på en bestemt enhet, kan du bruke den virkelige enheten, men for å generere belastning må vi bruke emulatorer.
Det neste punktet du må være oppmerksom på når du tester en mobilapplikasjon, er å vite sluttbrukerens tilgangsposisjon. Det er veldig viktig å vite om brukerne får tilgang fra samme by, samme land, eller om de er spredt over hele verden osv. Hvis vi planlegger testen eller miljøet vårt uten å vurdere dette, ville testene våre være feil.
Applikasjonsytelse på en mobilapplikasjon som en smarttelefon eller smartenhet måles vanligvis i form av enhetsytelse, server / API-ytelse og nettverksytelse.
Vi må sjekke følgende under hver forestilling.
Enhetsytelse:
- Programmets oppstartstid
- Batteritid mens du bruker applikasjonen
- Minneforbruk
- Maskinvare- og programvarevariasjon
- Bruk med andre applikasjoner
- Et program som kjører i bakgrunnen
Server / API-ytelse:
- Data til og fra serveren.
- API-anrop generert
- Servertid
Nettverksytelse:
- Pakketap
- Nettverkshastighet
Dermed, mens du skriver tilnærmingen for ytelsestesting av mobile applikasjoner, må du vurdere alle punktene ovenfor og matche prosjektets omfang og krav.
Strategi for ytelse av mobilapplikasjoner
Ytelsestest tilnærming er forskjellig for hver type mobilapplikasjon. Tilnærmingen varierer fra en applikasjon til den andre ettersom hver applikasjon er utviklet med forskjellige komponenter og behandlingsmekanismen er forskjellig for hver.
Nettleserbaserte mobilapplikasjoner fungerer annerledes enn det vanlige nettleserprogrammet. Denne oppførselen skyldes båndbredden fra dataplanen som sluttbrukeren bruker, og det avhenger også av konfigurasjonen på de mobile enhetene.
Kostnadene ved å utvikle denne typen nettleserbaserte applikasjoner vil være mindre ettersom utviklingsarbeidet vil være å se kompatibiliteten med nettleserne som er tilgjengelige på mobile enheter.
Derfor, for ytelsestesting som mobile nettleserbaserte applikasjoner, må vi replikere brukerbelastningen på nettleseren. Vi kan gjøre dette ved å bruke emulatorer eller andre tilleggskomponenter. Bortsett fra brukerbelastningen på mobile nettlesere, må vi også teste nettsidegjengivelsen på enhetene.
Utviklingskostnadene for Native Mobile Applications er mer. Applikasjonene installeres direkte på enheten som gjør brukeropplevelsen bedre, men applikasjonen er plattformavhengig.
Så hvis vi vil teste ytelsen i denne typen applikasjoner, må vi teste alle plattformene til mobile enheter som Android, iOS, windows osv. Og også på alle typer enheter som smarttelefon, nettbrett etc.
Hybride mobilapplikasjoner er en kombinasjon av både nettleserbaserte mobilapplikasjoner og innfødte mobilapplikasjoner, derfor må vi teste brukerbelastningen på serveren, og vi må også gjøre en fullstendig ytelsestesting på alle mobile enheter og plattformer.
For alle applikasjoner på mobilenheten er det to hovedfaktorer som påvirker sluttbrukerens ytelse:
- Forespørsel på mobilenheten
- Sidegjengivelse på mobilenheten
# 1) Forespørsel på mobilenheten:
Under dette leveres forespørselen til serveren, og serverresponsen genereres basert på mottatt forespørsel. Når svaret er generert på serveren, sendes dette svaret tilbake til mobilenheten som har sendt den første forespørselen.
Her er parameterne som må undersøkes, serverbelastningen, de forskjellige nettverkstypene som 3G, 4G etc., belastning på hvert nettverk og andre komponenter.
Vi kan teste disse ved å bruke emulatorer, dvs. vi kan generere skriptene og bruke emulatorer for å etterligne brukerbelastningen på serveren.
databasetesting intervju spørsmål og svar for erfarne
Nr. 2) Sidet gjengivelse på den mobile enheten:
Sidegjengivelse på mobilenheten er ikke annet enn svaret som mottas fra serveren for forespørselen vi sendte fra mobilapplikasjonen vår.
Her er parametrene som må sees på, operativsystemet til enheten, konfigurasjonsinnstillingen til den mobile enheten osv. Vi kan teste disse ved å faktisk logge på den mobile enheten og overvåke dem.
hvordan lage et ddos-program
La oss nå se nærmere på hvert trinn nevnt i figuren ovenfor:
a) Opprett brukerscenarier i sanntid:
I likhet med de vanlige nettleserprogrammene, må vi identifisere scenariene eller forholdene som forventes på serveren i sanntid. Det vil være mange scenarier som skal testes.
La oss anta en tilstand der det er en webapplikasjon som er tilgjengelig på både stasjonære og mobile enheter, og den er også innfødt i Android- og iOS-enheter. Her må vi utvikle et testskript basert på applikasjonstilgangstypen. Derfor må vi teste det separat på hver enhet.
Vi må også vurdere arbeidsbelastningsmønsteret for det scenariet, dvs. vi må forstå hvordan belastningen fordeles på hver enhet. For eksempel, 500 brukere vil få tilgang til applikasjonen via nettet, rundt 100 vil bruke et innfødt program på deres iOS-enhet, og ytterligere 200 vil få tilgang til applikasjonen fra sin opprinnelige enhet på Android-applikasjonen.
Vi bør også vurdere de geografiske plasseringene for belastningen på serveren. For eksempel, 30% av brukerne får tilgang fra USA, 50% fra India og hvile 20% fra andre steder. Det er obligatorisk å etterligne forskjellige brukerplasseringer, da det vil ha veldig stor innvirkning på serverne.
Å teste alle 100% fra ett sted vil gi feil resultater. Så det anbefales å teste belastningen på serverne ved å oppgi en annen plassering. Skyløsningen kan brukes til å etterligne forskjellige geografiske steder.
b) Opprett nettverksforhold i sanntid:
Her må vi lage forskjellige nettverksforhold og også kvaliteten på nettverket som 3G-nettverk, 2G-nettverk, Wi-Fi med best hastighet, gjennomsnittshastighet og lav hastighet. Vi må gjøre nettverksemulering for å skape nettverksforhold.
Vi bør også teste ytelsen ved å gi 50% båndbreddeforhold, vi kan oppnå dette ved å gjøre nettverksemulering. Vi kan bruke hvilket som helst verktøy som Wind Tunnel, Shunra, etc.
Test også nettverket med tanke på forskjellige geografiske områder som 3G-nettverk i Bangalore. 4G i Hyderabad etc. Her må vi også gjøre nettverksemulering ved å bruke passende verktøy.
c) Opprett enhetsbetingelser i sanntid:
Dette er ingenting annet enn applikasjonstypen på den mobile enheten, som om det er en tynn klientapplikasjon eller en tykk klientapplikasjon, hva er operativsystemet på den mobile enheten, enhetstypen som iPhone, Nokia osv., Og andre applikasjoner som vil kjøre parallelt under bruk av denne applikasjonen osv., må også testes som en del av scenariene.
d) Test ytelsen til hver komponent:
Etter å ha opprettet alle ovennevnte scenarier, må vi ytelsestest applikasjonen inkludert all programvare og maskinvare. Saml nå alle nødvendige beregninger under lastetesten.
Noen av måtene på serversiden som må samles inn er CPU-bruk, CPU-belastning, behandlingstid, total byte tilgjengelig, sendte pakker, mottatte pakker etc.
Noen av nettverksmålingene som må samles inn er pakker og byte sendt over nettverket, pakker og byte mottatt over nettverket, pakker falt og total gjennomsnittlig forsinkelse.
Enhetsberegninger som skal samles inn er CPU, minneutnyttelse, responstid osv. Og måler også alle transaksjonens responstid og gjennomstrømning.
Testingsmiljø for mobil applikasjonsytelse
Før vi setter opp ytelsestestemiljøet for en mobilapplikasjon, må vi forstå hva som er mobilapplikasjonene som skal testes, hva alle operativsystemer eller enheter vil bli testet og de forskjellige geografiske stedene også.
Derfor må vi først lage et miljø som består av emulatorer og virkelige enheter. Så hva er en emulator? En emulator er en programvare som kan installeres på våre bærbare datamaskiner eller stasjonære maskiner, og disse fungerer som mobile enheter. Vi kan generere enorm belastning ved hjelp av disse emulatorene, og de er derfor best å bruke for belastningstesting av mobilapplikasjoner.
På den annen side er ekte enheter fysiske mobile enheter. Så vi må verifisere applikasjonsatferden på hver enhet og i hvert nettverk. Men vi vil ikke kunne teste båndbredden, pakketap osv. Når flere enheter er koblet til samme nettverk og får tilgang til samme applikasjon.
Den neste tingen å vurdere er den geografiske plasseringen av applikasjonsenhetene. Dette er et obligatorisk og veldig viktig aspekt som skal vurderes, ellers vil ikke testresultatene våre være som det som skjer i den virkelige verden.
Så når du har analysert alle de ovennevnte, velg det respektive lasttestverktøyet for å gjennomføre ytelsestestene.
Utfordringer for testing av ytelse for mobilapplikasjoner
Utfordringene vi står overfor mens ytelsestesting av mobilapplikasjoner inkluderer:
- Når vi trenger å teste applikasjonen vår på forskjellige mobile enheter, må vi organisere alle enhetene som IOS, Android, Windows etc.
- Nettverkssimulering er en annen utfordring vi vil møte, dvs. vi trenger å simulere nettverk som 3G, 2G, 4G og wifi-nettverk.
- Minnet som er tilgjengelig på de mobile enhetene for å håndtere testkjøringene.
- Batterilevetiden til de mobile enhetene.
Feilsøking av ytelsesproblemer med mobilapplikasjoner
Etter at testkjøringen er fullført, er det på tide å samle ytelsesflaskehalsen identifisert under testkjøringen. Når problemene er konsolidert, må vi identifisere årsaken til problemet og fikse dem.
La oss ta en titt på ytelsesproblemer med mobilapplikasjoner:
- En forsinkelse i svaret fra mobilapplikasjonen: Denne forsinkelsen skyldes vanligvis minnet eller caching. I slike tilfeller anbefales det å tømme hurtigbufferen og kjøre testen på nytt.
- Søknad blir startet på nytt, hengt eller blir frossen: I slike tilfeller sjekker du programvaren som om det er behov for oppdateringer, sjekk applikasjonskoden for optimalisering, håndtering av hurtigbufring er noen områder du skal se på.
Verktøy for testing av ytelse for mobilapplikasjoner
Verktøyene kan variere avhengig av enhetstype og plattform.
Noen av de mest brukte verktøyene er gitt nedenfor.
For Android-enheter:
roboter: Ved hjelp av dette verktøyet kan vi registrere og spille av flere trinn for å gjennomføre testen. Klikk her for en Robotium-opplæring .
Monkey Runner : Ved hjelp av dette verktøyet kan vi kjøre testene våre på enhetene ved å koble dem til et skrivebord. Ved å bruke grensesnittet til verktøyet kan vi få tilgang til smarttelefonen.
For iOS-enheter:
Automator: Ved hjelp av dette verktøyet kan vi dra og slippe arbeidsflytene og automatisere dem.
Konklusjon
Jeg er sikker på at du ville ha lært mer om mobilapplikasjoner og hvordan du kan fortsette og utføre belastningstesting på mobilapplikasjonene på en perfekt måte gjennom denne informative veiledningen.
Vår kommende veiledning vil orientere deg om hvordan du utfører manuell ytelsestesting i enkle termer.
=> Besøk her for fullstendige ytelsestestopplæringsserier
PREV Opplæring | NESTE veiledning
Anbefalt lesing
- Ytelsestesting av mobile applikasjoner ved bruk av BlazeMeter
- Nybegynnerveiledningen for ytelsestesting av webapplikasjoner ved hjelp av WAPT Pro
- Veiledning for testing av webapplikasjoner
- Ytelsestesting vs belastningstesting vs stresstesting (forskjell)
- Hvordan få en mobil testjobb raskt - Karriereveiledning for mobil testing (del 1)
- Nettapplikasjonsbelastning, stress og ytelsestesting ved bruk av WAPT
- Hvordan utføre manuell ytelsestesting?
- Verktøy og tjenesteleverandører for testing av mobilapplikasjon