mobile application performance testing guide
Guide till prestandatestning av mobilapplikationer:
I denna Explicit utbud av prestandatestningstutorialer, vi utforskade begreppet Testning av molnprestanda i vår senaste handledning.
Här lär du dig vad som är en mobilapplikation, typer av mobilapplikationer, prestandatestning av mobilapplikation, hur man ställer in en testmiljö för mobilapplikationer, hur man felsöker prestandaproblem med mobilapplikationer, utmaningarna och de tillgängliga verktygen etc på ett detaljerat sätt.
=> Klicka här för fullständiga prestandatesthandledningsserier
Vad du kommer att lära dig:
- Översikt
- Vad är en mobilapplikation?
- Arkitekturen för mobila applikationer
- Tillvägagångssätt för testning av mobilapplikation
- Strategi för mobilapplikationsprestanda
- Miljö för testning av mobilapplikation
- Utmaningar för testning av mobilapplikation
- Felsökning av prestandaproblem med mobilapplikationer
- Verktyg för testning av mobilapplikationsprestanda
- Slutsats
- Rekommenderad läsning
Översikt
I dagens teknikvärld används mobila applikationer i stor utsträckning än vanliga stationära applikationer. Antalet användare som använder smartphones för att komma åt de flesta av sina applikationer än att använda en stationär eller en bärbar dator ökar drastiskt.
Slutanvändaren förväntar sig också ett bra svar från applikationen när han använder den. Därför måste utvecklaren som bygger mobilapplikationerna ha detta i åtanke när applikationen utvecklas.
Nu är prestandatestning kritisk, antingen är det en vanlig webbapplikation eller en applikation på en mobil enhet. Om en applikation går live utan att testa prestanda och om slutanvändaren står inför prestandafrågor som ett långsamt svar etc., kommer han att försöka hitta en annan bättre applikation som kommer att fungera på ett bättre sätt.
Prestandatestning är dyrt och det tar också mer tid. Därför undviker många kunder att gå för prestandatestning, men detta kommer att hjälpa mycket med problemen i produktionen. Således måste alla applikationer testas noggrant innan de görs tillgängliga för slutanvändaren.
Vad är en mobilapplikation?
Mobilapplikationer är en uppsättning fördefinierade funktioner som är utformade för att fungera på mobila enheter som smarttelefon, surfplattor och andra funktionstelefoner. Inte alla mobilapplikationer är desamma, det finns tre olika typer av mobilapplikationer och dessa är baserade på den teknik som har använts för att utveckla dessa applikationer.
Tre typer av mobilapplikationer inkluderar:
- Native Mobile Applications
- Webbaserade mobilapplikationer
- Hybridapplikationer
# 1) Inbyggda mobilapplikationer:
Native Mobile Applications är de applikationer som körs på dina egna smartphones eller surfplattor, de körs på de mobila enheternas operativsystem. De ger hög prestanda och är också mycket tillförlitliga. Den här typen av applikationer kommer också åt andra applikationer på din smartphone-enhet som foton, adressbok etc.
sql frågor för övning med svar pdf
Inbyggda applikationer finns tillgängliga i mobilappsbutiken. För Android har vi play store och för iPhone har vi iTunes. Så dessa applikationer laddas ner från sina respektive butiker och installeras på mobila enheter.
Exempel av Native-applikationer är en kalkylator, kalender, Facebook-applikation etc.
# 2) Webbaserade mobilapplikationer:
Webbaserade mobilapplikationer körs direkt från webbläsaren, de är inte installerade på den mobila enheten.
Exempel av webbaserade mobilapplikationer är onlinespel, sociala nätverkssajter etc.
# 3) Hybridapplikationer:
Hybridapplikationer liknar Native-applikationer och de körs i den ursprungliga behållaren, de är en blandning av båda applikationerna och de använder enhetens webbläsare och inte den faktiska webbläsaren för att återge applikationswebbsidorna.
Exempel av hybridapplikationer är Instagram, Yelp etc.
Arkitekturen för mobila applikationer
I figuren ovan , smartphones och surfplattor kommer under klientsidan. De inkluderar de enheter som vi brukar använda som smarttelefon, surfplattor, deras nätverk som 3G, 4G, etc. Ett operativsystem för enheter som Android, ios, Windows, etc.
Mobilt mobilnätverk , Trådlöst, Internet och Brandvägg omfattas av Nätverk. För mobilnätverket ser vi signalstyrka, nätstopp, bortfall etc. För ett trådlöst nätverk ser vi signalstyrka, hastighet etc.
Webb, app och DB kommer på serversidan där majoriteten av arbetet utförs.
Tillvägagångssätt för testning av mobilapplikation
Prestandatestning av mobilapplikationer skiljer sig från prestandatestning av webbapplikationer. Bärbara datorer eller stationära datorer som används för att komma åt webbapplikationerna lider inte mycket av dåliga nätverksförhållanden inklusive paketförlust eller latens.
Medan nätverksförhållanden för mobilapplikationer är paketförlust, latens, vilken typ av enhet som vi använder som en smartphone eller smart enhet och bandbredd är det viktigt och vi bör inte ignorera alla dessa faktorer när vi överväger prestandatestning av mobilapplikationer.
Innan du utvecklar din prestationsstrategi bör du förstå vilken typ av applikation du kör på din mobila enhet.
Det finns tre typer av applikationer:
- Webbläsarbaserade applikationer
- Inbyggda applikationer
- Hybridapplikationer
# 1) Webbläsarbaserade applikationer:
Den här typen av applikationer kan nås direkt via en mobil webbläsare och de behöver ingen ytterligare programvara för att laddas ner eller installeras på enheten.
De är lätta och är byggda på samma stack i alla typer av enheter som Android, iPhone etc. Dessutom lyhörd webbdesign rörelse gör det, ännu mer, enklare att skapa en multi-webbläsarbaserad applikation eftersom du kan göra applikationen till olika skärmstorlekar.
Den här typen av applikationer har nackdelar som att de inte kan nås utan en internetanslutning, de har inte alla funktioner inbyggda i enheten och de brukar också verka långsammare för användarna.
hur man använder en .bin-fil
Så. medan prestandatestning av denna typ av applikationer är det viktigt att replikera användarbelastningen från en mobilwebbläsare och det är också viktigt att testa webbsidans rendering på målenheter.
# 2) Inbyggda applikationer:
Denna typ av applikationer bygger på en viss plattform med hjälp av programvaran som är installerad direkt på enheten.
Inbyggda applikationer är snabbare och mer lyhörda eftersom de är lokalt byggda på enheten. Eftersom koden på varje enhet är annorlunda, det vill säga för iPhone, Android etc, medan prestandatestning måste vi överväga att testa på varje plattform.
# 3) Hybridapplikationer:
Hybridapplikationer är kombinationen av både webbläsare och native-applikationer. De består av ett inbyggt skal som ger en snabb integrerad upplevelse.
Medan prestandatestning riktar sig mot den belastning som genereras av användarna av en sådan hybridapplikation på serversidan, såväl som mätning av enhetens applikationsprestanda ur ett slutanvändarperspektiv.
Så hur testar vi dessa mobilapplikationer?
För att testa sådana mobila applikationer måste vi bygga en miljö med emulatorer och riktiga enheter. Mobila emulatorer är programvara som måste installeras på våra bärbara datorer eller stationära datorer som imiterar en mobilapplikation eller en mobilplattform.
Därför kan vi använda dessa emulatorer generera en betydande mängd belastning för vår belastningstestning.
Den andra metoden använder riktiga enheter, här har vi enheten fysiskt och vi kan se hur applikationen fungerar på varje enhet. Med riktiga enheter har vi inte möjlighet att generera belastningen som är vårt huvudsakliga mål, men för att göra det måste vi ha flera riktiga enheter.
Men om du vill testa applikationens beteende på en viss enhet kan du använda den verkliga enheten, men för att generera belastning måste vi använda emulatorer.
Nästa punkt att notera när du testar en mobilapp är att känna till slutanvändarens åtkomstplats. Det är mycket viktigt att veta om användarna kommer från samma stad, samma land eller om de är spridda över hela världen etc. Om vi planerar vårt test eller vår miljö utan att överväga detta skulle våra tester vara felaktiga.
Applikationsprestanda på en mobilapplikation som en smart telefon eller smart enhet mäts vanligtvis i termer av enhetsprestanda, server / API-prestanda och nätverksprestanda.
Vi måste kontrollera följande under varje föreställning.
Enhetsprestanda:
- Programmets starttid
- Batteritid när du använder programmet
- Minnesförbrukning
- Hårdvaru- och programvaruvariation
- Användning med andra applikationer
- En applikation som körs i bakgrunden
Server / API-prestanda:
- Data till och från servern.
- API-samtal genereras
- Serverstopp
Nätverksprestanda:
- Paketförlust
- Nätverkshastighet
Således, när du skriver metoden för prestanda testning av mobilapplikationer, måste du överväga alla ovanstående punkter och matcha projektets omfattning och krav.
Strategi för mobilapplikationsprestanda
Prestandatestmetoden skiljer sig åt för varje typ av mobilapplikation. Tillvägagångssättet varierar från en applikation till en annan eftersom varje applikation utvecklas med olika komponenter och bearbetningsmekanismen är olika för varje.
Webbläsarbaserade mobilapplikationer fungerar annorlunda än det vanliga webbläsarprogrammet. Detta beteende beror på bandbredden från dataplan som slutanvändaren använder och det beror också på konfigurationen på de mobila enheterna.
Kostnaden för att utveckla denna typ av webbläsarbaserad applikation blir mindre eftersom utvecklingsarbetet skulle vara att se dess kompatibilitet med de webbläsare som finns tillgängliga på mobila enheter.
För prestandatestning som mobilwebbläsarbaserade applikationer måste vi därför replikera användarbelastningen på webbläsaren. Vi kan göra detta genom att använda emulatorer eller andra ytterligare komponenter. Bortsett från användarbelastningen på mobilwebbläsarna måste vi också testa webbsidans rendering på enheterna.
Utvecklingskostnaden för Native Mobile Applications är högre. Applikationerna installeras direkt på enheten vilket gör användarupplevelsen bättre, men applikationen är plattformsberoende.
Så om vi vill testa prestanda i den här typen av applikationer måste vi testa alla plattformar för mobila enheter som Android, iOS, windows etc och även på alla typer av enheter som smartphone, surfplattor etc.
Hybrida mobilapplikationer är en kombination av både webbläsarbaserade mobilapplikationer och inbyggda mobilapplikationer, därför måste vi här testa användarbelastningen på servern och vi måste också göra en fullständig testning av prestanda på alla mobila enheter och plattformar.
För alla applikationer på den mobila enheten finns det två huvudfaktorer som påverkar slutanvändarens prestanda:
- Begäran på den mobila enheten
- Sidåtergivningen på den mobila enheten
# 1) Begäran på den mobila enheten:
Under detta levereras begäran till servern och serverns svar genereras baserat på den mottagna begäran. När svaret genereras på servern skickas svaret tillbaka till den mobila enhet som har skickat den ursprungliga begäran.
Här är parametrarna som måste undersökas serverbelastningen, olika nätverkstyper som 3G, 4G etc., en belastning på varje nätverk och andra komponenter.
Vi kan testa dessa med hjälp av emulatorer, dvs. vi kan generera skript och använda emulatorer för att efterlikna användarbelastningen på servern.
# 2) Sidrendering på den mobila enheten:
Sidåtergivning på den mobila enheten är inget annat än svaret som tas emot från servern för den begäran vi skickade från vår mobilapplikation.
Här är parametrarna som måste undersökas enhetens operativsystem, konfigurationsinställningen för den mobila enheten etc. Vi kan testa dessa genom att faktiskt logga in på den mobila enheten och övervaka dem.
hur man gör ett ddos-program
Låt oss nu ta en detaljerad titt på varje steg som nämns i figuren ovan:
a) Skapa realtidsanvändarscenarier:
I likhet med de vanliga webbläsarprogrammen måste vi identifiera de scenarier eller förhållanden som förväntas på servern i realtid. Det kommer att finnas många scenarier att testa.
Låt oss anta ett tillstånd där det finns en webbapplikation som är tillgänglig på både stationära datorer och mobila enheter, det är också infödd i Android- och iOS-enheter. Här måste vi utveckla ett testskript baserat på applikationens åtkomsttyp. Därför måste vi testa det separat på varje enhet.
Vi måste också överväga arbetsbelastningsmönstret för det scenariot, dvs. vi måste förstå hur belastningen fördelas till varje enhet. Till exempel, 500 användare kommer att komma åt applikationen via webben, cirka 100 kommer att använda en inbyggd applikation på sin ios-enhet och ytterligare 200 kommer att komma åt applikationen från sin inbyggda enhet i Android-applikationen.
Vi bör också överväga de geografiska platserna för belastningen på servern. Till exempel, 30% av användarna kommer från USA, 50% från Indien och vilar 20% från andra platser. Det är obligatoriskt att härma olika användarplatser eftersom det kommer att ha en mycket stor inverkan på servrarna.
Att testa alla 100% från en enda plats ger fel resultat. Så det rekommenderas att testa belastningen på servrarna genom att ange en annan plats. Molnlösningen kan användas för att efterlikna olika geografiska platser.
b) Skapa nätverksförhållanden i realtid:
Här måste vi skapa olika nätverksförhållanden och även kvaliteten på nätverket som 3G-nätverk, 2G-nätverk, Wi-Fi med bästa hastighet, medelhastighet och låg hastighet. Vi måste göra nätverksemulering för att skapa nätverksförhållanden.
Vi bör också testa prestanda genom att ge 50% bandbreddsförhållanden, vi kan uppnå detta genom att göra nätverksemulering. Vi kan använda vilket verktyg som helst som Wind Tunnel, Shunra, etc.
Testa också nätverket med avseende på olika geografiska områden som 3G-nät i Bangalore. 4G i Hyderabad etc. Här måste vi också göra nätverksemulering genom att använda lämpliga verktyg.
c) Skapa villkor för realtidsenheter:
Det här är inget annat än den typ av applikation på den mobila enheten som om det är en tunn klientapplikation eller en tjock klientapplikation, vad är operativsystemet på den mobila enheten, enhetstypen som iPhone, Nokia etc. och alla andra applikationer som kommer att köras parallellt under användningen av den här applikationen etc. måste också testas som en del av scenarierna.
d) Testa prestandan för varje komponent:
Efter att ha skapat alla ovanstående scenarier måste vi prestandatesta applikationen inklusive all programvara och hårdvara. Samla nu alla nödvändiga mätvärden under belastningstestet.
Några av mätvärdena på serversidan som måste samlas in är CPU-användning, CPU-belastning, behandlingstid, totalt tillgängligt byte, paket skickade, mottagna paket etc.
Några av de nätverksmätvärden som måste samlas in är paket och byte som skickas över nätverket, paket och byte som tas emot via nätverket, paket har minskat och total genomsnittlig fördröjning.
Enhetsmätvärden som ska samlas in är CPU, minnesutnyttjande, svarstid etc och mäter också alla transaktionssvarstider och genomströmning.
Miljö för testning av mobilapplikation
Innan vi skapar prestandatestmiljön för en mobilapplikation måste vi förstå vilka mobilapplikationer som kommer att testas, vilka alla operativsystem eller enheter som ska testas och de olika geografiska platserna också.
Därför måste vi först skapa en miljö som består av emulatorer och verkliga enheter. Så vad är en emulator? En emulator är en programvara som kan installeras på våra bärbara datorer eller stationära maskiner, och dessa fungerar som mobila enheter. Vi kan generera enorm belastning med dessa emulatorer, därför är de bäst att använda för lasttestning av alla mobila applikationer.
Å andra sidan är Real Devices fysiska mobila enheter. Så vi måste verifiera applikationsbeteendet på varje enhet och i varje nätverk. Men vi kommer inte att kunna testa bandbredd, paketförlust etc. när flera enheter är anslutna till samma nätverk och har åtkomst till samma applikation.
Nästa sak att tänka på är den geografiska platsen för applikationsenheterna, detta är en obligatorisk och mycket viktig aspekt som ska övervägas, annars kommer våra testresultat inte att vara som vad som händer i det verkliga scenariot.
Så när du har analyserat allt ovan väljer du respektive belastningstestverktyg för att utföra prestandatesterna.
Utmaningar för testning av mobilapplikation
De utmaningar vi möter när vi testar mobilapplikationer inkluderar:
- När vi behöver testa vår applikation på olika mobila enheter måste vi organisera alla enheter som IOS, Android, Windows etc.
- Nätverkssimulering är en annan utmaning vi kommer att möta, dvs vi behöver simulera nätverk som 3G, 2G, 4G och wifi-nätverk.
- Det minne som finns tillgängligt i de mobila enheterna för att hantera testkörningarna.
- Batteritiden för mobila enheter.
Felsökning av prestandaproblem med mobilapplikationer
När testkörningen är klar är det dags att samla den flaskhals som identifierats under testkörningen. När problemen har konsoliderats måste vi identifiera orsaken till problemet och åtgärda dem.
Låt oss titta på några prestandaproblem med mobilapplikationer:
- En fördröjning av svaret från mobilapplikationen: Denna fördröjning orsakas vanligtvis av minnet eller av cachning. I sådana fall rekommenderas det att rensa cacheminnet och köra testet igen.
- Ansökan startas om någon gång, hängs eller fryser: Kontrollera i sådana fall programvaran som om några uppdateringar behöver göras, kontrollera applikationskoden för eventuell optimering, hantering av cachning är några områden som ska undersökas.
Verktyg för testning av mobilapplikationsprestanda
Verktygen kan variera beroende på typ av enhet och plattform.
Några av de mest använda verktygen ges nedan.
För Android-enheter:
robotar: Med hjälp av detta verktyg kan vi spela in och spela upp flera steg för att genomföra testet. Klick här för en Robotium-handledning .
Monkey Runner : Med hjälp av detta verktyg kan vi köra våra tester på enheterna genom att ansluta dem till ett skrivbord. Med hjälp av verktygets gränssnitt kan vi komma åt smarttelefonen.
För iOS-enheter:
Automator: Med hjälp av det här verktyget kan vi dra och släppa arbetsflöden och automatisera dem.
Slutsats
Jag är säker på att du skulle ha lärt dig mer om mobilapplikationer och hur du kan gå vidare och utföra belastningstestning på mobilapplikationerna på ett perfekt sätt genom denna informativa handledning.
Vår kommande handledning kommer att informera dig om hur man utför manuell prestandatestning i enkla termer.
=> Besök här för kompletta prestandatestningsserier
PREV-handledning | NÄSTA självstudie
Rekommenderad läsning
- Testning av mobila applikationer med BlazeMeter
- Nybörjarhandboken för test av webbapplikationsprestanda med WAPT Pro
- Guide för testning av webbapplikationssäkerhet
- Prestandatestning mot belastningstestning vs stresstestning (skillnad)
- Så här får du ett mobiltestjobb snabbt - Karriärguide för mobil testning (del 1)
- Webbapplikation belastning, stress och prestanda testning med WAPT
- Hur utför man manuell prestandatestning?
- Verktyg för testning av mobila applikationer och tjänsteleverantörer