Falar em testes durante o desenvolvimento de aplicativos é falar de rotina. Mais do que uma etapa do projeto, os testes garantem a qualidade do produto desenvolvido e seu bom funcionamento, além de auxiliar na detecção de possíveis falhas. Durante a criação de um app, algumas etapas são fundamentais: planejamento, prototipação, desenvolvimento do software, teste de qualidade e publicação (isso sem contar a manutenção). Entre os testes mais conhecidos estão o de compatibilidade, mobilidade, usabilidade, desempenho, sincronismo, segurança e funcionalidade. Essas etapas devem ser seguidas para alcançar o melhor resultado na entrega do aplicativo.
Um problema bastante comum em equipes desenvolvedoras de software é acabar deixando de lado alguns testes da solução em diferentes plataformas. E isso se dá por diferentes fatores, como falta de recursos, tempo ou mesmo alinhamento. Porém, executar testes automatizados em diferentes dispositivos é primordial. Além de garantir um bom resultado, os testes diminuem a chance de erros durante a utilização do usuário. Nesse cenário, um bom caminho é recorrer ao Device Farm (fazenda de dispositivos).
Para entender como otimizar seus Testes Mobile usando Device Farms em soluções Cloud ou On-Primese, separamos algumas dicas do CEO da Prime Control, Everton Arantes. Esse foi o tema de sua palestra durante o evento QA Xperience, realizado em São Paulo no ano passado. Vem com a gente!
O que é Device Farm?
Device Farm nada mais é do que um conjunto de dispositivos disponibilizados para interagir com aplicativos Android, iOS e Web em smartphones e tablets reais físicos. São especialmente úteis para executar testes de apps em uma variedade de dispositivos.
Existem duas formas possíveis para acessá-los. Uma delas é por meio de testes automatizados de aplicativos usando uma variedade de estruturas. Outra forma é utilizá-lo como acesso remoto aos dispositivos nos quais você pode interagir com os aplicativos em tempo real. Normalmente, as plataformas que disponibilizam Device Farms como um serviço cobram por minuto com condições de uso e a maioria funciona por meio do próprio navegador ou aplicações próprias.
Você pode testar seus aplicativos utilizando basicamente os seguintes recursos: emuladores, device clouds ou device farms On-Primese. Vamos abordar cada opção.
Na prática
Toda a estrutura citada acima é imprescindível quando falamos de testes mobile. Isso porque a exigência do consumidor quanto à rapidez, funcionalidade e eficiência é cada vez mais alta. Segundo as informações citadas na palestra, 61% dos usuários desistem caso um app não abra em menos de quatro segundos. Esse comportamento é visto também em outros casos: 53% desinstala os aplicativos quando têm travamento e 36% deixam de usar apps específicos pelo alto consumo de bateria.
Além de pensar em saídas para evitar a rejeição do público consumidor, os desenvolvedores devem se preocupar também com a vulnerabilidade dos aplicativos. Hoje, a média de vulnerabilidade existente em um celular é de 6,5%. Isso ganha a importância por conta da LGPD, que busca manter os dados de clientes seguros.
Emuladores
Os emuladores irão lhe auxiliar a adequar o aplicativo ao ambiente. Isso porque essa fase será a prova de fogo para verificar se a sua solução funciona nos diferentes tipos de aparelho. Um ponto positivo dos emuladores é que você consegue colocar o teste para rodar rapidamente e nele você consegue testar características básicas. Mas vale lembrar que: se seu app tem vínculo com GPS, sensor de movimento, o outras funcionalidades como essas, pode ser que o emulador não seja suficientemente confiável.
Device Clouds
Quando o assunto é Device Clouds, muitas dúvidas aparecem. Qual escolher? Como? O que fazer para que o custo não seja tão alto? Calma, nós vamos te ajudar! Primeiro é preciso esclarecer que você utiliza esse serviço quando precisa testar a performance do app, ou seja, como ele se comporta, como está o consumo de bateria etc.
São diferentes tipos de Device Clouds que você pode optar. Mesmo as menores já são bastante úteis – elas têm pelo menos 200 dispositivos para você utilizar em seus testes. Para escolher a solução ideal, o melhor caminho é entender a necessidade e a demanda no cliente. A partir dessa informação já é possível saber qual solução se adequa melhor ao seu caso. Veja algumas opções bastante utilizadas:
- AWS (Amazon): líder de mercado, permite testar e interagir com aplicativos Android, iOS e Web em vários dispositivos ao mesmo tempo ou reproduzir problemas em um dispositivo em tempo real.
- Perfecto: um dos líderes do mercado, a plataforma fornece testes de dispositivos de várias maneiras, incluindo o Laboratório de Qualidade Contínua. Também conta com recursos para testes manuais, automação de testes, testes de desempenho móvel e monitoramento de dispositivos reais.
- Firebase (Google): criado sobre a infraestrutura do Google, faz o escalonamento automático para apps. Além disso, conta com integrações nas plataformas do próprio Google, que pode auxiliar nas análises e relatórios. É uma boa opção para iniciar, pois conta com até 10 testes em emuladores grátis.
- App Center (Microsoft): assim como os demais, permite ao desenvolvedor instalar, testar, distribuir, monitorar aplicativos móveis bem como adicionar, de modo simples, serviços de nuvem no back-end e push notifications.
Soluções On-Primese
Os servidores On-Premises são Device Farms físicas que ficam normalmente armazenados na própria empresa. Ele oferece personalização e segurança para os projetos. A vantagem é ter a gestão e disponibilidade 100% sua. Quando uma empresa precisa de muitas variações de dispositivos ou configurações específicas, não vale a pena fechar com uma solução cloud. Por isso, um caminho é a solução On-Primese.
Case Vivo
Um dos maiores clientes da Prime Control, que utiliza uma Device Farm On-Primese, é a Vivo. Um objetivo constante na Vivo é aprimorar seus apps para que seus clientes possam ter suas demandas resolvidas por meio do aplicativo, sem ter que ligar para o call center. As empresas que ainda não pensam nisso, acabam perdendo dinheiro. Portanto, é preciso facilitar a experiência do usuário. Contudo, um dos grandes desafios é assegurar o bom funcionamento levando em consideração as fragmentações de dispositivos, tipos de sistemas operacionais e detalhes que podem influenciar diretamente no resultado de uma solução.
No On-Primese da Vivo, fazemos 2 mil combinações entre versões de sistemas, modelos a aparelhos. São 80 devices, onde 20 deles ficam focados em um monitoramento de produção, que funciona 24 horas por dias, sete dias por semana. O intuito com eles é ser proativo, antecipando bugs antes dos clientes reclamarem. Os outros 60 devices ficam focados em UAT. E por ser um cliente bastante grande, outras empresas também auxiliam na automação do aplicativo. A nossa responsabilidade é dar toda a sustentação dessa estrutura 24/7.
Por isso, leve em consideração a demanda do cliente, as principais dores do público e as características do projeto para identificar se seu projeto demanda um Device Cloud ou se precisará de uma solução On-Primese.