mobile application performance testing guide
Gids voor prestatietests van mobiele applicaties:
In deze Expliciete reeks tutorials over prestatietests, we verkenden het concept van Cloud-prestatietests in onze laatste tutorial.
Hier leert u wat een mobiele applicatie is, soorten mobiele applicaties, prestatietests voor mobiele applicaties, hoe u een omgeving voor het testen van de prestaties van mobiele applicaties opzet, hoe u prestatieproblemen met mobiele applicaties oplost, de betrokken uitdagingen en de beschikbare tools enz. op een gedetailleerde manier.
Klik hier voor een complete serie tutorials over prestatietests
Wat je leert:
- Overzicht
- Wat is een mobiele applicatie?
- De architectuur van mobiele applicaties
- Aanpak voor het testen van de prestaties van mobiele applicaties
- Prestatiestrategie voor mobiele applicaties
- Testomgeving voor prestaties van mobiele applicaties
- Uitdagingen voor het testen van mobiele applicaties
- Prestatieproblemen met mobiele applicaties oplossen
- Testtools voor prestaties van mobiele applicaties
- Gevolgtrekking
- Aanbevolen literatuur
Overzicht
In de technische wereld van vandaag worden mobiele applicaties veel gebruikt dan gewone desktoptoepassingen. Het aantal gebruikers dat smartphones gebruikt om toegang te krijgen tot de meeste van hun applicaties dan een desktop of laptop, is drastisch toegenomen.
Bovendien verwacht de eindgebruiker een goede reactie van de applicatie wanneer hij deze gebruikt. Daarom moet de ontwikkelaar die de mobiele applicaties bouwt hier rekening mee houden bij het ontwikkelen van de applicatie.
Prestatietests zijn nu van cruciaal belang, of het nu een gewone webtoepassing is of een toepassing op een mobiel apparaat. Als een applicatie live gaat zonder dat de prestaties zijn getest en de eindgebruiker wordt geconfronteerd met prestatieproblemen zoals een trage reactie, enz., Dan zal hij proberen een andere, betere applicatie te vinden die op een betere manier zal presteren.
Prestatietests zijn duur en het kost ook meer tijd. Daarom vermijden veel klanten het uitvoeren van prestatietests, maar dit zal veel helpen bij de problemen in de productie. Elke applicatie moet dus grondig worden getest voordat deze beschikbaar wordt gesteld aan de eindgebruiker.
Wat is een mobiele applicatie?
Mobiele applicaties zijn een reeks vooraf gedefinieerde functies die zijn ontworpen om te werken op mobiele apparaten zoals smartphones, tablets en andere featurephones. Niet alle mobiele applicaties zijn hetzelfde, er zijn drie verschillende soorten mobiele applicaties en deze zijn gebaseerd op de technologie die is gebruikt om die applicaties te ontwikkelen.
Er zijn 3 soorten mobiele applicaties:
- Native mobiele applicaties
- Webgebaseerde mobiele applicaties
- Hybride toepassingen
# 1) Systeemeigen mobiele applicaties:
Native Mobile Applications zijn die applicaties die op uw eigen smartphones of tablets draaien, ze draaien op het besturingssysteem van de mobiele apparaten. Ze bieden hoge prestaties en zijn ook erg betrouwbaar. Dit soort applicaties geeft ook toegang tot de andere applicaties op uw smartphoneapparaat, zoals foto's, adresboek enz.
Native applicaties zijn beschikbaar in de mobiele applicatie store. Voor Android hebben we Play Store en voor iPhone hebben we iTunes. Deze applicaties worden dus gedownload van hun respectievelijke winkels en op mobiele apparaten geïnstalleerd.
Voorbeelden van de native applicaties zijn een rekenmachine, kalender, Facebook-applicatie etc.
# 2) Webgebaseerde mobiele applicaties:
Webgebaseerde mobiele applicaties worden rechtstreeks vanuit de browser uitgevoerd, ze worden niet op het mobiele apparaat geïnstalleerd.
Voorbeelden van webgebaseerde mobiele applicaties zijn online games, sociale netwerksites enz.
# 3) Hybride toepassingen:
Hybride applicaties zijn vergelijkbaar met native applicaties en ze draaien in de native container, ze zijn een mix van beide applicaties en ze gebruiken de apparaatbrowser en niet de eigenlijke browser om de webpagina's van de applicatie weer te geven.
Voorbeelden van hybride applicaties zijn Instagram, Yelp etc.
De architectuur van mobiele applicaties
In de bovenstaande afbeelding smartphones en tablets vallen onder de client-side. Ze omvatten de apparaten die we meestal gebruiken, zoals de smartphones, tablets, hun netwerk zoals 3G, 4G, enz. Een besturingssysteem van de apparaten zoals Android, ios, Windows, enz.
Mobiel mobiel netwerk , Draadloos, internet en firewall vallen onder Netwerk. Voor het mobiele netwerk zien we signaalsterkte, netwerkcongestie, uitval, etc. Voor een draadloos netwerk zien we signaalsterkte, snelheid, etc.
gratis mp3-muziekdownloads voor mp3-speler
Web, App en DB komen aan de serverzijde waar het merendeel van het werk wordt gedaan.
Aanpak voor het testen van de prestaties van mobiele applicaties
Het testen van de prestaties van mobiele applicaties is anders dan het testen van de prestaties van webapplicaties. De laptops of desktops die worden gebruikt om toegang te krijgen tot de webapplicaties hebben niet veel last van slechte netwerkcondities, inclusief pakketverlies of latentie.
Terwijl in mobiele applicaties netwerkomstandigheden, pakketverlies, latentie, het type apparaat dat we gebruiken, zoals een smartphone of smart-apparaat en bandbreedte allemaal van belang zijn en we al deze factoren niet moeten negeren bij het overwegen van prestatietests van mobiele applicaties.
Voordat u uw prestatiestrategie ontwikkelt, moet u weten welk type applicatie u op uw mobiele apparaat gebruikt.
Er zijn drie soorten toepassingen:
- Browser-gebaseerde applicaties
- Native applicaties
- Hybride toepassingen
# 1) Browser-gebaseerde applicaties:
Dit soort applicaties is direct toegankelijk via een mobiele browser en er is geen extra software nodig om te downloaden of op het apparaat te installeren.
Ze zijn licht van gewicht en zijn op alle soorten apparaten zoals Android, iPhone enz. Op dezelfde stapel gebouwd. Ook de responsief webdesign beweging maakt het nog gemakkelijker om een multi-browser-gebaseerde applicatie te maken, aangezien u de applicatie naar verschillende schermformaten kunt renderen.
Dit soort applicaties heeft nadelen: ze zijn niet toegankelijk zonder een internetverbinding, ze hebben niet alle ingebouwde functies in het apparaat en ze lijken ook langzamer voor de gebruikers.
Zo. bij het testen van de prestaties van dit type applicaties is het belangrijk om de gebruikersbelasting van een mobiele browser te repliceren en het is ook belangrijk om de weergave van webpagina's op doelapparaten te testen.
# 2) Native applicaties:
Dit soort applicaties wordt op een bepaald platform gebouwd met behulp van de software die rechtstreeks op het apparaat is geïnstalleerd.
Native applicaties zijn sneller en responsiever omdat ze lokaal op het apparaat zijn gebouwd. Omdat de code op elk apparaat anders is, d.w.z. voor iPhone, Android enz., Moeten we tijdens prestatietests testen op elk platform overwegen.
# 3) Hybride toepassingen:
Hybride applicaties zijn de combinatie van zowel browser- als native applicaties. Ze zijn samengesteld uit een native shell die een snelle geïntegreerde ervaring biedt.
Terwijl prestatietests zich richten op de belasting die wordt gegenereerd door de gebruikers van een dergelijke hybride applicatie aan de serverkant, en ook de prestaties van de applicatie op het apparaat meten vanuit het perspectief van de eindgebruiker.
Dus hoe testen we deze mobiele applicaties?
Om dergelijke mobiele applicaties te testen, moeten we een omgeving bouwen met emulators en echte apparaten. Mobiele emulators zijn software die op onze laptops of desktops moet worden geïnstalleerd en die een mobiele applicatie of een mobiel platform imiteert.
Daarom kunnen we met behulp van deze emulators een aanzienlijke hoeveelheid belasting genereren voor onze belastingtests.
De andere methode is het gebruik van echte apparaten, hier hebben we het apparaat fysiek en kunnen we zien hoe de applicatie presteert op elk apparaat. Met echte apparaten hebben we niet de mogelijkheid om de belasting te genereren, wat ons belangrijkste doel is, maar om dat te doen, hebben we meerdere echte apparaten nodig.
Als u echter het gedrag van de applicatie op een specifiek apparaat wilt testen, kunt u het echte apparaat gebruiken, maar om belasting te genereren hebben we emulators nodig.
Het volgende punt dat u moet opmerken bij het testen van een mobiele applicatie, is de toegangslocatie van de eindgebruiker te kennen. Het is erg belangrijk om te weten of de gebruikers binnenkomen vanuit dezelfde stad, hetzelfde land of verspreid zijn over de wereld enz. Als we onze test of omgeving plannen zonder hier rekening mee te houden, dan zijn onze tests verkeerd.
Applicatieprestaties op een mobiele applicatie zoals een smartphone of smartapparaat worden meestal gemeten in termen van apparaatprestaties, server- / API-prestaties en netwerkprestaties.
We moeten het volgende onder elke prestatie controleren.
Apparaatprestaties:
- Opstarttijd van de applicatie
- Batterijduur tijdens het gebruik van de applicatie
- Geheugenconsumptie
- Variaties in hardware en software
- Gebruik met andere applicaties
- Een applicatie die op de achtergrond draait
Server / API-prestaties:
- Gegevens van en naar de server.
- API-aanroepen gegenereerd
- Server downtime
Netwerkprestaties:
- Pakketverlies
- Netwerksnelheid
Daarom moet u bij het schrijven van de aanpak voor het testen van de prestaties van mobiele applicaties rekening houden met alle bovenstaande punten en overeenkomen met uw projectomvang en vereisten.
Prestatiestrategie voor mobiele applicaties
Performance Test Approach verschilt per type mobiele applicatie. De aanpak verschilt van de ene applicatie tot de andere, aangezien elke applicatie is ontwikkeld met verschillende componenten en het verwerkingsmechanisme voor elk verschillend is.
Browser-gebaseerde mobiele applicaties werken anders dan de gewone webbrowser-applicatie. Dit gedrag is te wijten aan de bandbreedte van het dataplan dat de eindgebruiker gebruikt en is ook afhankelijk van de configuratie op de mobiele apparaten.
De kosten voor het ontwikkelen van dit type browsergebaseerde applicatie zullen lager zijn, aangezien het ontwikkelingswerk zou zijn om de compatibiliteit ervan met de browsers die beschikbaar zijn op mobiele apparaten te controleren.
Daarom moeten we voor prestatietests, zoals mobiele browsergebaseerde applicaties, de gebruikersbelasting van de browser repliceren. We kunnen dit doen door emulators of andere aanvullende componenten te gebruiken. Afgezien van de gebruikersbelasting op de mobiele browsers, moeten we ook de weergave van webpagina's op de apparaten testen.
De ontwikkelingskosten van native mobiele applicaties zijn meer. De applicaties worden rechtstreeks op het apparaat geïnstalleerd waardoor de gebruikerservaring beter wordt, maar de applicatie is platformafhankelijk.
Dus als we de prestaties in dit soort applicaties willen testen, moeten we alle platforms van de mobiele apparaten zoals Android, iOS, Windows enz.Testen, en ook op alle soorten apparaten zoals smartphones, tablets enz.
Hybride mobiele applicaties zijn een combinatie van zowel op browser gebaseerde mobiele applicaties als native mobiele applicaties, daarom moeten we hier de gebruikersbelasting op de server testen en we moeten ook een volledige prestatietest uitvoeren op alle mobiele apparaten en platforms.
Voor elke toepassing op het mobiele apparaat zijn er twee belangrijke factoren die de prestaties van de eindgebruiker beïnvloeden:
- Verzoek op het mobiele apparaat
- De paginaweergave op het mobiele apparaat
# 1) Verzoek op het mobiele apparaat:
Hieronder wordt het verzoek afgeleverd bij de server en wordt het serverantwoord gegenereerd op basis van het ontvangen verzoek. Zodra het antwoord op de server is gegenereerd, wordt dit antwoord teruggestuurd naar het mobiele apparaat dat het eerste verzoek heeft verzonden.
Hier zijn de parameters die moeten worden onderzocht de serverbelasting, de verschillende netwerktypes zoals 3G, 4G enz., De belasting van elk netwerk en alle andere componenten.
We kunnen deze testen door emulators te gebruiken, d.w.z. we kunnen de scripts genereren en emulators gebruiken om de gebruikersbelasting op de server na te bootsen.
# 2) Paginaweergave op het mobiele apparaat:
Paginaweergave op het mobiele apparaat is niets anders dan het antwoord dat wordt ontvangen van de server voor het verzoek dat we hebben verzonden vanuit onze mobiele applicatie.
Hier zijn de parameters die moeten worden bekeken het besturingssysteem van het apparaat, de configuratie-instelling van het mobiele apparaat, enz. We kunnen deze testen door daadwerkelijk in te loggen op het mobiele apparaat en ze te monitoren.
Laten we nu elke stap in de bovenstaande afbeelding nader bekijken:
a) Creëer real-time gebruikersscenario's:
Net als bij de reguliere webbrowser-applicaties, moeten we de scenario's of de omstandigheden die op de server worden verwacht in realtime identificeren. Er zullen veel scenario's worden getest.
Laten we een toestand aannemen waarin er een webtoepassing is die zowel op desktops als op mobiele apparaten beschikbaar is, en ook native is op Android- en ios-apparaten. Hier moeten we een testscript ontwikkelen op basis van het toegangstype van de applicatie. Daarom moeten we het afzonderlijk op elk apparaat testen.
We moeten ook rekening houden met het werkbelastingspatroon voor dat scenario, d.w.z. we moeten begrijpen hoe de belasting over elk apparaat wordt verdeeld. Bijvoorbeeld, 500 gebruikers krijgen toegang tot de applicatie via internet, ongeveer 100 zullen een native applicatie op hun ios-apparaat gebruiken en nog eens 200 zullen de applicatie openen vanaf hun native apparaat op een Android-applicatie.
We moeten ook rekening houden met de geografische locaties van de belasting op de server. Bijvoorbeeld, 30% van de gebruikers heeft toegang vanuit de VS, 50% vanuit India en rust 20% vanuit andere locaties. Het is verplicht om verschillende gebruikerslocaties na te bootsen, aangezien dit een zeer grote impact heeft op de servers.
Alles 100% testen vanaf één locatie levert verkeerde resultaten op. Het is dus aan te raden om de belasting van de servers te testen door een andere locatie op te geven. De cloudoplossing kan worden gebruikt om verschillende geografische locaties na te bootsen.
b) Creëer real-time netwerkvoorwaarden:
Hier moeten we verschillende netwerkomstandigheden creëren en ook de kwaliteit van het netwerk, zoals 3G-netwerk, 2G-netwerk, Wi-Fi met de beste snelheid, gemiddelde snelheid en lage snelheid. We moeten netwerkemulatie uitvoeren om netwerkvoorwaarden te creëren.
We moeten de prestaties ook testen door 50% bandbreedtecondities te geven, we kunnen dit bereiken door netwerkemulatie uit te voeren. We kunnen elk hulpmiddel gebruiken, zoals Windtunnel, Shunra, enz.
Test ook het netwerk met betrekking tot verschillende geografische gebieden, zoals het 3G-netwerk in Bangalore. 4G in Hyderabad enz. Ook hier moeten we netwerkemulatie uitvoeren met behulp van de juiste tools.
c) Creëer real-time apparaatcondities:
Dit is niets anders dan het type applicatie op het mobiele apparaat, zoals of het een Thin client-applicatie of een Thick-client-applicatie is, wat is het besturingssysteem op het mobiele apparaat, het apparaattype zoals iPhone, Nokia etc., en elke andere applicatie die parallel lopen tijdens het gebruik van deze specifieke applicatie enz., moet ook worden getest als onderdeel van de scenario's.
d) Test de prestaties van elk onderdeel:
Nadat we alle bovenstaande scenario's hebben gemaakt, moeten we de toepassing testen, inclusief alle software en hardware. Verzamel nu alle benodigde statistieken tijdens de belastingstest.
Enkele van de metrische gegevens aan de serverzijde die moeten worden verzameld, zijn CPU-gebruik, CPU-belasting, verwerkingstijd, totaal aantal beschikbare bytes, verzonden pakketten, ontvangen pakketten enz.
Enkele van de netwerkstatistieken die moeten worden verzameld, zijn pakketten en bytes die via het netwerk worden verzonden, pakketten en bytes die via het netwerk worden ontvangen, pakketten die zijn verwijderd en de totale gemiddelde vertraging.
Te verzamelen apparaatstatistieken zijn CPU, geheugengebruik, responstijd enz. En meten ook alle reactietijden en doorvoer van transacties.
Testomgeving voor prestaties van mobiele applicaties
Voordat we de prestatietestomgeving voor een mobiele applicatie opzetten, moeten we weten wat de mobiele applicaties zijn die worden getest, welke besturingssystemen of apparaten worden getest en ook wat de verschillende geografische locaties zijn.
Daarom moeten we eerst een omgeving creëren die bestaat uit emulators en echte apparaten. Dus wat is een emulator? Een emulator is software die op onze laptops of desktopcomputers kan worden geïnstalleerd en deze fungeren als mobiele apparaten. We kunnen een enorme belasting genereren met deze emulators, daarom kunnen we ze het beste gebruiken voor het testen van alle mobiele applicaties.
Aan de andere kant zijn Real Devices fysieke mobiele apparaten. We moeten dus het toepassingsgedrag op elk apparaat en op elk netwerk verifiëren. Maar we zullen de bandbreedte, pakketverlies enz. Niet kunnen testen wanneer meerdere apparaten op hetzelfde netwerk zijn aangesloten en dezelfde applicatie gebruiken.
Het volgende dat u moet overwegen, is de geografische locatie van de applicatieapparaten, dit is een verplicht en zeer belangrijk aspect om rekening mee te houden, anders zullen onze testresultaten niet zijn zoals wat er in het echte wereldscenario gebeurt.
Dus als u al het bovenstaande hebt geanalyseerd, selecteert u de respectieve loadtesttool om de prestatietests uit te voeren.
Uitdagingen voor het testen van mobiele applicaties
De uitdagingen waarmee we worden geconfronteerd bij het testen van mobiele applicaties, zijn onder meer:
- Wanneer we onze applicatie op verschillende mobiele apparaten moeten testen, moeten we alle apparaten zoals IOS, Android, Windows enz. Organiseren.
- Netwerksimulatie is een andere uitdaging waarmee we te maken zullen krijgen, d.w.z. we moeten netwerken zoals 3G-, 2G-, 4G- en wifi-netwerken simuleren.
- Het geheugen dat beschikbaar is op de mobiele apparaten om de testruns uit te voeren.
- De batterijduur van de mobiele apparaten.
Prestatieproblemen met mobiele applicaties oplossen
Nadat de test is voltooid, is het tijd om de bottleneck in de prestaties te verzamelen die tijdens de test zijn geïdentificeerd. Zodra de problemen zijn geconsolideerd, moeten we de hoofdoorzaak van het probleem identificeren en deze oplossen.
Laten we eens kijken naar enkele prestatieproblemen met mobiele applicaties:
- Een vertraging in de reactie van de mobiele applicatie: Deze vertraging wordt meestal veroorzaakt door het geheugen of door caching. In dergelijke gevallen is het raadzaam om de cache te wissen en de test opnieuw uit te voeren.
- Applicatie wordt enige tijd opnieuw opgestart, opgehangen of loopt vast: Controleer in dergelijke gevallen de software alsof er updates nodig zijn, controleer de applicatiecode voor eventuele optimalisatie, het afhandelen van de caching zijn enkele gebieden die moeten worden onderzocht.
Testtools voor prestaties van mobiele applicaties
De tools kunnen variëren afhankelijk van het type apparaat en platform.
Enkele van de meest gebruikte tools worden hieronder gegeven.
Voor Android-apparaten:
robots: Met behulp van deze tool kunnen we de verschillende stappen voor het uitvoeren van de test opnemen en opnieuw afspelen. Klik hier voor een Robotium tutorial
Aap Runner Met behulp van deze tool kunnen we onze tests op de apparaten uitvoeren door ze op een desktop aan te sluiten. Met behulp van de interface van de tool hebben we toegang tot de smartphone.
Voor iOS-apparaten:
Automatiseerder: Met deze tool kunnen we de workflows slepen en neerzetten en automatiseren.
Gevolgtrekking
Ik weet zeker dat u via deze informatieve tutorial meer zou hebben geleerd over mobiele applicaties en hoe u door kunt gaan en belastingtests kunt uitvoeren op de mobiele applicaties.
Onze aanstaande tutorial zal u in eenvoudige bewoordingen informeren over het uitvoeren van handmatige prestatietests.
Bezoek hier voor een complete serie tutorials over prestatietests
PREV-zelfstudie VOLGENDE zelfstudie
Aanbevolen literatuur
- Prestatietests van mobiele applicaties met BlazeMeter
- De beginnershandleiding voor het testen van webapplicaties met WAPT Pro
- Handleiding voor het testen van webapplicaties
- Prestatietests versus belastingtests versus stresstests (verschil)
- Snel een baan voor mobiel testen krijgen - Loopbaangids voor mobiel testen (deel 1)
- Webapplicatie laden, stress en prestatie testen met behulp van WAPT
- Hoe voer ik handmatige prestatietests uit?
- Tools en serviceproviders voor het testen van penetratie van mobiele applicaties