Um guia completo de testes de aplicativos móveis com tutoriais em profundidade:
A tecnologia móvel e os dispositivos inteligentes são a tendência agora e mudarão o futuro do mundo como nós o conhecemos. Todos nós podemos garantir isso, não podemos? Agora, será amador se eu listar o que nós usamos para estes dispositivos móveis. Todos vocês sabem disso – Talvez melhor do que nós.
Vamos direto ao que este tutorial vai ser.
Lista completa de 30+ Tutoriais de testes móveis:
Teste Móvel Introdução:
Tutorial #1: Introdução ao teste móvel
Tutorial #2: Teste de aplicativos iOS
Tutorial #3: Teste de aplicativos Android
Tutorial #4: Desafios e soluções de testes móveis
Tutorial #5: Por que o teste móvel é difícil?
Teste de Dispositivos Móveis:
Tutorial #6: Teste uma versão do Android quando ele é retirado do mercado
Tutorial #7: Como testar aplicativos móveis em dispositivos de baixo custo
Tutorial #8: Teste de campo para aplicativos móveis
Tutorial #9: Modelo de telefone Vs versão do SO: Que Deve ser Testado Primeiro?
Teste de Interface Móvel:
Tutorial #10: Teste de Interface Móvel em Aplicações Móveis
Tutorial #11: Mobile Responsive Test
Mobile Testing Services:
Tutorial #12: Teste de aplicativos móveis baseados em nuvens
Tutorial #13: Mobile Testing Services
Tutorial #14: Mobile App Beta Testing Services
Tutorial #15: Mobile App Development Company
Tutorial #16: Cloud-Based Mobile App Testing Service Providers
Mobile App Performance and Security Testing:
Tutorial #17: Mobile Applications Performance Testing Using BlazeMeter
Tutorial #18: Mobile App Security Testing Guidelines
Mobile Testing Tools:
Tutorial #19: Ferramentas de Teste de Aplicações Android
Tutorial #20: Melhores Ferramentas de Teste de Segurança de Aplicações Móveis
Tutorial #21: 58 Melhores Ferramentas de Teste de Aplicações Móveis
Teste de Automação Móvel:
Tutorial #22: Tutorial de Ferramentas de Automação Móvel Appium
Tutorial #23: Tutorial Appium Studio
Tutorial #24: Automatizar Aplicações Android Usando a Ferramenta TestComplete
Tutorial #25: Robotium tutorial – Android App UI Testing Tool
Tutorial #26: Tutorial do Selendroid: Mobile Automation Framework
Tutorial #27: pCloudy Tutorial: Mobile App Testing on Real Devices
Tutorial #28: Katalon Studio&Tutorial Kobiton’s Cloud-Based Device Farm Tutorial
Teste Móvel de Carreira:
Tutorial #29: Como obter um trabalho de teste móvel rápido
Tutorial #30: Perguntas e Currículo da Entrevista de Teste Móvel
Tutorial #31: Perguntas da Entrevista de Teste Móvel Parte 2
*************************************************************
Deixamos começar com o 1º tutorial da série.
- Tutorial #1: Introdução ao Teste de Aplicações Móveis
- Tipos de testes móveis
- O significado dos testes de aplicativos móveis
- Basic Difference Between Mobile and Desktop Application Testing:
- Tipos de testes de aplicativos móveis:
- Estratégia de teste da aplicação móvel
- Ferramenta recomendada
- Casos de teste para testar uma aplicação móvel
- Atividades e procedimentos típicos em Testing Mobile Application
- Como testar aplicativos móveis em ambas plataformas Android e iOS
- Basic Difference between Android and iOS Testing
- Factores Chave no Teste Móvel
- Definir seu próprio escopo de testes
- Não Limite seus Testes
- Testes de interatividade entre plataformas
- Cuidado com o tamanho do seu aplicativo móvel
- Testing App Upgrade Scenarios
- O sistema operacional do dispositivo pode não suportar o aplicativo
- Teste de permissão do aplicativo
- Compare com aplicativos similares e populares no mercado
- Veja o Critério de Rejeição de Build da Apple
- Tempre esteja no Pé da Frente
- Deponha seu aplicativo em segundo plano por um longo tempo (12-24 horas)
- Teste de desempenho do seu aplicativo
- Conclusion
Tutorial #1: Introdução ao Teste de Aplicações Móveis
Extra são os dias em que o telefone era um aparelho que sentava num canto e tinha de tocar para chamar a nossa atenção ou um computador era uma máquina usada por poucas pessoas – agora são uma extensão do nosso ser – uma janela para o mundo e servidores virtuais que fazem o que lhes é dito.
Os computadores eram uma fúria e mudaram a forma como nós humanos pensávamos, nos comportávamos, aprendíamos e existíamos.
Agora, as soluções de Mobilidade tomaram conta do mercado. As pessoas não querem ligar os seus portáteis/PC para tudo, mas sim que os seus dispositivos portáteis realizem tudo rapidamente.
As soluções móveis que fornecemos aos nossos clientes devem ser testadas muito bem. Este tutorial é destinado para aquelas pessoas que já estão em testes móveis ou para aqueles que mudaram para ele nos últimos tempos. Como já temos muitos tutoriais sobre definições de terminologias relacionadas a testes móveis, estaremos lidando diretamente com o escopo deste tutorial.
Este tutorial será tanto uma introdução quanto o seu guia para testes móveis. Então, leia até!
Tipos de testes móveis
Existem, em geral, 2 tipos de testes que ocorrem em dispositivos móveis:
#1. Testes de Hardware:
O dispositivo incluindo os processadores internos, hardware interno, tamanhos de tela, resolução, espaço ou memória, câmera, rádio, Bluetooth, WIFI etc. Isto é às vezes referido como, simples “Teste Móvel”.
#2. Teste de software ou aplicativo:
As aplicações que funcionam em dispositivos móveis e suas funcionalidades são testadas. É chamado de “Mobile Application Testing” (Teste de aplicativos móveis) para diferenciá-lo do método anterior. Mesmo em aplicações móveis, existem poucas diferenças básicas que são importantes para a compreensão:
a) Aplicações nativas: Um aplicativo nativo é criado para uso em uma plataforma como móvel e tablets.
b) Aplicativos web móveis são aplicativos do lado do servidor para acessar site/s no celular usando diferentes navegadores como Chrome, Firefox conectando-se a uma rede móvel ou rede sem fio como WIFI.
c) Aplicativos híbridos são combinações de aplicativo nativo e aplicativo web. Eles são executados em dispositivos ou offline e são escritos usando tecnologias web como HTML5 e CSS.
Existem poucas diferenças básicas que os diferenciam:
- Aplicativos nativos têm afinidade de plataforma única, enquanto aplicativos web móveis têm afinidade entre plataformas.
- Aplicações nativas são escritas em plataformas como SDKs, enquanto aplicações web móveis são escritas com tecnologias web como HTML, CSS, asp.net, Java, PHP.
- Para uma aplicação nativa, a instalação é necessária, mas para aplicações web móveis, nenhuma instalação é necessária.
- Um aplicativo nativo pode ser atualizado da loja de jogos ou da loja de aplicativos enquanto aplicativos web móveis são atualizações centralizadas.
- Muitos aplicativos nativos não requerem uma conexão com a Internet, mas para aplicativos web móveis, é uma necessidade.
- Aplicativo nativo funciona mais rápido quando comparado com aplicativos web móveis.
- Aplicativos nativos são instalados a partir de lojas de aplicativos como a loja de jogos do Google ou loja de aplicativos onde a web móvel são sites e só são acessíveis através da Internet.
O resto do artigo vai ser sobre testes de aplicativos móveis.
O significado dos testes de aplicativos móveis
Testar aplicativos em dispositivos móveis é mais desafiador do que testar aplicativos web na área de trabalho devido a
- Diferentes tipos de dispositivos móveis com diferentes tamanhos de tela e configurações de hardware como um teclado rígido, teclado virtual (touchscreen) e trackball, etc.
- Várias variedades de dispositivos móveis como HTC, Samsung, Apple e Nokia.
- Diferentes sistemas operativos móveis como Android, Symbian, Windows, Blackberry e IOS.
- Diferentes versões do sistema operativo como iOS 5.x, iOS 6.x, BB5.x, BB6.x etc.
- Diferentes operadores de rede móvel como GSM e CDMA.
- Actualizações frequentes – (como Android- 4.2, 4.3, 4.4, iOS-5.x, 6.x) – com cada atualização é recomendado um novo ciclo de testes para garantir que nenhuma funcionalidade da aplicação seja impactada.
Como em qualquer aplicação, o teste de aplicações móveis também é muito importante, já que a clientela está normalmente em milhões para um determinado produto – e um produto com bugs nunca é apreciado. Muitas vezes resulta em perdas monetárias, problemas legais e danos irreparáveis à imagem de marca.
Basic Difference Between Mobile and Desktop Application Testing:
Poucos aspectos óbvios que diferenciam o teste de aplicativos móveis do teste de desktop
- No desktop, o aplicativo é testado em uma unidade central de processamento. Num dispositivo móvel, a aplicação é testada em aparelhos como Samsung, Nokia, Apple e HTC.
- O tamanho do ecrã do dispositivo móvel é menor que o de um desktop.
- Os dispositivos móveis têm menos memória que um desktop.
- Os telemóveis utilizam ligações de rede como 2G, 3G, 4G ou WIFI, onde o desktop utiliza ligações de banda larga ou dial-up.
- A ferramenta de automação usada para testes de aplicativos desktop pode não funcionar em aplicativos móveis.
Tipos de testes de aplicativos móveis:
Para abordar todos os aspectos técnicos acima, os seguintes tipos de testes são realizados em aplicativos móveis.
- Teste de usabilidade- Para garantir que o aplicativo móvel seja fácil de usar e forneça uma experiência satisfatória para os clientes
- Teste de compatibilidade- Teste do aplicativo em diferentes dispositivos móveis, navegadores, tamanhos de tela e versões do SO de acordo com os requisitos.
- Teste de interface – Teste das opções de menu, botões, marcadores, histórico, configurações e fluxo de navegação do aplicativo.
- Teste de serviços – Teste dos serviços do aplicativo online e offline.
- Teste de recursos de baixo nível: Teste do uso de memória, apagamento automático de arquivos temporários, problemas de crescimento da base de dados local conhecidos como teste de recursos de baixo nível.
- Teste de desempenho- Teste do desempenho do aplicativo alterando a conexão de 2G, 3G para WIFI, compartilhamento de documentos, consumo de bateria, etc.
- Teste operacional- Teste de backups e plano de recuperação em caso de queda da bateria ou perda de dados durante a atualização do aplicativo a partir de uma loja.
- Testes de instalação- Validação da aplicação através da instalação / desinstalação nos dispositivos.
- Teste de segurança- Teste de uma aplicação para validar se o sistema de informação protege ou não os dados.
Estratégia de teste da aplicação móvel
A estratégia de teste deve garantir que todas as orientações de qualidade e desempenho são cumpridas. Algumas dicas nesta área:
1) Seleção dos dispositivos – Analise o mercado e escolha os dispositivos que são amplamente utilizados. (Esta decisão depende principalmente dos clientes. O cliente ou os construtores do aplicativo consideram o fator de popularidade de certos dispositivos, bem como as necessidades de marketing do aplicativo para decidir que aparelhos usar para testes.)
2) Emuladores – O uso destes é extremamente útil nos estágios iniciais de desenvolvimento, uma vez que permitem a verificação rápida e eficiente do aplicativo. O emulador é um sistema que executa software de um ambiente para outro sem alterar o software em si. Ele duplica as funcionalidades e funciona no sistema real.
Tipos de Emuladores Móveis
- Emulador de Dispositivos- fornecido pelos fabricantes de dispositivos
- Emulador de Navegadores- simula ambientes de navegadores móveis.
- Emulador de sistemas operacionais – Apple fornece emuladores para iPhones, Microsoft para telefones Windows e Google Android
Ferramenta recomendada
#1) Kobiton
Kobiton é uma plataforma de experiência móvel baseada em nuvem acessível e altamente flexível que acelera os testes e a entrega de aplicativos nativos, web e híbridos tanto no Android como no iOS usando dispositivos reais. Sua nova automação de testes sem scripts ajuda as equipes sem experiência em codificação a gerar scripts Appium padrão abertos com facilidade.
>
=> Visite o site de Kobiton
Lista de poucos emuladores de dispositivos móveis gratuitos e fáceis de usar
i. Emulador de telemóveis – Usado para testar aparelhos como iPhone, Blackberry, HTC, Samsung etc.
>
ii. MobiReady – Com isto, não só podemos testar a aplicação web, como também podemos verificar o código.
>
iii. Responsivepx – Verifica as respostas das páginas web, aparências e funcionalidade dos sites.
iv. Screenfly – É uma ferramenta personalizável e usada para testar websites sob diferentes categorias.
3) Após um nível de desenvolvimento satisfatório para o aplicativo móvel, você poderia passar a testar nos dispositivos físicos para cenários mais reais baseados em testes.
4) Considere testes baseados em computação em nuvem: A computação em nuvem é basicamente executar dispositivos em vários sistemas ou redes via Internet, onde os aplicativos podem ser testados, atualizados e gerenciados. Para fins de teste, ele cria o ambiente móvel baseado na web em um simulador para acessar o aplicativo móvel.
Pros:
- Backup e recuperação – A computação em nuvem automaticamente retoma os seus dados a partir de localização remota, tornando a recuperação e restauração dos dados facilmente. E também, a capacidade de armazenamento é ilimitada.
- Clouds podem ser acessados de diferentes dispositivos e em qualquer lugar.
- Computação em nuvem é econômica, fácil de usar, manter e atualizar.
- Realização rápida e rápida.
- Interface baseada na Web.
- Pode executar o mesmo script em vários dispositivos em paralelo.
Cons
- Menos controle- Como a aplicação roda no ambiente remoto ou de terceiros, o usuário tem controle limitado e acesso às funções.
- Problemas de conectividade à Internet- a configuração está na Internet. Problemas de rede afetam a disponibilidade e funcionamento
- Questões de segurança e privacidade – a computação em nuvem é uma computação na Internet e nada na Internet está completando seguro, por isso as chances de hacking de dados são maiores.
5) Automação vs. Teste manual
- Se a aplicação contém novas funcionalidades, teste-a manualmente.
- Se a aplicação requer teste uma ou duas vezes, faça-o manualmente.
- Automate os scripts para casos de teste de regressão. Se os testes de regressão forem repetidos, o teste automatizado é perfeito para isso.
- Automate os scripts para cenários complexos que consomem tempo se executados manualmente.
Dois tipos de ferramentas de automação estão disponíveis para testar aplicativos móveis:
Ferramentas de teste móveis baseadas em objetos – automação mapeando elementos na tela do dispositivo em objetos. Esta abordagem é independente do tamanho da tela e usada principalmente para dispositivos Android.
- Eg:- Ranorex, solução jamo
Ferramentas de teste móvel baseadas em imagens – crie scripts de automação baseados em coordenadas de tela de elementos.
- Eg:- Sikuli, Egg Plant, RoutineBot
6) A configuração de rede também é a parte necessária dos testes móveis. É importante validar a aplicação em diferentes redes como 2G, 3G, 4G ou WIFI.
Casos de teste para testar uma aplicação móvel
Além dos casos de teste baseados em funcionalidade, os testes de aplicações móveis requerem casos de teste especiais que devem cobrir os seguintes cenários.
- Utilização da bateria – É importante manter um registo do consumo da bateria durante a execução da aplicação nos dispositivos móveis.
- A velocidade da aplicação – o tempo de resposta em diferentes dispositivos, com diferentes parâmetros de memória, com diferentes tipos de rede, etc.
- Requisitos de dados – Para instalação, bem como para verificar se o usuário com o plano de dados limitado será capaz de baixá-lo.
- Necessidade de memória – novamente, para baixar, instalar e executar
- A funcionalidade do aplicativo – certifique-se de que o aplicativo não está travando devido a falha de rede ou qualquer outra coisa.
Download de algumas amostras de casos de teste para testar aplicativos móveis:
>
>>Fazer download de casos de teste de aplicativos móveis
Atividades e procedimentos típicos em Testing Mobile Application
O escopo do teste depende de uma série de requisitos a serem verificados ou da extensão das alterações feitas no aplicativo. Se as mudanças forem poucas, uma rodada de testes de sanidade será suficiente. No caso de alterações maiores e/ou complexas, uma regressão completa é recomendada.
Um exemplo de projeto de teste de aplicação: ILL (International Learn Lab) é um aplicativo projetado para ajudar a administração, editora a criar sites em colaboração. Usando um navegador web, os instrutores escolhem entre um conjunto de recursos para criar uma classe que atenda aos seus requisitos.
Processo de testes móveis:
Passo #1. Identificar os tipos de testes: Como um aplicativo ILL é aplicável para navegadores, é obrigatório testar este aplicativo em todos os navegadores suportados usando diferentes dispositivos móveis. Precisamos fazer testes de usabilidade, funcionalidade e compatibilidade em diferentes navegadores com as combinações de casos de testes manuais e de automação.
Passo #2. Testes manuais e automatizados: A metodologia seguida para este projeto é Agile com a iteração de duas semanas. A cada duas semanas a equipe de desenvolvimento lança um novo build para a equipe de testes e a equipe de testes irá executar seus casos de teste em ambiente de GQ. A equipe de automação cria scripts para o conjunto de funcionalidades básicas e executa os scripts que ajudam a determinar se a nova build é estável o suficiente para testar. A equipe de testes manuais irá testar a nova funcionalidade.
JIRA é usada para escrita de critérios de aceitação; manutenção de casos de teste e registro /re-verificação de defeitos. Uma vez terminada a iteração, é realizada uma reunião de planejamento de iteração onde o dev. A equipe, proprietário do produto, analista de negócios e equipe de QA discutem o que correu bem e o que precisa melhorar.
Passo #3. Teste Beta: Uma vez que o teste de regressão é completado pela equipe de QA, a construção se move para o UAT. O teste de aceitação do usuário é feito pelo cliente. Eles re-verificam todos os bugs para ter certeza que cada bug foi corrigido e a aplicação está funcionando como esperado em cada navegador aprovado.
Passo #4. Teste de desempenho: A equipe de testes de desempenho testa o desempenho da aplicação web usando scripts JMeter e com diferentes cargas na aplicação.
Passo #5. Teste de navegadores: O aplicativo web é testado em vários navegadores – tanto usando diferentes ferramentas de simulação quanto fisicamente usando dispositivos móveis reais.
Passo #6. Plano de lançamento: Após cada 4ª semana, o teste passa para a fase de testes, onde uma rodada final de teste final nesses dispositivos é realizada para garantir que o produto esteja pronto para a produção. E então, ele vai Live!
*****************************************
Como testar aplicativos móveis em ambas plataformas Android e iOS
É muito importante para os testadores que testam seus aplicativos em ambas plataformas iOS e Android para saber a diferença entre ambos. iOS e Android têm muitas diferenças w.r.t para o visual, visualizações de aplicativos, padrões de codificação, desempenho, etc
Basic Difference between Android and iOS Testing
You might have gone through all the tutorials, I have put in some major differences here, which in turn will help you as part of your testing:
#1) Como temos muitos dispositivos Android disponíveis no mercado e todos eles vêm com resoluções e tamanhos de tela diferentes, portanto esta é uma das maiores diferenças.
Por exemplo, o tamanho do Samsung S2 é muito pequeno quando comparado com o Nexus 6. Há grandes possibilidades de que o layout e design do seu aplicativo fique distorcido em um dos dispositivos. A probabilidade é baixa no iOS, pois só existem dispositivos contabilizáveis disponíveis no mercado e desses muitos telefones têm resoluções semelhantes.
Por exemplo, antes do iPhone 6 e acima, todas as versões anteriores tinham apenas o mesmo tamanho.
#2) Exemplo para afirmar o ponto acima é que no Android os desenvolvedores devem usar imagens 1x,2x,3x,4x e 5x para suportar resoluções de imagem para todos os dispositivos, enquanto o iOS usa apenas 1x,2x e 3x. No entanto, torna-se responsabilidade do testador garantir que as imagens e os outros elementos da UI sejam exibidos corretamente em todos os dispositivos.
Você pode consultar o diagrama abaixo para entender o conceito de resoluções de imagem:
#3) Como temos o mercado inundado com dispositivos Android, o código deve ser escrito de tal forma que a performance permaneça estável. Portanto, é bastante provável que o seu aplicativo possa se comportar lentamente em dispositivos inferiores.
#4) Outro problema com o Android é que as atualizações de software não estão disponíveis para todos os dispositivos de uma só vez. Os fabricantes de dispositivos decidem quando atualizar seus dispositivos. Torna-se uma tarefa muito difícil testar tudo, tanto com o novo sistema operacional como com o antigo sistema operacional.
Também, torna-se uma tarefa complicada para os desenvolvedores modificarem seu código para suportar ambas as versões.
Por exemplo, quando o Android 6.0 chegou, houve uma grande mudança quando este sistema operacional começou a suportar permissões de nível de aplicativo. Para esclarecer melhor, o usuário poderia alterar as permissões (localização, contatos) em nível de aplicativo também.
Agora a equipe de testes tem a responsabilidade de garantir que mostrando a tela de permissões no lançamento do aplicativo no Android 6.0 e acima e não mostrando a tela de permissões nas versões inferiores.
#5) Do ponto de vista dos testes, a compilação de pré-produção (ou seja, versão beta) os testes são diferentes em ambas as plataformas. No Android, se um usuário é adicionado à lista de usuários beta então ele pode ver a compilação beta atualizada na Play Store somente se ele estiver conectado na Play Store com o mesmo e-mail ID que é adicionado como um usuário beta.
Factores Chave no Teste Móvel
Eu tenho trabalhado no Teste Móvel nos últimos 2 anos tanto no iOS como na plataforma Android e todos os pontos chave mencionados abaixo neste tutorial são da minha experiência pessoal e alguns foram derivados dos problemas encontrados no projeto.
Definir seu próprio escopo de testes
Todos têm seu próprio estilo de testes. Alguns testadores apenas se concentram no que vêem dos seus olhos e o resto são apaixonados por tudo o que funciona nos bastidores de qualquer aplicação móvel.
Se você é um iOS/Android Tester, eu sugeriria que ao menos se familiarizasse com algumas limitações/funcionalidades básicas comuns do Android ou iOS, pois sempre agrega valor ao nosso estilo de teste. Eu sei que as coisas são difíceis de entender sem citar exemplos.
Dados abaixo são poucos exemplos:
- Não podemos alterar as permissões como câmera, armazenamento, etc. no nível do aplicativo em dispositivos Android que estão abaixo da versão 6.0.1.
- Para iOS abaixo da versão 10.0, o call kit não estava lá. Apenas para o informar em palavras simples, o call kit é utilizado por um aplicativo de chamada e mostra a visualização em ecrã inteiro quando um utilizador está a receber uma chamada dos aplicativos de chamada, como o WhatsApp, Skype, etc. Enquanto nas versões iOS abaixo de 10.0 vemos essas chamadas como um banner de notificação.
- Muitos de vocês podem ter encontrado problemas no Paytm onde a vossa aplicação não está a redireccioná-lo para a página de pagamento do banco no caso de querer adicionar dinheiro à vossa carteira. Nós achamos que o acima é um problema com nosso banco ou servidor Paytm, mas é só que o nosso AndroidSystemWebView não está atualizado. Pouco conhecimento sobre programação é sempre útil para você e para compartilhar com sua equipe.
- Em palavras simples, sempre que um aplicativo estiver abrindo qualquer página web nele, então AndroidSystemWebView deve ser atualizado.
Não Limite seus Testes
Teste não deve se limitar apenas a explorar o aplicativo móvel e bugs de registro. Nós, como QA devemos estar cientes de todos os pedidos que fazemos ao nosso servidor e da resposta que obtemos dele.
Configure Putty para ver os logs ou verificar a lógica sumo para logs dependendo do que está sendo usado em seu projeto. Isto não só o ajuda a conhecer o fluxo End-to-End da aplicação, mas também o torna um melhor testador à medida que obtém mais ideias e cenários agora.
Reason: Nada vem a este mundo sem nenhuma razão. Qualquer afirmação deve ter uma razão válida por trás disso. A razão por detrás da análise dos logs é que muitas excepções são observadas nos logs mas não mostram qualquer impacto na IU e por isso não notamos isso.
Então, devemos ignorá-la?
Não, não devemos. Não tem qualquer impacto sobre a IU, mas pode ser uma preocupação futurista. Poderíamos potencialmente ver a nossa aplicação a cair se este tipo de excepção continuasse a rastejar. Como mencionamos sobre o App Crash na última frase, isto leva a QA a ter acesso aos crashlytics do projeto.
Crashlytics é uma ferramenta onde os crashes são registrados junto com o tempo e o modelo do dispositivo.
Agora a questão aqui é que se o testador viu o app crashing então por que ele precisa se preocupar com os crashlytics?
A resposta a isto é bem interessante. Há alguns crashes que podem não ser visíveis na interface do usuário, mas eles estão logados nos crashlytics. Pode estar fora da memória ou algumas exceções fatais que podem impactar o desempenho mais tarde.
Testes de interatividade entre plataformas
Testes de interação entre plataformas é muito importante.
Citando um Exemplo simples, digamos que está a trabalhar numa aplicação de chat como a WhatsApp que suporta o envio de imagens e vídeos e a aplicação é construída em ambas as plataformas iOS e Android(O desenvolvimento pode ou não estar a decorrer em sincronia)
Conseguir testar a comunicação do Android e do iOS, sendo que a razão é que o iOS utiliza o “Objective C” enquanto que a programação do Android é baseada em Java e devido ao facto de ambas serem construídas em plataformas diferentes, por vezes é necessário fazer correcções extra ao lado da aplicação para reconhecer strings provenientes de plataformas de linguagens diferentes.
Cuidado com o tamanho do seu aplicativo móvel
Outros conselhos importantes para os testadores móveis – Por favor, continue verificando o tamanho do seu aplicativo após cada lançamento.
Devemos assegurar que o tamanho do aplicativo não atinja um ponto onde nem mesmo nós, como usuário final, não desejamos baixar este aplicativo devido ao seu grande tamanho.
Testing App Upgrade Scenarios
Para os testadores móveis, o teste de atualização do aplicativo é muito importante. Certifique-se de que seu aplicativo não trave no upgrade, pois a equipe de desenvolvimento pode ter feito um erro de correspondência de um número de versão.
A retenção de dados também é tão importante quanto em qualquer preferência que o usuário tenha salvo na versão anterior deve ser mantida quando ele atualizar o aplicativo.
Por exemplo, um usuário pode ter salvo os detalhes de seu cartão bancário em aplicativos como PayTm, etc.
O sistema operacional do dispositivo pode não suportar o aplicativo
Sons Interessante?
Sim, muitos dispositivos podem não suportar o seu aplicativo. Muitos de vocês devem saber que os vendedores escrevem seus próprios wrappers no topo dos EUA e pode ser possível que qualquer consulta SQL do seu aplicativo não seja compatível com o dispositivo e, portanto, ele lança uma exceção e pode resultar em nem mesmo lançar o aplicativo naquele telefone.
O ponto aqui é – Tente usar seu aplicativo em seus próprios dispositivos, exceto aqueles que você usa no escritório. É bem possível que você veja alguns problemas com seu aplicativo.
Teste de permissão do aplicativo
Próximo na lista é o Teste de permissão de aplicativos móveis. Quase todo segundo aplicativo pede aos seus usuários acesso ao contato do telefone, câmera, Galeria, Localização, etc. Vi poucos testadores que cometem um erro ao não testar as combinações adequadas destas permissões.
Eu posso lembrar um Exemplo em tempo real quando estávamos testando um aplicativo de chat que tinha todos os recursos de compartilhamento de imagens e arquivos de áudio. A permissão para armazenamento foi definida como NO.
Agora, quando um usuário clicava na opção Câmera ela nunca abriu até que a permissão para armazenamento fosse definida como SIM. O cenário foi ignorado como Android Marshmallow tinha essa funcionalidade que se a permissão de armazenamento está definido para NÃO, a câmera não pode ser usada para esse app.
O escopo se estende mais do que o que discutimos no parágrafo acima. Devemos ter certeza de que o aplicativo não está pedindo nenhuma permissão que não são utilizados.
Um usuário final familiarizado com a indústria de software não pode baixar o aplicativo no qual muitas permissões são pedidas. Se você removeu algum recurso do seu aplicativo, então certifique-se de remover a tela de permissão para o mesmo.
Compare com aplicativos similares e populares no mercado
Moral da história – Se alguma vez você estiver em dúvida, então simplesmente não conclua você mesmo. Comparar com outros aplicativos similares na mesma plataforma pode fortalecer seu argumento de que a funcionalidade em teste funcionará ou não.
Veja o Critério de Rejeição de Build da Apple
Por último, a maioria de vocês pode ter se deparado com situações em que seus builds foram rejeitados pela Apple. Eu sei que este tópico não interessará grande parte dos leitores mas é sempre bom conhecer as políticas de rejeição da Apple.
Como um testador, torna-se difícil para nós atender aos aspectos técnicos mas ainda assim, há algum critério de rejeição que os testadores podem cuidar.
Para mais informações sobre isto, clique aqui.
Tempre esteja no Pé da Frente
Sendo um testador, não deixe as coisas passarem para a sua quadra pela Equipe/Gerentes do Dev. Se você é apaixonado por testar, então “Esteja sempre no Pé da Frente”. Tente se engajar em atividades que acontecem bem antes do código chegar ao seu balde para testar.
Mais importante, continue olhando para JIRA, QC, MTM ou o que for usado no seu projeto para todas as últimas atualizações sobre os bilhetes dos clientes e do Analista de Negócios. Além disso, esteja pronto para compartilhar suas opiniões se você precisar de modificações. Isto aplica-se a todos os testadores que estão a trabalhar em vários domínios e plataformas.
até e a menos que não sintamos o produto como nosso, nunca devemos dar sugestões para novas melhorias ou alterações à funcionalidade existente.
Deponha seu aplicativo em segundo plano por um longo tempo (12-24 horas)
Eu sei que parece estranho mas há muita lógica por trás dos bastidores que todos nós não entendemos.
Eu estou compartilhando isso porque eu vi o aplicativo quebrar depois de lançá-lo, digamos depois de cerca de 14 horas do estado de fundo. A razão pode ser qualquer coisa, dependendo de como os desenvolvedores a codificaram.
Deixe-me compartilhar um exemplo em tempo real:
No meu caso a expiração do token foi a causa por trás disso. Para um dos aplicativos de chat, se lançado após 12-14 horas estaria preso no banner de conexão e nunca seria conectado até ser morto e relançado. Esse tipo de coisa é muito difícil de pegar e, de certa forma, torna os testes móveis mais desafiadores e criativos.
Teste de desempenho do seu aplicativo
No mundo móvel, o desempenho do seu aplicativo tem impacto na extensão em que seu aplicativo está sendo reconhecido mundialmente. Como uma equipe de testes, torna-se muito importante verificar a resposta do seu aplicativo e, mais importante ainda, como ele funciona quando um grande número de usuários está usando-o todo junto.
Exemplo:
Vamos falar sobre PayTm.
Todos vocês devem ter clicado na opção ADICIONAR DINHEIRO na aplicação PayTm, que então exibe o saldo que você tem na sua carteira. Se considerarmos o que está acontecendo nos bastidores, então é um pedido que vai para o servidor com o PayTm UserID e o servidor envia de volta a resposta com o saldo em sua conta.
O caso acima é apenas quando um usuário acertou o servidor. Nós precisamos ter certeza de que mesmo quando 1000 usuários atingirem o servidor, eles devem receber de volta a resposta bem no prazo porque a usabilidade do usuário final é nosso objetivo principal.
Conclusion
Eu concluiria este tutorial reiterando que o teste móvel parece ser muito fácil no início, mas à medida que você continua a pesquisar, você vai entender que não é fácil garantir que o que quer que tenha sido desenvolvido irá funcionar sem problemas em milhares de dispositivos em todo o mundo.
Você verá principalmente as aplicações que são suportadas apenas nas últimas e últimas versões do SO. No entanto, torna-se o dever dos testadores garantir que eles não percam nenhum cenário. Eles são muitos outros pontos que precisam ser levados em consideração, mas eu não mencionei aqueles já iterados nos outros tutoriais.
Cenários como consumo de bateria, testes de interrupção, testes em diferentes redes (3G, Wi-Fi), testes em redes de comutação, testes em macacos de aplicativos móveis, etc. são todos úteis quando se trata de testes móveis.
A atitude dos testadores é muito importante quando se trata do ambiente de testes reais. Até e a menos que você ame seu trabalho você não se incomodará em fazer coisas que são mencionadas no tutorial.
Eu estou neste campo há cerca de 6 anos e estou muito bem ciente de que as tarefas ficam monótonas às vezes, mas há muitas outras coisas que podemos fazer por conta própria para tornar essas tarefas monótonas um pouco interessantes.
Desenhar a estratégia de teste certa, escolhendo os simuladores móveis, dispositivos e ferramentas de teste móveis certos pode garantir que temos 100% de cobertura de teste e nos ajudar a incluir testes baseados em segurança, usabilidade, desempenho, funcionalidade e compatibilidade em nossas suítes de teste.
Bem, este tem sido o nosso esforço para atender a várias solicitações de nossos leitores em um guia de teste de aplicativos móveis.
Autores: Graças ao Swapna, Hasnet, e muitos outros especialistas em testes móveis por nos ajudar a compilar esta série!
Em nosso próximo artigo, discutiremos mais sobre o iOS App Testing.
Última Atualização: 18 de fevereiro de 2021