QNA > C > Come Testare Le Prestazioni Di Un'app Android E Migliorarle

Come testare le prestazioni di un'app Android e migliorarle

Ciao!

Ci sono 3 fattori principali che influenzano le prestazioni delle app:

  • il backend
  • la rete
  • il client (l'app stessa)

Vuoi assicurarti di testare le prestazioni del lato backend e del lato client non appena puoi dopo lo sviluppo, al fine di iniziare a capire come si comporta la tua app e per cogliere gli errori in anticipo.

Il Backend

Quando si parla di backend, le cose relative alle prestazioni che sono importanti da sapere quando un'app è sotto carico sono i tempi di risposta del server, i tempi delle query al database e l'utilizzo delle risorse del server.

Questo è il momento in cui si simula il carico sul backend in diversi modi, sia attraverso stress test, peak test, endurance test, load test, ecc.

In generale, l'obiettivo di questi test è quello di capire come i sistemi di backend di un'app si comportano e gestiscono un certo volume di utenti concorrenti.

Ci sono diversi strumenti che permettono di testare il carico della vostra app mobile. I più comunemente usati sono:

Apache JMeter - lo strumento open source numero uno per i test di carico

Gatling - uno strumento di test di carico open source, facile da usare per gli sviluppatori, con script scritti in Scala

BlazeMeter - una piattaforma cloud di test delle prestazioni che scala i test di JMeter o Gatling per una maggiore quantità di utenti concorrenti

Questi strumenti ti aiutano a trovare e risolvere problemi come:

  • Alti tempi di risposta del server
  • Bottleneck o punti di rottura nelle risorse del database e dell'application server
  • Povera implementazione delle politiche di escalation

La rete

Per quanto riguarda la rete a cui il dispositivo è collegato, ci sono due cose chiave da misurare: latenza e larghezza di banda.

  • La latenza è il tempo che trascorre quando le informazioni vengono inviate sulla rete (misurato in millisecondi).
  • La larghezza di banda è la capacità massima (la quantità di dati) che può essere trasmessa attraverso la rete (misurata in bit al secondo).

È possibile simulare la rete nei vostri test di carico.

Il lato client

Per un'app mobile, il client è il software che gira sul dispositivo, l'app stessa.

Testare le prestazioni lato client permette di capire come l'app si comporta su un dispositivo e come utilizza le risorse che condivide con altre app.

There are several areas with different metrics you can gather to understand client side mobile app performance:

Device resource usage:

  • % CPU
  • Memory (Mb)
  • Data sent and received by the application (Kb)
  • % Battery usage

Rendering:

  • Render time (ms)
  • Frames per second (fps)
  • Render lag (janks)

Errors:

  • Exceptions
  • ANR (Application Not Responding) in Android

Transaction response time, which can also be measured from the user perspective but involves:

  • Server response times
  • Database response time
  • Network latency
  • Screen drawing time

Once you’ve got all of this information, you can uncover critical problems such as:

  • Memory leaks: quando un'app non libera bene la memoria, aumenta fino ad esaurire la memoria disponibile e poi si blocca
  • Congelamenti dello schermo: dovuti a tempi di rendering molto alti
  • Crash: eccezioni che saltano nell'app e la fanno chiudere improvvisamente... bummer!

Per le app native, ci sono strumenti di profilazione come Android Studio e Instruments (rispettivamente per Android e iOS).

Questi strumenti sono di grande aiuto per il debug di un'app e per trovare la radice di certi tipi di problemi di prestazioni.

In aggiunta ad Android Studio e Instruments Apptim è il miglior strumento gratuito per il test delle prestazioni delle app Android lato client.

main-qimg-44c5fd86429143364aaa56be8c39eade

Consente a interi team di sviluppo di accedere alle informazioni sulle prestazioni delle app mobili e ai KPI, dove chiunque può eseguire rapidamente e facilmente i test e anche confrontare le prestazioni nel tempo.

Spero che questo aiuti!

Di Rogozen Kopel

Come risolvere il problema del riscaldamento del mio Android :: Qual è la migliore app di pulizia e antivirus?
Link utili