What are the test scenarios for performance testing in a mobile application?

Loadtest dine mobilapps med JMeter

19/03/2024

Rating: 4.2 (4218 votes)

I en tid hvor mobilapplikationers ydeevne er afgørende, fremstår Apache JMeter som et kraftfuldt værktøj til at udføre grundige loadtests. Denne tekniske guide dykker ned i brugen af JMeter til at simulere realistisk brugertrafik og netværksforhold, og analyserer kritisk, hvordan en mobilapp klarer sig under varierende belastningsscenarier. Processen indebærer at konfigurere JMeter til mobile miljøer, opsætte proxy-indstillinger for nøjagtig request-opsnapning og udarbejde realistiske brugerinteraktionsscripts. Formålet er at afdække performance-metrikker, såsom responstider og fejlfrekvenser, som er essentielle for at identificere skalerbarheds- og effektivitetsproblemer. Denne omfattende tilgang sikrer, at din mobilapp ikke kun er funktionel, men også robust under tung brugerbelastning, hvilket er nøglen til at bevare en konkurrencemæssig fordel i det dynamiske app-marked.

How to perform a load test on mobile applications using Apache JMeter?
To perform a load test on mobile applications using Apache JMeter, you’ll need to set up JMeter and configure your mobile device to connect through a proxy. Here’s a summarized guide based on information from multiple sources: Install Apache JMeter: Ensure Java Development Kit (JDK) is installed on your PC. Download Apache JMeter and run it.
Indholdsfortegnelse

Forståelse af Load Testing og dets Betydning for Mobilapps

Load testing indebærer at simulere realistiske brugsscenarier for at evaluere, hvordan en applikation opfører sig under forskellige niveauer af efterspørgsel. For mobilapps kan faktorer som netværksforsinkelse, varierende enheders kapaciteter og svingende brugerbelastninger have en betydelig indvirkning på ydeevnen. Load testing hjælper med at identificere potentielle flaskehalse, såsom serveroverbelastning eller ineffektiv kode, hvilket giver udviklere mulighed for at optimere deres apps for en bedre brugeroplevelse. Det gør dem i stand til at forudse og adressere performanceproblemer, før de påvirker slutbrugerne, og dermed forbedre pålideligheden og tilfredsheden.

Kom godt i gang med Apache JMeter

Apache JMeter er et open-source, Java-baseret værktøj, der er kendt for sin alsidighed inden for performance testing, herunder load testing af mobilapplikationer. Nedenfor er en guide, der kan hjælpe dig med at komme i gang med Apache JMeter:

  • Download og Installer Apache JMeter: Besøg det officielle Apache JMeter-websted og download den seneste version. Installationsinstruktioner er tilgængelige for forskellige operativsystemer, hvilket sikrer en problemfri opsætning.
  • Gør dig bekendt med interfacet: Apache JMeter har en brugervenlig grænseflade med forskellige komponenter såsom Thread Group, Samplers, Logic Controllers og Listeners. Forståelse af disse komponenter er afgørende for at skabe effektive testplaner.
  • Forbered din mobilapp til test: Sørg for, at din mobilapp er klar til test ved at implementere den i et testmiljø, der er tilgængeligt for Apache JMeter. Dette kan involvere konfiguration af netværket.

JMeter Konfigurationer

For at udføre en loadtest på mobilapplikationer ved hjælp af Apache JMeter, skal du opsætte JMeter og konfigurere din mobile enhed til at oprette forbindelse via en proxy. Her er en opsummeret guide baseret på information fra flere kilder:

  1. Installer Apache JMeter: Sørg for, at Java Development Kit (JDK) er installeret på din PC. Download Apache JMeter og kør det.
  2. Konfigurer JMeter til optagelse:
    • Tilføj en Thread Group til din Test Plan i JMeter.
    • Tilføj en Logic Controller, såsom en Recording Controller, til Thread Group.
    • Tilføj en Listener, som f.eks. View Results Tree, for at observere requests og responses.
    • Tilføj en HTTP(S) Test Script Recorder til din Test Plan. Indstil porten (f.eks. 8080 eller 8888), der skal bruges til optagelse.
  3. Konfigurer mobil enhed til proxy:
    • Forbind både din PC og din mobile enhed til det samme Wi-Fi-netværk.
    • På din mobile enhed skal du gå til Wi-Fi-indstillingerne og ændre netværksindstillingerne for at bruge en manuel proxy.
    • Indstil proxy-hostnavnet til din PC's IP-adresse og proxy-porten til den, du har specificeret i JMeter.
  4. Installer JMeter's certifikat på mobil enhed:
    • Find filen ApacheJMeterTemporaryRootCA.crt i JMeters bin-mappe.
    • Overfør og installer dette certifikat på din mobile enhed. Du skal muligvis indstille en skærmlås-adgangskode, hvis du bliver bedt om det.
  5. Optag mobil app-trafik:
    • Start HTTP(S) Test Script Recorder i JMeter.
    • Betjen mobilappen som normalt. JMeter vil optage HTTP-requests, som appen foretager.
    • Stop optagelsen i JMeter, når du er færdig, og gem Test Planen.
  6. Kør og analyser Test Planen:
    • Udfør den optagede script i JMeter.
    • Brug View Results Tree Listener til at analysere responserne for hver request.

En videoguide til at gøre processen klarere kan findes her.

Design af Effektive Load Test Planer

At skabe omfattende load test-planer er essentielt for at opnå meningsfuld indsigt i din mobilapps ydeevne. Her er en trinvis guide til at designe effektive load test-planer ved hjælp af Apache JMeter:

  • Identificer testscenarier: Start med at identificere de vigtigste bruger-scenarier eller arbejdsgange i din mobilapp. Disse kan omfatte handlinger som login, produktbrowsing, køb eller interaktion med multimedieindhold.
  • Definer brugeradfærdsprofiler: Bestem fordelingen af brugerinteraktioner baseret på faktorer som frekvens, samtidighed og varighed. Dette hjælper med at simulere realistiske brugsmønstre under loadtests.
  • Konfigurer Thread Groups: Thread Groups i Apache JMeter giver dig mulighed for at definere antallet af virtuelle brugere (threads) og deres adfærd. Juster parametre som ramp-up time og loop counts for at simulere gradvise stigninger i brugerbelastningen.
  • Vælg passende Samplers: Samplers repræsenterer forskellige typer af requests sendt til serveren, såsom HTTP requests til REST API'er eller JDBC requests til databaseinteraktioner. Vælg de relevante samplers baseret på din mobilapps arkitektur og funktionaliteter.
  • Tilføj Timers og Logic Controllers: Timers hjælper med at introducere forsinkelser mellem brugerhandlinger, hvilket efterligner reel brugeradfærd. Logic Controllers muliggør betinget og iterativ udførelse af teste-elementer, hvilket forbedrer testens realisme og fleksibilitet.
  • Konfigurer Assertions: Assertions verificerer korrektheden af serverresponser og sikrer, at mobilappen fungerer som forventet under belastning. Definer assertions for at validere responsstatuskoder, indhold eller performance-tærskler.
  • Opsæt Listeners til Resultatanalyse: Listeners indsamler og viser testresultater i forskellige formater, herunder tabeller, grafer og oversigtsrapporter. Vælg passende listeners til at overvåge nøgleperformance-metrikker som responstider, throughput og fejlfrekvenser.

Udførelse og Analyse af Load Tests

Når din load test-plan er konfigureret, er det tid til at udføre testene og analysere resultaterne. Følg disse trin for at udføre load tests ved hjælp af Apache JMeter:

  1. Start Testen: Kør load test-planen inden for Apache JMeter ved at klikke på “Start”-knappen. Overvåg fremskridtet, mens virtuelle brugere simulerer brugerinteraktioner med mobilappen.
  2. Overvåg Systemressourcer: Hold øje med systemressourceudnyttelsen under loadtests, herunder CPU, hukommelse og netværksbåndbredde. Overdreven ressourceforbrug kan indikere performance-flaskehalse, der kræver opmærksomhed.
  3. Indsaml og Analyser Resultater: Efter at loadtesten er afsluttet, gennemgå de indsamlede resultater fra Apache JMeters listeners. Vær opmærksom på performance-metrikker som responstider, latens, throughput og fejlfrekvenser. Identificer eventuelle anomalier eller forbedringsområder.
  4. Generer Rapporter: Apache JMeter tilbyder indbyggede rapporteringsfunktioner til at generere omfattende testrapporter i formater som HTML, CSV eller XML. Del disse rapporter med interessenter for effektivt at kommunikere testresultater og anbefalinger.

Sammenfatning

Efter at have forstået hele processen, kan vi konkludere visse fordele forbundet med JMeter mobil performance testing:

  • Nul investering, da det er et open-source værktøj!
  • Tilgængelig på både Android og iOS enheder.
  • Det mest enkle og effektive værktøj til at tjekke mobil performance.
  • Det er meget brugervenligt og har en interaktiv brugergrænseflade.

Forhåbentlig vil du efter at have gennemgået denne guide være i stand til at optage en JMeter-script til mobil performance testing.

Ofte Stillede Spørgsmål (FAQ)

Hvordan laver man en loadtest i JMeter?

I den stadigt voksende teknologiske verden ved vi alle, hvor vigtige mobilapps er i vores liv. Derfor bliver det nødvendigt at teste mobilappens ydeevne i denne voksende æra af mobilapps. De fleste af os er måske ikke klar over, at JMeter også kan bruges til performance testing af Android/iOS apps. Det svarer til at optage scripts, ligesom i tilfældet med webapps. Alt, hvad vi behøver at gøre, er at konfigurere den korrekte proxy på mobile enheder. Optagelse af mobil app-trafik er ikke anderledes; vi skal blot foretage nogle konfigurationer relateret til proxy for mobilapps. Den resterende del er den samme som at optage en webapplikations-script. Følg trinene nedenfor for Android- eller iOS-mobilapps.

Start din JMeter. Højreklik på Test Plan >> Tilføj >> Threads (Users) >> Tilføj Thread Group. Højreklik på thread group >> Tilføj >> Logic Controller >> Tilføj Recording Controller. Højreklik på Threads>>Tilføj>>Listener>>View Results Tree (for at se resultatet af dit script). Tilføj > Non-Test Elements > Tilføj HTTP’s test script recorder. Gå til HTTP(s) Test Script Recorder og sæt porten til 8888 (eller en hvilken som helst tilgængelig port). Klik på Start-knappen, der vises på HTTP(S) Script Recorder Dialogboksen, som åbnes for at tillade Root CA Certificate, og klik blot på “OK”-knappen.

How to do a load test in JMeter?
Before running any application on the device, make sure you click the ‘Start’ button on the HTTP (S) Test Script Recorder in JMeter. Open the mobile application for which you want to do the load test, and play with the functionality the way you want to record functionality in JMeter.

Hvordan finder man sin IP-adresse?

For at finde din IP-adresse skal du starte kommandoprompten og skrive ipconfig for Windows / ifconfig for Linux, og trykke på ENTER-knappen for at få IP-adressen. Vi vil bruge denne IP-adresse på vores mobile enhed - iOS eller Android-telefon til at opsætte proxyen. Først skal du bruge et passende Apache JMeter Temporary Root CA Certificate til at gemme det på din telefon. Download zip-filen til certifikatet til dit ønskede operativsystem og gem den i posten. Installer certifikatet via post på din mobile enhed. Det vil bede om at anvende en lås. Derefter vises en meddelelse, der angiver, at netværket kan overvåges. Lad os nu starte den faktiske konfigurationsproces for mobilen.

Android enhed proxy konfiguration:

På Android mobil enhed, gå til Indstillinger > Wi-Fi-indstilling (delt Wi-Fi-netværk skal være det samme for både mobil og PC, hvor JMeter er installeret). Langt tryk på din nuværende netværksforbindelse og klik på 'Ret netværk'-indstillingen. Marker afkrydsningsfeltet for 'Avancerede indstillinger'. Dette åbner de avancerede indstillinger, hvorfra vi kan ændre proxyen manuelt. For dette, sæt 'Proxy'-indstillingen til 'Manuel'. Indstil nu 'Proxy Hostname' som din PC's IP-adresse og 'Proxy Port' til 8888, som vi har sat op i JMeter proxy-serveren. Gem de ændringer, du har foretaget. Nu kan du begynde at køre applikationen på din mobile enhed, og dens requests vil automatisk blive optaget i JMeter.

iOS enhed konfiguration:

På iOS enhed, gå til Indstillinger > Wi-Fi-indstilling (delt Wi-Fi-netværk skal være det samme for både mobil og PC, hvor JMeter er installeret). Klik på den tilsluttede netværk. Vælg 'Manuel' som HTTP Proxy. Indstil 'Server' som din PC's IP-adresse og 'Port' til 8888 (eller en hvilken som helst tilgængelig port) som JMeter proxy-serveren. Installer det downloadede certifikat til iOS.

Start optagelse af din mobile webapplikation

Nu bør du have forstået den mobile konfigurationsproces. Nu er det tid til at åbne den webapplikation, du normalt skal teste og bruge. Start applikationen på mobilen, og hver request vil blive optaget i JMeter. Før du kører nogen applikation på enheden, skal du sørge for at klikke på 'Start'-knappen på HTTP(S) Test Script Recorder i JMeter. Åbn mobilapplikationen, som du vil udføre loadtesten for, og leg med funktionaliteten, som du ønsker at optage funktionalitet i JMeter. Da vi har sat mobilforbindelsen til JMeters proxy, bliver alle testflows dermed optaget i JMeters testplan. Når du har optaget hele testflowet for din applikation, skal du stoppe optagelsen med 'Stop'-knappen på 'HTTP(S) Test Script Recorder' i JMeter og gemme testplanen. Kør nu din testplan ved at klikke på 'Afspil'-knappen, der vises i grønt øverst. Dette vil køre det optagede script i henhold til din trådsopsætning. Efter at have afspillet testplanen, kan du se responsen af hver request i 'view result tree'-listeneren. Dit script er klar til at køre loadet. Du kan yderligere forfine det ved at tilføje korrelation, parameterisering osv.

Hvordan udfører man performance testing på en mobilapp?

JMeter er en Open Source Java-applikation designet til at måle ydeevne og loadteste applikationer. Apache JMeter kan måle ydeevne og loadteste statiske og dynamiske webapplikationer. Den kan bruges til at simulere en tung belastning på en server, en gruppe servere, et netværk eller et objekt for at teste dets styrke eller for at analysere den samlede ydeevne under forskellige belastningstyper. Performance testing på din mobilapp er nem at opnå ved hjælp af JMeter, som vil hjælpe med at optage mobil app-trafik. Alt, hvad der kræves, er en vis konfiguration af proxyen for mobilapps.

How to perform performance testing on a mobile app?
Performance testing on your Mobile App is easy to achieve using JMeter which will help to record mobile application traffic. All that is required is some configuration of the proxy for mobile applications.

Opsætning af JMeter Konfiguration

Følg nedenstående trin for opsætning af JMeter Konfiguration:

  1. Start JMeter. Giv din Test Plan et navn. Højreklik på Test Plan > Tilføj > Threads (Users) > Thread Group.
  2. Højreklik på Thread group > Tilføj > Logic Controller > Recording Controller.
  3. Højreklik på Threads > Tilføj > Listener > View Results Tree. Dette vil hjælpe med at vise resultatet af testresultatet.
  4. Tilføj > Non-Test Elements > Tilføj HTTP’s test script recorder.
  5. Gå til Global settings og sæt porten til 8888 (eller en hvilken som helst tilgængelig port). Vælg Target Controller fra rullemenuen.
  6. Klik derefter på Start-knappen, der vises på HTTP(S) Test Script Recorder, og en dialogboks åbnes, der tillader Root CA Certificate. Klik derefter på “OK”-knappen.

Installation af JMeter Certifikatet

For at fortsætte med Apache Jmeter load testing skal du gøre følgende:

  • I Firefox: Gå til Privacy & Security > Importer > naviger til JMeter-startmappen, og klik på filen ApacheJMeterTemporaryRootCA.crt, tryk på Åbn. Klik på Vis og kontroller, at certifikatdetaljerne stemmer overens med dem, der vises af JMeter Test Script Recorder. Hvis det er det samme, skal du vælge “Trust this CA to identify web sites“, og klikke OK.
  • I Chrome og Internet Explorer: Du kan også installere certifikatet på samme måde ved at gå til Privacy and Security og klikke på Manage certificates. Klik på Importer og naviger til JMeter-startmappen, og klik på filen ApacheJMeterTemporaryRootCA.crt, og åbn den. Du kan også klikke på fanen “Details” og bekræfte, at certifikatdetaljerne stemmer overens med dem, der vises af JMeter Test Script Recorder.

Konfigurer proxyen på din Smartphone

Som en del af Apache JMeter Load Testing konfigurerer du en proxy på den mobile enhed. Dette afskærer al trafik og fokuserer på mobil app-data under afspilning af Text script recorder på Windows. Resultaterne rapporteres derefter til JMeter for dybdegående analyse. Hvis du vil bruge en emulator som din mobile enhed, skal du konfigurere de samme proxy-indstillinger på emulatoren.

Gå til indstillinger og find de trådløse netværk, du er forbundet til. Venstreklik og hold dette netværk nede, vent på, at menuen popper op, og vælg derefter Ret netværk. Klik på dropdown i avancerede indstillinger. I Proxy dropdown-menuen vælg Manuel. Bekræft dit system IP ved hjælp af ipconfig-kommandoen i kommandoprompten. Kopier det og indsæt det i Proxy hostname på din emulator. Sørg for at indtaste den samme Proxy Port med den samme, som du indtaster i HTTP(S) Test Script Recorder indstillingerne i Apache JMeter. Lad DHCP-værdien være dynamisk og klik på gem.

Opsætning af JMeter på Mobil

Efter installation af JMeter Certifikatet på dit Windows-system skal du kopiere Apache JMeter-certifikatet til din smartphone eller til den emulator, du planlægger at bruge. Filen hedder ApacheJMeterTemporaryRootCA.crt. og kan findes i JMeter-installationsmappens bin-mappe. Følg trinene nedenfor for korrekt at installere certifikatet på din mobile enhed, ikke kun køre certifikatfilen.

Gå til din telefon eller emulatorindstillinger > Sikkerhed > Installer fra SD-kort. Sørg for, at du allerede har kopieret filen til denne placering, og husk, at denne indstilling kan variere fra enhed til enhed. Find Apache JMeter-certifikatet, som du kopierede til SD-kortet, og klik på det. Du skal indtaste navnet på certifikatet. Klik OK for at bekræfte installationen af certifikatet. Fortsæt med at opsætte en skærmlås-adgangskode af sikkerhedsmæssige årsager. Efter alle disse konfigurationer kan du derefter køre testen og fange rapporten, idet du sikrer dig, at Proxy er sat til ON.

Hvis du vil læse andre artikler, der ligner Loadtest dine mobilapps med JMeter, kan du besøge kategorien Teknologi.

Go up