Prime Control

Testes de aplicativos mobile – Primeiros passos

Testar aplicações mobile geralmente é um quebra-cabeça. Decidir qual emulador usar, quais tipos de testes rodar, o que priorizar, entre tantas outras opções, consome bastante tempo. Confira um guia introdutório aos testes de aplicativos mobile.

Nos dias de hoje, soluções de mobilidade dominam o mercado. As pessoas não querem mais ligar os laptops e desktops para tudo, preferem usar aparelhos que cabem na palma da mão para uma solução rápida.

Por conta disso, os apps que as empresas oferecem aos seus clientes devem ser bem testados para que cumpram o que prometem.. Este pequeno guia traz alguns conceitos introdutórios de maneira objetiva, esclarecendo dúvidas bastante comuns tanto de iniciantes, quanto de veteranos. .

Tipos de testes mobile

Essencialmente, existem dois tipos principais de teste mobile:

  1. Teste de hardware – Verifica o funcionamento de componentes físicos como processadores internos, telas, armazenamento ou memória, baterias, câmera, rádio, bluetooth, Wi-Fi e etc.
  2. Teste de software ou teste de aplicações – Como o próprio nome diz, testa a parte lógica, o funcionamento de aplicações ou mesmo sistemas operacionais.

Em relação ao software, existem algumas diferenças entre aplicativos que são importantes compreender em relação à sua arquitetura, como:

Aplicativos nativos são desenvolvidos para serem executados em uma única plataforma como iOS, Android ou Windows.

Mobile web apps são na verdade websites que tem parte de sua execução feita por um servidor. O processamento da interface fica por conta de diferentes navegadores como Chrome ou Firefox.

Aplicativos híbridos são uma combinação de aplicativos nativos e web. São feitos a partir de códigos HTML5, javascript e CSS.

As principais diferenças entre estes tipos de aplicativos são:

Essa distinção entre arquiteturas é importante, já que o comportamento de cada tipo de app, suas funcionalidades e vulnerabilidades à erros e instabilidades são diferentes.

As dificuldades de testar aplicativos mobile

O que dificulta testar em mobile em comparação com desktop são vários fatores, mas podemos citar os principais. A grande variedade de combinações de hardware, tamanhos de tela, configurações, fabricantes e a fragmentação do Android são bons exemplos deste problema. Ainda há muitas  versões de sistemas operacionais, dois aparelhos podem ter a mesma configuração e fabricação, mas um pode estar rodando uma versão do sistema operacional 7.0 e outro 5.4, por exemplo. A constante necessidade de testar a cada atualização de um OS é um empecilho, já que a cada curto período de tempo acontece uma nova atualização.

via GIPHY

Exemplo de testes mobile

Além dos casos de teste baseados em funcionalidade, o teste de aplicativo mobile requer casos de teste especiais que devem cobrir os seguintes cenários:

Planejamento dos testes

A estratégia de testes, obviamente, deve focar em atingir um alto nível de qualidade e performance. Pensando nisso, os seguintes critérios devem ser levados em consideração:

1 – A escolha dos aparelhos

Analise o mercado e escolha os aparelhos mais utilizados. Esta escolha geralmente depende do perfil do usuário, para qual público ele pretende vender o aplicativo e como divulgará. Leve em consideração também os aparelhos físicos que tem à disposição, já que testar em aparelhos reais é importante.

2 – Emuladores

A utilização de emuladores é extremamente útil nos estágios iniciais de desenvolvimento, visto que permitem verificar e checar rapidamente o aplicativo. Emulador é um software que simula diversos ambientes e cenários no mesmo software, permitindo mais averiguações. Dentro da categoria de emuladores de mobile existem 3 tipos.

Há emuladores de mobile gratuitos e fáceis de se usar. Mobile Phone Emulator, MobiReady, Responsivepx e Screenfly.

3 – Testes físicos

Depois de concluído uma parte satisfatória do desenvolvimento, é interessante iniciar testes em aparelhos físicos para criação de cenários mais realísticos. Algumas situações imprevisíveis podem surgir apenas com o manuseio do app.

4 – Testes em nuvem de aparelhos Computação em nuvem é basicamente utilizar a internet para rodar, gerenciar e testar múltiplos aparelhos e sistemas. No quesito de testes, a computação em nuvem permite acessar diversos aparelhos, pagando pelo tempo de uso.

5 – Automação de testes

Se uma nova função foi implementada ou se a aplicação precisa ser testada apenas uma ou duas vezes, é mais eficiente que em ambos os casos seja feito manualmente. Já no caso de scripts de testes de regressão e de cenários mais complexos, isso consumiria muito tempo.

O escopo dos testes depende de uma série de fatores ou e do aplicativo. Se poucas mudanças foram feitas, um smoke test é suficiente, mas caso tenham sido realizadas mudanças mais significativas e/ou complexas, um teste de regressão completo é mais recomendado.

Existem dois tipos de ferramentas de automação de testes na camada de interface para mobile:

Teste mobile baseado em objetos – Mapeia os elementos na tela do aparelhos em forma de objetos para automatização. Esta abordagem é independente do tamanho da tela e é usada principalmente em aparelhos Android.

Teste mobile baseado em imagem – Cria scripts automatizados conforme coordenadas dos elementos da tela.

Processo de testes mobile

Qualquer processo de testes precisa ser adaptado à sua estrutura de desenvolvimento, criticidade e complexidade da aplicação, tamanho da equipe de desenvolvimento, testes e operações, bem como à tecnologia utilizada e às funcionalidades. Então, é fundamental que o processo adotado por sua equipe seja adaptado ao seu contexto. Aqui, vamos comentar apenas alguns pontos principais.

Identificar os tipos de testes – Por exemplo, no caso de aplicativos web-based, é fundamental que os testes sejam feitos em todos os navegadores suportados usando vários aparelhos.

Escolha entre testes manuais e automatizados – Além de ser necessário decidir quais testes serão realizados, como eles serão rodados também é importante.

Testes beta – Os testes beta da fase de aceitação com participação de usuários finais têm como objetivo verificar se o projeto está sendo seguido e atende à necessidade dos usuários.

Testes de performance – A equipe de teste de performance faz o que é esperado do nome, testa o tempo de resposta do aplicativo em diversos cenários.

Lançamento – Após todas essas baterias de testes, o aplicativo estará próximo de seu lançamento. Uma última etapa só para verificar que o aplicativo está pronto para ser entregue.

Sair da versão mobile