O período de atenção médio de um ser humano é inferior a 9 segundos! Já alguma vez se perguntou porquê? A maioria das aplicações móveis que surgiram nos últimos tempos exige que percorra um feed para baixo, onde o cérebro está afinado para não se concentrar em algo durante mais do que alguns segundos. Isto conduziu a uma redução significativa do período de atenção do utilizador médio.
Com a grande quantidade de aplicações móveis disponíveis na loja de aplicações, surge a grande responsabilidade de testar aplicações móveis e dimensionar os esforços de testes de regressão. É aqui que as ferramentas de teste móvel são úteis.
Fui um dos primeiros a adotar as estruturas de teste móvel e, na minha experiência, concentrar-me na automatização, nos fatores de forma e nos testes de desempenho desempenhou um papel igualmente importante para dimensionar e aumentar o impacto no mundo móvel. Neste artigo, partilharei as técnicas mais eficazes para automatizar os testes das suas aplicações móveis.
Testes de aplicações móveis: componentes a considerar
Testar numa plataforma específica tem os seus próprios desafios, mas, no caso dos dispositivos móveis, existem estes parâmetros adicionais que é necessário ter em conta. Quer faça testes manuais ou automatização de testes, para além dos testes funcionais, os seus casos de teste devem centrar-se em:
Conectividade
É importante abordar o que acontece se um utilizador estiver a utilizar o dispositivo móvel em modo de voo ou offline, o que acontece se a largura de banda flutuar, etc., para garantir que a aplicação funciona.
Have an account? Log In
Localização
Especialmente no caso de aplicações móveis que dependem de GPS ou de serviços baseados na localização, os testes têm de ser realizados através da simulação da localização, utilizando ferramentas como MobileSpy, Location Spoofer, etc.; caso contrário, seria difícil testar — por exemplo: se quiser simular um cenário de teste para uma aplicação móvel de partilha de viagens, em que alguém solicita uma viagem a partir de NYC e foram efetuadas alterações aos microsserviços de back-end específicos para encontrar o motorista nessa localização. Sem simulação, os testes não forneceriam resultados precisos.
Sistema operativo
Especialmente tendo em conta o número de telemóveis Android existentes atualmente no mercado, testar todas as versões disponíveis do sistema operativo é praticamente impossível — como deve então definir as prioridades? Com o iOS, existem desafios adicionais relacionados com as versões do Xcode associadas às alterações de versão do sistema operativo impostas pela Apple.
Atualmente, as empresas recorrem a fornecedores terceiros, como a BrowserStack, para disponibilizar simuladores/emuladores para vários sistemas operativos, testes de dispositivos e testes entre navegadores.
Os ícones da interface de utilizador são diferentes consoante as plataformas dos sistemas operativos: Windows, iOS e Android e, no que diz respeito à automatização de testes, a maioria de nós acaba por utilizar simuladores — os de Android demoram muito mais tempo a carregar, enquanto os dispositivos iOS são mais rápidos.
As diferentes combinações de teclas móveis a utilizar, consoante os diferentes tipos de sistemas operativos, para fazer capturas de ecrã destinadas à depuração de problemas constituem um elemento essencial para qualquer pessoa que teste aplicações móveis.
Fator de forma
Durante o desenvolvimento de aplicações móveis, existem 5 fatores de forma principais que devem ser considerados para as diferentes versões do sistema operativo, para além do modo vertical ou horizontal em cada um destes tipos de dispositivos:
| Dispositivo | Tamanho do ecrã |
| Dispositivos móveis pequenos | 3,5 polegadas ou menos |
| Dispositivos móveis médios | 3,5 a 5 polegadas |
| Tablets | 5 a 7 polegadas |
| Tablets pequenos | 7 a 8,5 polegadas |
| Tablets de tamanho completo | 8,5 polegadas ou mais |
Como escolher a estrutura certa para a automatização móvel
Considerar os fatores de forma ao criar aplicações móveis significa garantir a capacidade de resposta quando a mesma aplicação é aberta em diferentes dispositivos móveis e tipos de sistemas operativos. Quando a utilização da aplicação abrange todo o mundo e as empresas pretendem aumentar a sua base de utilizadores, terão de tomar esta decisão numa fase inicial do processo de desenvolvimento, optando por utilizar estruturas React Native em vez do desenvolvimento nativo para Android ou iOS.
Caso contrário, as empresas acabarão por gastar tempo e esforço mais tarde a refatorizar e redesenhar as aplicações para mudarem para estruturas React Native. Isto tem um impacto direto no número de equipas e na sobrecarga de manutenção, uma vez que as estruturas React Native permitem desenvolver aplicações para iOS e Android.
Quando as aplicações móveis são desenvolvidas utilizando estruturas React Native, a carga sobre a automatização de testes também é reduzida, uma vez que apenas é necessário manter uma única estrutura de automatização de testes para iOS e Android.
Existem diferentes formas de desenvolver aplicações móveis. Algumas empresas recorrem à utilização de linguagens de programação nativas, como Java e Objective C, para aplicações Android e iOS, respetivamente. A vantagem de utilizar linguagens nativas ajuda-as a fornecer funcionalidades avançadas às suas aplicações.
Por outro lado, os IDs dos elementos serão diferentes em ambas as plataformas — o que significa que teremos de utilizar estruturas de testes nativas separadas para testar o mesmo, como o Espresso no Android, o XCUITest no iOS, etc.
React Native é outra linguagem de programação frequentemente utilizada para desenvolver aplicações móveis responsivas, disponibilizada como código aberto pelo Facebook. O objetivo era unificar os esforços de desenvolvimento móvel em ambas as plataformas, para que pudesse existir uma única equipa e para que os IDs dos elementos em ambas as aplicações fossem iguais — sendo necessária apenas uma estrutura de testes, como o Appium, para ajudar a testar as aplicações móveis.
Quando se trata de automatizar os testes das suas aplicações móveis, escolher as ferramentas certas de automatização de QA pode fazer uma diferença significativa na eficiência dos seus testes.
Como automatizar os testes de aplicações móveis iOS
Durante os testes manuais, há vários critérios que têm de ser cumpridos: a maioria das empresas que desenvolvem aplicações iOS especifica claramente quais os sistemas operativos e as versões do SDK suportados. Isto ajuda a limitar os seus esforços de teste.
Para aumentar a escala dos esforços de teste de software, precisamos de investir na automatização. Existem muitas estruturas populares que suportam testes automatizados de aplicações móveis iOS, das quais vamos limitar o âmbito da nossa discussão às 2 ferramentas de automatização seguintes:
- XCUITest
- Appium
| XCUITest | Appium |
| Estrutura para aplicações nativas que pode residir na base de código-fonte do iOS. | Estrutura de testes isolada, criada fora da base de código-fonte. |
| Escrita em Objective C ou Swift | Escrita em Java, Python, etc. |
| Espera explícita que aplica uma condição. | Espera implícita que envolve a utilização de sleep(), tornando os testes instáveis. |
| Simulação de respostas da API de back-end utilizando bibliotecas de código aberto, como Mockingjay | Suporta a utilização de servidores simulados. |
| Uma vez que se trata de uma estrutura para aplicações nativas, pode ser utilizada apenas para testar aplicações iOS. | Uma vez que os testes residem fora da base de código-fonte e podem ser escritos em linguagens como Java, Python, etc., pode ser utilizada para testar aplicações multiplataforma, como aplicações para Windows, iOS e Android, desde que os IDs dos elementos sejam iguais em ambas as plataformas. |
Utilizei servidores simulados para simular as chamadas ao back-end e testar exclusivamente a interface de utilizador, da seguinte forma, através da criação de uma classe base:

Agora que a classe base está pronta, adiciono o teste efetivo utilizando o padrão de desenho de objetos de página, da seguinte forma:

Como automatizar os testes de aplicações móveis Android
Existem mais de 2 mil milhões de dispositivos Android ativos no mundo. Testar a sua aplicação Android em diferentes tipos de dispositivos e sistemas operativos é praticamente impossível! Por isso, as empresas indicam explicitamente as versões que suportam. Isto também garante uma melhor experiência do utilizador.
As estruturas de automatização Android irão certamente ajudar a acelerar processos de teste, como Robotium, Selendroid, etc. e, no âmbito da nossa discussão, vamos limitar-nos às ferramentas de automatização Espresso e Appium:
| Espresso | Appium |
| Estrutura nativa que pode residir na base de código-fonte do Android. | Estrutura de testes isolada, criada fora da base de código-fonte. |
| Escrita em Java e Kotlin | Escrita em Java, Python, etc. |
| Esperas explícitas; operações assíncronas suportadas pela capacidade dos recursos de inatividade | Esperas implícitas que envolvem a utilização de sleep(), o que torna os testes instáveis. |
| Simulação de respostas do back-end utilizando bibliotecas de código aberto como o Mockito e o construtor do Retrofit | Suporta a utilização de servidores simulados. |
| Por ser uma estrutura nativa, pode ser utilizada apenas para testar aplicações Android. | Como os testes residem fora da base de código-fonte e podem ser escritos em linguagens como Java, Python, etc., podem ser utilizados para testar aplicações multiplataforma em iOS e Android, desde que os IDs dos elementos sejam iguais em ambas as plataformas. |
Uma das vantagens de utilizar estruturas nativas de aplicações é poder usar servidores simulados para simular as chamadas à API do back-end e, assim, testar exclusivamente a interface de utilizador. Eis um exemplo de código que mostra como o implementei:

Dependendo da forma como a sua arquitetura de microsserviços foi desenvolvida, pode obter a resposta no separador de rede do seu navegador ou diretamente junto dos programadores e utilizá-la da seguinte forma no seu teste:

Como pode ver no exemplo acima, HomeTabPage é chamada no teste, em vez de ser necessário verificar explicitamente cada elemento — utilizei o padrão de objetos de página na estrutura da seguinte forma:

More Articles
- 10 Melhores Serviços de Testes de Aplicações Móveis Analisados em 2026
- 10 Melhores Serviços de Testes Automatizados Analisados em 2026
- 10 melhores ferramentas de gestão de testes de código aberto analisadas em 2026
- As 10 Melhores Empresas de Testes de Software para Subcontratação de QA em 2026
- 17 Cursos de Testes Automatizados para Fazer em 2026
Ferramentas de teste de aplicações móveis
Existem várias ferramentas de teste no setor e a escolha depende de vários fatores:
- Competências da equipa
- Objetivo da automatização
- Público-alvo da automatização: gestores de produto/equipas comerciais/engenheiros/testadores
- Compatibilidade da estrutura de testes com o código-fonte nativo
- Número de aplicações híbridas
Entre as diferentes ferramentas utilizadas habitualmente no setor incluem-se:
- Selendroid
- Robotium
- Appium
- Testdroid
- UiAutomator
Não quer fazer os seus próprios testes internamente? Também pode contratar serviços de teste de aplicações móveis para o fazer por si.
Testes de desempenho de aplicações móveis
Ao testar aplicações móveis, além de nos concentrarmos na automatização para aumentar a escala dos esforços de teste, devemos também dar prioridade aos testes de desempenho, uma vez que estes desempenham um papel crucial na determinação de se um utilizador continuará a utilizar a nossa aplicação.
Se o ecrã demorar mais de 2 segundos a carregar, as pessoas ficam impacientes — tal como demonstrado pela nossa investigação sobre a capacidade de atenção — e, por isso, para reter os utilizadores, precisamos de investir em testes de desempenho.
Ao testar o desempenho da aplicação, teremos de identificar os KPIs e compará-los com valores de referência:
- Tempo máximo de resposta
- Tempo médio de resposta
- Débito médio
- Número máximo de utilizadores ativos para cada sistema operativo e dispositivo
A utilização de uma ferramenta de teste de aplicações móveis pode simplificar os testes de desempenho. Por exemplo, o Apptim pode monitorizar as métricas de desempenho dos utilizadores finais — fornece relatórios abrangentes de desempenho para todos os principais parâmetros de desempenho.
Para monitorizar o desempenho da aplicação móvel, podemos utilizar a monitorização do desempenho do Firebase, que permite controlar os dados de desempenho, partilhando informações sobre o desempenho da aplicação, com uma análise detalhada dos dados de rastreio e de rede segundo dimensões como a versão da aplicação, o país, o dispositivo e o tipo de rede.
Existem outras ferramentas, como o Appium Studio, o Sauce Labs, o Testdroid, entre outras, que oferecem capacidades semelhantes de monitorização do desempenho.
Esperamos que este artigo lhe tenha dado uma introdução aos testes de aplicações móveis e aos fatores críticos associados aos mesmos!
Para conhecer mais boas práticas e dicas para estruturar o seu processo de desenvolvimento, subscreva a newsletter do The QA Lead.
Leitura relacionada:
Veja também:
- O QUE É O TESTGEAR? VISÃO GERAL E VISITA GUIADA ÀS FUNCIONALIDADES
- MÉTRICAS DE MONITORIZAÇÃO DE SERVIDORES A ACOMPANHAR PARA A SAÚDE E O DESEMPENHO DO SISTEMA
Lista de ferramentas relacionadas:

