Test delle prestazioni delle app mobili
โก Riepilogo intelligente
I test di performance delle app per dispositivi mobili misurano la velocitร di avvio di un'applicazione, il consumo di batteria e memoria, la rapiditร di risposta delle sue API e la sua fluiditร di funzionamento su reti instabili.
Per qualsiasi app mobile, le prestazioni sono fondamentali. Se la tua app non funziona bene, l'utente finale la disinstallerร e cercherร un'altra applicazione con prestazioni migliori.
La tua applicazione mobile deve essere testata accuratamente prima di rilasciarla all'utente finale.
Strategia di test delle applicazioni mobili
Le prestazioni delle applicazioni su un telefono cellulare o su qualsiasi dispositivo intelligente vengono solitamente misurate in base alle tre categorie seguenti.
- Prestazioni del dispositivo
- Prestazioni server/API
- Prestazioni di rete
Il diagramma sottostante associa questi tre livelli ai relativi controlli.
Prestazioni del dispositivo
Quando il cliente sperimenta un'app lenta, si arrabbia.
Per valutare le prestazioni del dispositivo, si procederร ai seguenti controlli:
- Avvio dell'app: Quanto tempo impiega la tua app per avviarsi? ร il primo parametro prestazionale giudicato dall'utente. Come regola generale, dopo che l'utente ha toccato l'icona dell'app, la prima schermata dovrebbe essere visualizzata entro 1-2 secondi.
- Durata della batteria durante l'utilizzo di un'app: Con un utilizzo costante, alcune app per dispositivi mobili consumano molta batteria e surriscaldano il telefono. Questo accade in genere quando l'app utilizza piรน risorse del necessario, sovraccaricando il processore.
- Consumo di memoria: Quando Collaudo un'app, รจ necessario controllare il consumo di memoria di un'app. Implementando determinate funzionalitร nell'app aumenta anche il consumo di memoria. Ad esempio, nel Android app quando vengono implementate le notifiche push, il consumo di memoria aumenta.
In alcuni casi, รจ stato osservato che l'utilizzo della memoria da parte dell'intero sistema operativo รจ solo del 14%, ma una nuova app consuma l'11%. Pertanto, questi fattori devono essere gestiti prima di distribuire l'app nel mondo reale o fornirla al cliente.
- Variante hardware/software: Quando si testa un'app mobile, รจ obbligatorio controllare le app su dispositivi diversi. ร possibile che l'app funzioni correttamente su un dispositivo ma non su un altro. Come per diversi fornitori di Android dispositivi, possiamo controllare l'app sui telefoni Samsung, HTC e Lenovo. Allo stesso modo, l'app deve essere testata con diverse specifiche di RAM e processore come 1 GB o 2 GB.
- Utilizzo con altre app: Quando l'app in prova viene eseguita in parallelo con altre app, non dovrebbero esserci interferenze. Il modo migliore per verificarlo รจ cambiare l'app in fase di test e altre app.
- Applicazione in background: Quando un'app in esecuzione in background viene recuperata, dovrebbe rimanere nello stesso stato di prima. Se questo scenario non viene gestito correttamente, i dati vengono persi. Casi del ciclo di vita correlati sono trattati in test di interruzione.
Prestazioni server/API
Quando l'app interagisce con il server tramite API, il tempo di risposta diventa fondamentale per le prestazioni. Per valutare le prestazioni del server, รจ necessario verificare:
- Dati da e verso il server: L'app deve gestire in modo efficiente i dati inviati dal server. Il caricamento dei dati non deve richiedere troppo tempo. In alcune app, i dati vengono inviati in un formato specifico, quindi prima di visualizzarli nell'app, devono essere convertiti in un formato compatibile. Durante questo processo, le app a volte rallentano e i tempi di risposta si allungano.
- Chiamate API generate dall'app: Il numero di chiamate dall'app in prova al server generato dall'app dovrebbe essere inferiore. In alcuni casi, vengono effettuate piรน chiamate API per la stessa funzionalitร . Per prestazioni migliori, questo dovrebbe essere gestito con un numero inferiore di chiamate.
- Tempo di inattivitร del server: Se per qualsiasi motivo il server non รจ disponibile o non raggiungibile, possiamo salvare i dati nel database nativo. Pertanto, anche in caso di inattivitร del server, possiamo visualizzare i dati memorizzati nel database nativo. Un'altra soluzione potrebbe essere l'utilizzo di server di database di failover: se uno dei server non รจ disponibile o รจ in fase di manutenzione, il server di backup deve essere pronto a subentrare. Il server di failover/backup deve essere in costante replica e sincronizzazione con il server principale.
Prestazioni di rete
ร necessario misurare le prestazioni dell'app su diverse reti e proprietร di rete.
Per le prestazioni della rete, dovrai controllare i seguenti elementi.
- Nervosismo: Quando si verifica un ritardo nella ricezione delle informazioni sulla rete, si parla di nervosismo. ร un problema con le reti senza connessione o le reti a commutazione di pacchetto. Poichรฉ le informazioni vengono distribuite in pacchetti, i pacchetti possono viaggiare lungo un percorso diverso dal mittente al destinatario. Quando i dati arrivano nella posizione prevista, vengono criptati rispetto a quando sono stati originariamente inviati. Nel caso di Jitters, l'app mobile dovrebbe essere sufficientemente in grado di gestirlo.
ร necessario mostrare all'utente finale le notifiche appropriate, chiedendogli di reinviare la richiesta o di attendere una nuova risposta dal sistema.
- Perdita di pacchetti: In caso di perdita completa del pacchetto, l'app dovrebbe essere in grado di inviare nuovamente la richiesta di informazioni o generare avvisi di conseguenza. Se i dati non sono completi, l'utente non sarร in grado di comprendere le informazioni visualizzate nell'app. Questo puรฒ essere stressante per l'utente. Pertanto, รจ meglio visualizzare un messaggio appropriato o chiedere all'utente di riprovare.
- Velocitร di rete: L'app deve essere testata su diverse reti con velocitร variabili. ร necessario testarla su reti 3G, 4G e 5G, incluse sia le reti Wi-Fi che quelle mobili. Inoltre, รจ fondamentale monitorare il comportamento dell'app, soprattutto quando entrambe le reti sono disponibili e si verifica un passaggio da una all'altra.
Ad esempio, potrebbe verificarsi un problema in un'app quando gli utenti passano dalla rete 4G al Wi-Fi e viceversa. In questo caso, l'app smette di rispondere e potrebbe essere necessario riavviarla per poterla utilizzare.
Risoluzione dei problemi relativi alle prestazioni delle applicazioni mobili
Dopo aver scoperto i problemi/problemi while Test di Performance. ร ora di farlo trace correggere i guasti.
Problema 1) Ritardo o risposta lenta dell'app mobile.
La causa di questo ritardo potrebbe essere la RAM, la cache, ecc.
ร necessario terminare i processi non necessari o svuotare la cache. La risoluzione dei problemi di connettivitร puรฒ risolvere alcuni dei problemi che creano ritardi
Problema 2) Riavvio, blocco, blocco o mancata risposta dell'app.
Potrebbe essere risolto tramite alcuni dei seguenti passaggi
- Ottimizzazione dei codici applicativi
- Il software dovrebbe essere patchato e aggiornato.
- Ripristini automatici
- Gestione della RAM o in alcuni casi della ROM durante l'utilizzo di schede esterne
- Wiping partizionamento della cache
- Verifica della compatibilitร dell'app con altre app e API di terze parti
- Mappaping l'applicazione mobile in base al dispositivo
Strumenti utili per testare le app mobili
Strumenti di test delle app mobili variano a seconda dei dispositivi o del sistema operativo mobile. Alcuni strumenti comuni di test delle prestazioni delle app mobili sono
ANDROID
- Robotium ร proprio come Selenium per le app mobili. Il tester puรฒ registrare e riprodurre diversi passaggi necessari per eseguire il test.
- Scimmia Runner MonkeyRunner puรฒ eseguire test su dispositivi reali collegati a un PC o emulatori. Lo strumento dispone di un'API che consente di controllare uno smartphone, un tablet o un emulatore dall'esterno Android codice.
โ ๏ธ Nota sulla versione: Entrambi i progetti editoriali di Android Le voci sono obsolete. Robotium non ha avuto alcuna pubblicazione dal 2016 e Google contrassegna MonkeyRunner non piรน mantenuto, indirizzando i team a UI Automator e al suo uiautomatorviewer ispettore invece.
APPLE
- Automator (Mac) Automator รจ un'applicazione sviluppata da Apple per macOSImplementa la creazione di flussi di lavoro tramite interfaccia grafica (con trascinamento) per automatizzare le attivitร ripetitive e raggrupparle in batch, consentendo modifiche piรน rapide. Ciรฒ permette di risparmiare tempo e fatica rispetto all'intervento umano necessario per modificare manualmente ogni singolo file.
Le sfide
Le principali sfide affrontate durante i test delle prestazioni includono
- Organizzazione di diverse piattaforme mobili e dei relativi sistemi operativi
- Simulazione di connettivitร come 3G, 4G, 5G o Wi-Fi, ecc.
- Vincoli dei dispositivi mobili come il consumo di batteria e risorse
- Usabilitร del telefono cellulare
- Le dimensioni assortite dei dispositivi mobili per eseguire la stessa app
Configurare l'ambiente di test delle prestazioni dell'app mobile
Per configurare l'ambiente di test, รจ necessario-
- Comprensione dell'app mobile che deve essere testata
- Identificazione del diverso sistema operativo su cui deve essere eseguita l'app
- Costruire la configurazione del test
- Costruisci gli emulatori o i simulatori
- Prototipoping dell'attuale configurazione
- Selezione dello strumento appropriato per il test
Elenco di controllo per il test delle prestazioni delle app mobili
Testare le prestazioni delle app mobili รจ una misura importante prima del rilascio. Il test delle prestazioni viene eseguito per verificare
- Quanta RAM รจ necessaria per utilizzare questa app?
- Per verificare la velocitร e i tempi di risposta dell'APP in diverse reti e circostanze.
- Garantisci un'esperienza utente realistica in diverse condizioni di rete
- Garantire che i risultati richiesti siano raggiunti in caso di connettivitร multiple
- Assicurati che l'applicazione non subisca arresti anomali.
- Garantire che le applicazioni mobili funzionino bene durante l'utilizzo di dati, Wi-Fi o altra connettivitร
- Monitoraggio dell'uptime e dei colli di bottiglia nell'utilizzo delle API mobili
- Per garantire il numero massimo di utenti simultanei
- Infine, per verificare i limiti dell'app mobile

