Como testar o desempenho de um aplicativo Android e melhorá-lo
Hi!
Existem 3 fatores principais que impactam o desempenho de um aplicativo:
>ul>< o backend>li> a redeli>li> o cliente (o próprio aplicativo)>p>Você quer ter certeza de testar o desempenho do backend e do lado do cliente o mais rápido possível após o desenvolvimento, a fim de começar a entender como o seu aplicativo se comporta e a detectar erros logo no início.O Backend
Quando se trata do backend, as coisas relacionadas à performance que são importantes saber quando um aplicativo está sob carga são os tempos de resposta do servidor, os tempos de consulta à base de dados e o uso dos recursos do servidor.
Isso é quando você simula carga no backend de diferentes maneiras, seja através de testes de estresse, testes de pico, testes de resistência, testes de carga, etc.
Em geral, o objetivo desses testes é entender como os sistemas backend de um aplicativo se comportam e lidam com um determinado volume de usuários simultâneos.
Existem várias ferramentas que permitem que você teste o seu aplicativo móvel. As mais utilizadas incluem:
Apache JMeter - a ferramenta número um de testes de carga de código aberto
Gatling - uma ferramenta de teste de carga de código aberto, fácil de desenvolver, com scripts escritos em Scala
BlazeMeter - uma plataforma de teste de desempenho de nuvem que dimensiona seus testes JMeter ou Gatling para uma maior quantidade de usuários simultâneos
Estas ferramentas ajudam você a encontrar e corrigir coisas como:
>ul><Tempos de resposta do servidor elevados>li>Bottlenecks ou breakpoints nos recursos da base de dados e do servidor de aplicações>li>Pobre implementação de políticas de escalonamento>p>A RedeCom respeito à rede à qual o dispositivo está conectado, há duas coisas chave a medir: latência e largura de banda.
>ul><Latência é o tempo que decorre quando a informação é enviada na rede (medida em milisegundos).La largura de banda é a capacidade máxima (a quantidade de dados) que pode ser transmitida através da rede (medida em bits por segundo).P>Pode simular a rede nos seus testes de carga.
O lado do cliente
Para um aplicativo móvel, o cliente é o software que roda no dispositivo, o próprio aplicativo.
Testar o desempenho do lado do cliente permite entender como o aplicativo se comporta em um dispositivo e como ele usa os recursos que compartilha com outros aplicativos.
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 uma aplicação não liberta bem a memória, ela aumenta até ficar sem memória disponível e depois trava###li>Screen congela: devido a tempos de renderização muito altos##li>Crashes: exceções que saltam na aplicação e a fazem fechar de repente... bummer!
Para aplicativos nativos, existem ferramentas de criação de perfis como o Android Studio e Instruments (para Android e iOS respectivamente).
Estas ferramentas são de grande ajuda ao depurar um aplicativo e encontrar a raiz de certos tipos de problemas de performance.
Além do Android Studio e Instruments Apptim é a melhor ferramenta gratuita para testes de performance de aplicativos do lado do cliente Android.
Dará a toda equipe de desenvolvimento acesso a informações de desempenho de aplicativos móveis e KPIs, onde qualquer pessoa pode rápida e facilmente executar testes e também comparar o desempenho ao longo do tempo.
Espera que isso ajude!