Na última década, tem havido uma proliferação de utilizadores de smartphones. Hoje em dia, os cidadãos americanos gastam mais tempo com dispositivos móveis do que com a televisão.
/p>
Source – eMarketer.com
P>Predominantemente, os utilizadores de smartphones gastam tempo em aplicações móveis. Assim, é essencial desenvolver uma grande experiência em aplicações móveis. Para assegurar que as suas aplicações funcionam sem problemas no Android e no iOS, é fundamental que se façam testes adequados antes de as lançar nas respectivas lojas de aplicações.
Neste artigo, discutiremos as melhores práticas para testes de aplicações móveis. Falaremos sobre as frameworks de teste mais populares e veremos como utilizar algumas delas como Appium, Selendroid.
Automated Mobile Application Testing Frameworks
Existem muitas frameworks e ferramentas utilizadas para testes de aplicações móveis. Algumas das mais populares são:
Appium
Appium é uma ferramenta de código aberto popular utilizada para testes automatizados de aplicações móveis. Um programador pode testar as suas aplicações nativas ou híbridas iOS e Android usando o Appium. O Appium não funciona sozinho. Executa os casos de teste utilizando a interface WebDriver. Uma vez que suporta múltiplas plataformas, os testadores podem também reutilizar o seu código fonte para testes em iOS e Android.
Executar os seus testes Appium no verdadeiro Android & dispositivos iOS
Testar 100 minutos diários gratuitamente.
Calabash
Calabash é uma estrutura de testes de aplicação móvel que funciona com várias línguas. Suporta Ruby, Java, Flex, e .NET. Os testadores podem utilizar APIs para permitir aplicações nativas que funcionam em dispositivos com ecrã táctil. Esta estrutura tem bibliotecas que permitem a interacção programática de scripts de teste com aplicações nativas e híbridas.
Selendroid
Selendroid é também conhecida como selénio para aplicações móveis para Android. Os testadores podem fazer testes de aplicações móveis nativas e híbridas usando Selendroid. O Selendroid pode executar casos de teste paralelos em múltiplos dispositivos, semelhante ao Selenium para testes de cross browser.
Espresso
Espresso é uma estrutura de teste útil para automatizar os testes de Interface de Utilizador (IU) de uma aplicação móvel. Dado que o teste da interface de utilizador de uma aplicação é essencial antes da sua implementação, os criadores e testadores de aplicações utilizam amplamente o Espresso. Os programadores podem criar um cenário e registar a forma como interagem com um dispositivo. Em seguida, podem adicionar afirmações que verificam o comportamento dos elementos de IU da aplicação, capturando instantâneos. A ferramenta salva a gravação e gera casos de teste de IU que podem utilizar para testar a sua aplicação.
Robotium
Robotium é uma ferramenta popular de código aberto dedicada apenas a testar aplicações andróides. Os casos de teste são escritos em Java. O Robotium é popular pela sua capacidade de escrever casos de teste automatizados de caixa negra. Automatiza múltiplas actividades que um testador pode executar na sua aplicação andróide e leva um tempo mínimo para escrever casos de teste.
Além destas, existem outras ferramentas populares como Monkeytalk, Testdroid, Frank, UIAutomator.
Dicas e Melhores Práticas para Testes Automatizados de Aplicações Móveis
Below são algumas das melhores práticas que as equipas de engenharia devem seguir enquanto pensam em testes automatizados de aplicações móveis :
- li>Make Application Testable
Na era ágil actual, os programadores têm de construir aplicações que estejam prontas para serem testadas. Os programadores devem discutir activamente com as equipas de teste para definir orientações. Por exemplo, os programadores devem dar aos elementos uma identificação única para o tornar testável.
- Não utilizar excessivamente o XPath
XPath é uma linguagem de consulta que pode seleccionar nós num ficheiro XML. Pode ser utilizada para navegar através de elementos durante os testes. O Google ou a Apple não fornecem nativamente consultas do tipo XPath. Assim, se os testadores os estiverem a utilizar muito, o Appium é forçado a fazer algumas chamadas. Estas chamadas por baixo do capô encontram elementos de suporte XPath mas têm um impacto negativo no desempenho.
- li>Selectores de amplitude na ordem correcta/ul>
XPath é baseado na localização. É lento quando comparado com outros localizadores em selénio como ID, Texto de Ligação, ou Nome. Encomende os selectores de uma forma que o ID venha primeiro e XPath venha por último, para identificar os elementos mais rapidamente.
- Use Accessibility IDs
Em vez do uso excessivo de XPath, os testadores podem fazer uso de localizadores de IDs de acessibilidade. Se os utilizadores definirem IDs de acessibilidade nos seus elementos, isso torna-os mais testáveis e aumenta o âmbito dos testes da sua aplicação.
- >li>Considerar os estados de Visualização da Aplicação
View state é uma técnica utilizada para armazenar o valor da página quando a aplicação envia ou recebe informação do servidor. Suponhamos que existem 15 casos de teste para uma funcionalidade específica da aplicação. Entre eles, 10 casos de teste repetem a mesma funcionalidade de iniciar sessão e ir para a página. Esta duplicação é um enorme desperdício de tempo. Ao desenvolver, configurar o estado de visualização da aplicação de modo a que os testes comecem exactamente onde é necessário.
- li>Não se comprometa com Emuladores e Simuladores
Emuladores e Simuladores imitam parcialmente os dispositivos reais. No entanto, o desempenho de uma aplicação varia com base na configuração de software e hardware dos dispositivos reais dos utilizadores. Assim, o teste de aplicações móveis em dispositivos reais é uma obrigação. Mesmo a Google e a Apple recomendam fazê-lo antes de submeter aplicações na loja Google Play e App.
Uma forma ideal de obter a máxima cobertura é utilizar um produto de teste baseado na nuvem como o BrowserStack, que fornece acesso a 2000+ dispositivos reais através do iOS e Android.
Teste Baseado na Nuvem de Iniciação Gratuito
Summing it up
Com o aumento da penetração de smartphones e do tempo gasto em dispositivos móveis, garantir uma experiência de aplicação móvel sem descontinuidades é fundamental. Para o conseguir, as equipas devem adoptar o quadro de testes correcto. As estruturas populares de automatização de testes incluem Appium, Calabash, Selendroid. As equipas de desenvolvimento devem também ter em mente as melhores práticas e devem trabalhar activamente com as equipas de teste para garantir que constroem aplicações que são mais fáceis de testar. Os testes também devem ser feitos em dispositivos reais, em vez de emuladores e simuladores. Tudo isto ajudará as equipas a enviar aplicações mais rapidamente e dará aos utilizadores uma experiência sem bugs.