mobile application performance testing guide
Guida al test delle prestazioni delle applicazioni mobili:
In questo Gamma esplicita di tutorial sul test delle prestazioni, abbiamo esplorato il concetto di Test delle prestazioni del cloud nel nostro ultimo tutorial.
Qui imparerai cos'è un'applicazione mobile, i tipi di applicazioni mobili, l'approccio all'applicazione mobile per il test delle prestazioni, come configurare un ambiente per il test delle prestazioni delle applicazioni mobili, come risolvere i problemi di prestazioni con le applicazioni mobili, le sfide coinvolte e gli strumenti disponibili ecc. in modo dettagliato.
=> Fare clic qui per una serie completa di esercitazioni sui test delle prestazioni
Cosa imparerai:
- Panoramica
- Cos'è un'applicazione mobile?
- L'architettura delle applicazioni mobili
- Approccio al test delle prestazioni delle applicazioni mobili
- Strategia per le prestazioni delle applicazioni mobili
- Ambiente di test delle prestazioni delle applicazioni mobili
- Sfide del test delle prestazioni delle applicazioni mobili
- Risoluzione dei problemi di prestazioni con le applicazioni mobili
- Strumenti di test delle prestazioni delle applicazioni mobili
- Conclusione
- Lettura consigliata
Panoramica
Nel mondo tecnologico di oggi, le applicazioni mobili sono ampiamente utilizzate rispetto alle normali applicazioni desktop. Il numero di utenti che utilizzano gli smartphone per accedere alla maggior parte delle loro applicazioni rispetto all'utilizzo di un desktop o di un laptop è aumentato drasticamente.
Inoltre, l'utente finale si aspetterà una buona risposta dall'applicazione quando la utilizza. Pertanto, lo sviluppatore che crea le applicazioni mobili deve tenerlo presente durante lo sviluppo dell'applicazione.
Ora il test delle prestazioni è fondamentale sia che si tratti di una normale applicazione web o di un'applicazione su un dispositivo mobile. Se un'applicazione viene avviata senza essere stata testata e se l'utente finale deve affrontare problemi di prestazioni come una risposta lenta, ecc., Allora proverà a trovare un'altra applicazione migliore che funzionerà in modo migliore.
Il test delle prestazioni è costoso e richiede anche più tempo. Quindi molti clienti evitano di andare a test delle prestazioni, ma questo aiuterà molto con i problemi in produzione. Pertanto, qualsiasi applicazione deve essere testata accuratamente prima di essere resa disponibile all'utente finale.
Cos'è un'applicazione mobile?
Le applicazioni mobili sono un insieme di funzioni predefinite progettate per funzionare su dispositivi mobili come smartphone, tablet e altri feature phone. Non tutte le applicazioni mobili sono uguali, esistono tre diversi tipi di applicazioni mobili e si basano sulla tecnologia utilizzata per sviluppare tali applicazioni.
3 tipi di applicazioni mobili includono:
- Applicazioni mobili native
- Applicazioni mobili basate sul Web
- Applicazioni ibride
# 1) Applicazioni mobili native:
Le applicazioni mobili native sono quelle applicazioni che vengono eseguite sui propri smartphone o tablet, vengono eseguite sul sistema operativo dei dispositivi mobili. Forniscono prestazioni elevate e sono anche molto affidabili. Questo tipo di applicazioni accede anche alle altre applicazioni sul tuo smartphone come foto, rubrica, ecc.
Le applicazioni native sono disponibili nell'archivio di applicazioni mobili. Per Android, abbiamo Play Store e per iPhone abbiamo iTunes. Quindi queste applicazioni vengono scaricate dai rispettivi store e installate sui dispositivi mobili.
Esempi delle applicazioni native sono una calcolatrice, un calendario, un'applicazione Facebook ecc.
come aprire il file.dat su iPhone
# 2) Applicazioni mobili basate sul Web:
Le applicazioni mobili basate sul Web vengono eseguite direttamente dal browser, non vengono installate sul dispositivo mobile.
Esempi delle applicazioni mobili basate sul Web sono giochi online, siti di social network, ecc.
# 3) Applicazioni ibride:
Le applicazioni ibride sono simili alle applicazioni native e vengono eseguite all'interno del contenitore nativo, sono un mix di entrambe le applicazioni e utilizzano il browser del dispositivo e non il browser effettivo per eseguire il rendering delle pagine Web dell'applicazione.
Esempi dell'applicazione ibrida sono Instagram, Yelp ecc.
L'architettura delle applicazioni mobili
Nella figura sopra , smartphone e tablet rientrano nel lato client. Includono i dispositivi che usiamo solitamente come smartphone, tablet, la loro rete come 3G, 4G, ecc. Un sistema operativo dei dispositivi come Android, ios, Windows, ecc.
Rete cellulare mobile , Wireless, Internet e Firewall rientrano in Rete. Per la rete cellulare, vediamo la potenza del segnale, la congestione della rete, i dropout, ecc. Per una rete wireless, vediamo la potenza del segnale, la velocità, ecc.
Web, App e DB arrivano sul lato server dove viene svolta la maggior parte del lavoro.
Approccio al test delle prestazioni delle applicazioni mobili
Il test delle prestazioni delle applicazioni mobili è diverso dal test delle prestazioni delle applicazioni web. I laptop oi desktop utilizzati per accedere alle applicazioni Web non soffrono molto delle cattive condizioni di rete, inclusa la perdita di pacchetti o la latenza.
Considerando che nelle condizioni della rete delle applicazioni mobili, la perdita di pacchetti, la latenza, il tipo di dispositivo che stiamo utilizzando come uno smartphone o un dispositivo intelligente e la larghezza di banda sono tutti fattori importanti e non dovremmo ignorare tutti questi fattori mentre consideriamo i test delle prestazioni delle applicazioni mobili.
Prima di sviluppare la tua strategia di performance dovresti capire quale tipo di applicazione stai eseguendo sul tuo dispositivo mobile.
Esistono tre tipi di applicazioni:
- Applicazioni basate su browser
- Applicazioni native
- Applicazioni ibride
# 1) Applicazioni basate su browser:
È possibile accedere direttamente a questo tipo di applicazioni tramite un browser per dispositivi mobili e non è necessario scaricare o installare alcun software aggiuntivo sul dispositivo.
Sono leggeri e sono costruiti sullo stesso stack in tutti i tipi di dispositivi come Android, iPhone ecc. Inoltre, il web design reattivo il movimento rende ancora più semplice la creazione di un'applicazione basata su più browser poiché è possibile eseguire il rendering dell'applicazione su schermi di dimensioni diverse.
Questo tipo di applicazioni presenta degli svantaggi in quanto non è possibile accedervi senza una connessione Internet, non hanno tutte le funzionalità integrate nel dispositivo e tendono anche ad apparire più lente agli utenti.
Così. durante il test delle prestazioni di questo tipo di applicazioni, è importante replicare il carico dell'utente da un browser mobile ed è anche importante testare il rendering della pagina web sui dispositivi di destinazione.
# 2) Applicazioni native:
Questo tipo di applicazioni sono costruite su una particolare piattaforma utilizzando il software installato direttamente sul dispositivo.
Le applicazioni native sono più veloci e più reattive in quanto vengono create localmente sul dispositivo. Poiché il codice su ciascun dispositivo è diverso, ad esempio per iPhone, Android, ecc., Durante i test delle prestazioni dobbiamo prendere in considerazione i test su ciascuna piattaforma.
# 3) Applicazioni ibride:
Le applicazioni ibride sono la combinazione di applicazioni browser e native. Sono composti da una shell nativa che fornisce un'esperienza integrata veloce.
Mentre il test delle prestazioni mira al carico generato dagli utenti di tale applicazione ibrida sul lato server, oltre a valutare le prestazioni dell'applicazione sul dispositivo dal punto di vista dell'utente finale.
Allora come testiamo queste applicazioni mobili?
Per testare tali applicazioni mobili, dobbiamo creare un ambiente con emulatori e dispositivi reali. Gli emulatori mobili sono software che devono essere installati sui nostri laptop o desktop che imiteranno un'applicazione mobile o una piattaforma mobile.
Quindi, utilizzando questi emulatori possiamo generare una quantità significativa di carico per i nostri test di carico.
L'altro metodo è usare dispositivi reali, qui abbiamo il dispositivo fisicamente e possiamo vedere come si comporta l'applicazione su ogni dispositivo. Utilizzando dispositivi reali, non abbiamo la possibilità di generare il carico che è il nostro obiettivo principale, ma per farlo dobbiamo avere più dispositivi reali.
Tuttavia, se si desidera testare il comportamento dell'applicazione su un dispositivo specifico, è possibile utilizzare il dispositivo reale, ma per generare carico è necessario utilizzare degli emulatori.
Il punto successivo da notare durante il test di un'applicazione mobile è conoscere la posizione di accesso dell'utente finale. È molto importante sapere se gli utenti accedono dalla stessa città, stesso paese o se sono sparsi in tutto il mondo, ecc. Se pianifichiamo il nostro test o ambiente senza tenerne conto, i nostri test sarebbero sbagliati.
Le prestazioni delle applicazioni su un'applicazione mobile come uno smartphone o un dispositivo intelligente vengono generalmente misurate in termini di prestazioni del dispositivo, prestazioni del server / API e prestazioni della rete.
Dobbiamo controllare quanto segue sotto ogni performance.
Prestazioni del dispositivo:
- Tempo di avvio dell'applicazione
- Durata della batteria durante l'utilizzo dell'applicazione
- Consumo di memoria
- Variazione hardware e software
- Utilizzo con altre applicazioni
- Un'applicazione in esecuzione in background
Prestazioni server / API:
- Dati da e verso il server.
- Chiamate API generate
- Tempo di inattività del server
Prestazioni di rete:
qa tester intervista domande e risposte pdf
- Perdita di pacchetti
- Velocità di rete
Pertanto, durante la scrittura dell'approccio per il test delle prestazioni delle applicazioni mobili, è necessario considerare tutti i punti precedenti e soddisfare l'ambito e i requisiti del progetto.
Strategia per le prestazioni delle applicazioni mobili
L'approccio del test delle prestazioni è diverso per ogni tipo di applicazione mobile. L'approccio varia da un'applicazione all'altra poiché ogni applicazione è sviluppata con componenti diversi e il meccanismo di elaborazione è diverso per ciascuno.
Le applicazioni mobili basate su browser agiscono in modo diverso rispetto alle normali applicazioni per browser web. Questo comportamento è dovuto alla larghezza di banda del piano dati che sta utilizzando l'utente finale e dipende anche dalla configurazione sui dispositivi mobili.
Il costo dello sviluppo di questo tipo di applicazione basata su browser sarà inferiore in quanto il lavoro di sviluppo sarebbe quello di verificarne la compatibilità con i browser disponibili sui dispositivi mobili.
Pertanto, per i test delle prestazioni come le applicazioni basate su browser mobili, dobbiamo replicare il carico dell'utente sul browser. Possiamo farlo utilizzando emulatori o altri componenti aggiuntivi. Oltre al carico dell'utente sui browser mobili, dobbiamo anche testare il rendering della pagina web sui dispositivi.
Il costo di sviluppo delle applicazioni mobili native è maggiore. Le applicazioni vengono installate direttamente sul dispositivo, il che migliora l'esperienza dell'utente, ma l'applicazione dipende dalla piattaforma.
Quindi, se vogliamo testare le prestazioni in questo tipo di applicazioni, dobbiamo testare tutte le piattaforme dei dispositivi mobili come Android, ios, Windows ecc. E anche su tutti i tipi di dispositivi come smartphone, tablet ecc.
Le applicazioni mobili ibride sono una combinazione di applicazioni mobili basate su browser e applicazioni mobili native, quindi qui dobbiamo testare il carico dell'utente sul server e inoltre dobbiamo eseguire un test completo delle prestazioni su tutti i dispositivi mobili e le piattaforme.
Per qualsiasi applicazione sul dispositivo mobile, ci sono due fattori principali che influenzano le prestazioni dell'utente finale:
- Richiedi sul dispositivo mobile
- Il rendering della pagina sul dispositivo mobile
# 1) Richiesta sul dispositivo mobile:
Sotto questo, la richiesta viene consegnata al server e la risposta del server viene generata in base alla richiesta ricevuta. Una volta che la risposta è stata generata sul server, questa viene rinviata al dispositivo mobile che ha inviato la richiesta iniziale.
Qui i parametri che devono essere esaminati sono il carico del server, i diversi tipi di rete come 3G, 4G ecc., Un carico su ciascuna rete e qualsiasi altro componente.
Possiamo testarli utilizzando emulatori, ovvero possiamo generare gli script e utilizzare gli emulatori per imitare il carico dell'utente sul server.
# 2) Rendering della pagina sul dispositivo mobile:
Il rendering della pagina sul dispositivo mobile non è altro che la risposta ricevuta dal server per la richiesta che abbiamo inviato dalla nostra applicazione mobile.
Qui i parametri che devono essere esaminati sono il sistema operativo del dispositivo, le impostazioni di configurazione del dispositivo mobile, ecc. Possiamo testarli accedendo effettivamente al dispositivo mobile e monitorandoli.
java automation testing intervista domande e risposte
Ora, diamo uno sguardo dettagliato a ogni passaggio menzionato nella figura sopra:
a) Crea scenari utente in tempo reale:
Analogamente alle normali applicazioni browser web, abbiamo bisogno di identificare gli scenari o le condizioni che ci si aspetta sul server in tempo reale. Ci saranno molti scenari da testare.
Assumiamo una condizione in cui sia presente un'applicazione web disponibile sia su desktop che su dispositivo mobile, anch'essa nativa nei dispositivi Android e ios. Qui abbiamo bisogno di sviluppare uno script di test basato sul tipo di accesso all'applicazione. Quindi, dobbiamo testarlo separatamente su ciascun dispositivo.
Inoltre, dobbiamo considerare il modello del carico di lavoro per quello scenario, ovvero dobbiamo capire come il carico viene distribuito su ciascun dispositivo. Per esempio, 500 utenti accederanno all'applicazione tramite web, circa 100 useranno un'applicazione nativa sul proprio dispositivo ios e altri 200 accederanno all'applicazione dal proprio dispositivo nativo sull'applicazione Android.
Dovremmo anche considerare le posizioni geografiche del carico sul server. Per esempio, Il 30% degli utenti accede dagli Stati Uniti, il 50% dall'India e il restante 20% da altre località. È obbligatorio imitare la diversa posizione dell'utente in quanto avrà un impatto enorme sui server.
Testare tutto il 100% da una singola posizione produrrà risultati errati. Quindi si consiglia di testare il carico sui server fornendo una posizione diversa. La soluzione cloud può essere utilizzata per imitare diverse posizioni geografiche.
b) Crea condizioni di rete in tempo reale:
Qui, dobbiamo creare diverse condizioni di rete e anche la qualità della rete come rete 3G, rete 2G, Wi-Fi con la migliore velocità, velocità media e bassa velocità. Dobbiamo eseguire l'emulazione di rete per creare condizioni di rete.
Dovremmo anche testare le prestazioni fornendo condizioni di larghezza di banda del 50%, possiamo ottenere questo risultato mediante l'emulazione di rete. Possiamo usare qualsiasi strumento come Wind Tunnel, Shunra, ecc.
Inoltre, prova la rete rispetto a diverse aree geografiche come la rete 3G a Bangalore. 4G a Hyderabad, ecc. Anche qui dobbiamo fare l'emulazione di rete utilizzando strumenti appropriati.
c) Crea condizioni del dispositivo in tempo reale:
Questo non è altro che il tipo di applicazione sul dispositivo mobile, ad esempio se si tratta di un'applicazione thin client o un'applicazione thick client, qual è il sistema operativo sul dispositivo mobile, il tipo di dispositivo come iPhone, Nokia ecc. E qualsiasi altra applicazione che verrà eseguito in parallelo durante l'uso di questa particolare applicazione, ecc., deve anche essere testato come parte degli scenari.
d) Testare le prestazioni di ogni componente:
Dopo aver creato tutti gli scenari di cui sopra, è necessario testare le prestazioni dell'applicazione, inclusi tutto il software e l'hardware. Ora raccogli tutte le metriche necessarie durante il test di carico.
Alcune delle metriche lato server che devono essere raccolte sono Utilizzo CPU, Carico CPU, Tempo di elaborazione, Byte totali disponibili, Pacchetti inviati, Pacchetti ricevuti ecc.
Alcune delle metriche di rete che devono essere raccolte sono pacchetti e byte inviati sulla rete, pacchetti e byte ricevuti sulla rete, pacchetti ignorati e ritardo medio totale.
Le metriche del dispositivo da raccogliere sono CPU, utilizzo della memoria, tempo di risposta, ecc. E misurano anche tutti i tempi di risposta delle transazioni e il throughput.
Ambiente di test delle prestazioni delle applicazioni mobili
Prima di configurare l'ambiente di test delle prestazioni per un'applicazione mobile, dobbiamo capire quali sono le applicazioni mobili che verranno testate, quali saranno i test di tutti i sistemi operativi o dispositivi e anche le diverse posizioni geografiche.
Quindi, in primo luogo, dobbiamo creare un ambiente che consista di emulatori e dispositivi reali. Allora cos'è un emulatore? Un emulatore è un software che può essere installato sui nostri laptop o computer desktop e questi funzionano come dispositivi mobili. Possiamo generare un carico enorme utilizzando questi emulatori, quindi sono i migliori da utilizzare per testare il carico di qualsiasi applicazione mobile.
D'altra parte, i dispositivi reali sono dispositivi mobili fisici. Quindi dobbiamo verificare il comportamento dell'applicazione su ogni dispositivo e su ogni rete. Ma non saremo in grado di testare la larghezza di banda, la perdita di pacchetti, ecc. Quando più dispositivi sono collegati alla stessa rete e accedono alla stessa applicazione.
La prossima cosa da considerare è la posizione geografica dei dispositivi applicativi, questo è un aspetto obbligatorio e molto importante da considerare altrimenti i risultati dei nostri test non saranno come ciò che accade nello scenario del mondo reale.
Quindi, una volta analizzato tutto quanto sopra, seleziona il rispettivo strumento di test di carico per condurre i test delle prestazioni.
Sfide del test delle prestazioni delle applicazioni mobili
Le sfide che dobbiamo affrontare durante il test delle prestazioni delle applicazioni mobili includono:
- Quando dobbiamo testare la nostra applicazione su diversi dispositivi mobili, dobbiamo organizzare tutti i dispositivi come IOS, Android, Windows ecc.
- La simulazione di rete è un'altra sfida che dovremo affrontare, ovvero dobbiamo simulare reti come 3G, 2G, 4G e reti wifi.
- La memoria disponibile nei dispositivi mobili per gestire le corse di prova.
- La durata della batteria dei dispositivi mobili.
Risoluzione dei problemi di prestazioni con le applicazioni mobili
Al termine dell'esecuzione del test, è tempo di raccogliere il collo di bottiglia delle prestazioni identificato durante l'esecuzione del test. Una volta consolidati i problemi, è necessario identificare la causa principale del problema e risolverli.
Diamo uno sguardo ad alcuni problemi di prestazioni con le applicazioni mobili:
- Un ritardo nella risposta dall'applicazione mobile: Questo ritardo è solitamente causato dalla memoria o dalla memorizzazione nella cache. In questi casi, si consiglia di svuotare la cache e rieseguire il test.
- L'applicazione per qualche tempo viene riavviata, bloccata o bloccata: In questi casi, controlla il software come se fosse necessario eseguire degli aggiornamenti, controlla il codice dell'applicazione per eventuali ottimizzazioni, la gestione della cache sono alcune aree da esaminare.
Strumenti di test delle prestazioni delle applicazioni mobili
Gli strumenti possono variare in base al tipo di dispositivo e piattaforma.
Di seguito sono riportati alcuni degli strumenti più comunemente utilizzati.
Per dispositivi Android:
robot: Utilizzando questo strumento, possiamo registrare e riprodurre i diversi passaggi per condurre il test. Clic qui per un tutorial Robotium .
Monkey Runner : Utilizzando questo strumento possiamo eseguire i nostri test sui dispositivi collegandoli a un desktop. Utilizzando l'interfaccia dello strumento possiamo accedere allo smartphone.
Per dispositivi iOS:
Automator: Usando questo strumento possiamo trascinare e rilasciare i flussi di lavoro e automatizzarli.
Conclusione
Sono sicuro che avresti imparato di più sulle applicazioni mobili e su come procedere ed eseguire test di carico sulle applicazioni mobili in modo perfetto attraverso questo tutorial informativo.
Il nostro prossimo tutorial ti spiegherà come eseguire test manuali delle prestazioni in termini semplici.
=> Visita qui per una serie completa di tutorial sui test delle prestazioni
Tutorial PREV | PROSSIMO Tutorial
Lettura consigliata
- Test delle prestazioni delle applicazioni mobili utilizzando BlazeMeter
- La Guida per principianti al test delle prestazioni delle applicazioni Web utilizzando WAPT Pro
- Guida al test di sicurezza delle applicazioni Web
- Test delle prestazioni vs test di carico vs stress test (differenza)
- Come ottenere rapidamente un lavoro di test mobile - Guida alla carriera nel test mobile (Parte 1)
- Carico di applicazioni web, stress e test delle prestazioni utilizzando WAPT
- Come eseguire il test manuale delle prestazioni?
- Strumenti di Penetration Test per applicazioni mobili e fornitori di servizi