20 de fevereiro de 2023
Granjas de Móveis: Como Testar Aplicativos Móveis no heterogêneo mercado de dispositivos
Para que nossa aplicação funcionasse no mercado da mobilidade, antigamente bastava testá-la em um pequeno conjunto de dispositivos do sistema operacional para o qual estava destinada. Com o passar do tempo, somente entre os principais fabricantes as versões de dispositivos se contam por centenas. Se combinarmos os dispositivos com os sistemas operacionais e todas as particularidades de cada um deles em diferentes âmbitos (conectividade de rede, consumo de bateria, notificações recebidas que interrompem o fluxo, uso de CPU...) as possibilidades em termos de cenários de testes seriam inúmeras.
O que é uma fazenda de dispositivos móveis?
O termo fazenda de dispositivos móveis refere-se a um ambiente de testes que permite a desenvolvedores e membros de QA implementar aplicativos compatíveis e testados em uma grande variedade de terminais móveis, sejam eles reais, emuladores, simuladores ou navegadores web. Trata-se de dispositivos móveis conectados à nuvem e acessíveis remotamente através da rede por meio de serviços fornecidos.
Existem diversos tipos de nuvens de dispositivos. Em algumas delas são fornecidos emuladores e simuladores. Outras oferecem acesso diretamente aos dispositivos físicos reais, o que oferece uma vantagem maior aos usuários desses serviços.
Neste post, veremos algumas das soluções mais conhecidas e reconhecidas de fazendas de dispositivos móveis, juntamente com as vantagens e desvantagens que cada uma delas apresenta.
Vantagens do uso de fazendas de dispositivos móveis na nuvem
Com o objetivo de que nosso aplicativo atenda às expectativas do usuário (tempos de espera minimizados, experiência do usuário (UX) o mais chamativa e atraente possível, etc.), torna-se necessário contar com um processo de testes automatizados durante o ciclo de desenvolvimento, evolução e manutenção do aplicativo.
Graças às fazendas, os desenvolvedores podem acessar diretamente dispositivos específicos nos quais executar os aplicativos, ver como se comportam em diferentes cenários e interagir com eles.
O uso das nuvens de fazendas de dispositivos móveis de terceiros nos permite:
- Fazer uso de uma ampla gama de terminais com todas as suas características de hardware e software, juntamente com outros parâmetros.
- Evitar ter que comprar todo um parque de dispositivos móveis com o custo que isso implica, a manutenção dos mesmos, seu alojamento físico, etc.
- Pode ser integrado com os fluxos de CI/CD facilmente.
- Obter resultados detalhados dos testes na forma de vídeos, registros, relatórios, capturas de tela.
- É fácil de usar e está disponível praticamente instantaneamente, pois basta contratar o plano da solução escolhida e fazer uma pequena configuração para começar a lançar nossos processos de testes.
Desvantagens
As fazendas têm a desvantagem de que não deixam de ser serviços de terceiros, o que significa que dependemos de sua disponibilidade, atualização dos dispositivos, tempos de espera se for uma solução muito demandada, confiar na segurança que fornecem e assumir os custos derivados do pagamento desse plano.
Fazenda Vs Laboratório próprio
Dependendo das necessidades que se deseja atender e levando em consideração o tamanho da empresa que realiza os desenvolvimentos, uma alternativa às nuvens de fazendas pode ser montar um laboratório de dispositivos móveis próprio. Essa solução nos permite prescindir dos serviços de terceiros associados às fazendas de dispositivos móveis.
Hoje em dia é tão enorme a quantidade de dispositivos, sistemas, navegadores e variáveis que podem ocorrer que vocês imaginam como seria realizar todas as baterias de testes manualmente? E não estamos falando apenas de testes funcionais que cobrem um grande espectro dos testes; os testes instrumentais são uma das peças-chave para validar a interface e seu comportamento e assim conseguir um aplicativo de maior qualidade.
Muitas nuvens de fazendas de dispositivos permitem a execução de testes paralelos, podendo lançar scripts de teste em múltiplos dispositivos simultaneamente com o consequente economia de tempo e obtendo resultados mais rápidos para tomar as medidas adequadas. Nossa aplicação estaria preparada mais rapidamente para sair ao mercado!
Diferentes soluções de fazendas
Existem múltiplas soluções de nuvens de terminais móveis. Fizemos uma pequena seleção das mais conhecidas e utilizadas que contamos a seguir.
AWS Device Farm
Sem dúvida alguma, a que se destaca nas soluções de fazendas de dispositivos móveis é a AWS Device Farm, sendo líder do mercado.
AWS Device Farm é um serviço que nos permite testar nossas aplicações em dispositivos reais para assegurar o correto funcionamento seja em sistemas Android, iOS ou web e em diferentes smartphones, tablets ou navegadores web.
O custo de uso desta solução é um pouco diferente, pois não se baseia em uma taxa mensal por número de dispositivos, mas inclui o fator tempo em seu modelo de pagamento.
O detalhamento dos modelos de pagamento para dispositivos móveis atualmente incluídos é:
- Pagamento por uso. Paga-se com base nos minutos de uso dos dispositivos a um preço de $0,17 por minuto. Inclui um teste gratuito único de 1000 minutos a partir do qual começa a cobrança mencionada.
- Testes e acesso ilimitados. Este plano de pagamento permite testes ilimitados e acesso remoto a partir de $250 por mês por slot. Cada slot corresponde a uma execução, ou seja, se uma execução de teste for programada em 10 dispositivos e tivermos contratado um slot, a próxima execução não começará até que o teste em 1 dispositivo seja concluído. Os slots fornecem simultaneidade; independentemente da quantidade de testes ou acessos remotos realizados, o custo mensal não variará.
Dispositivos privados. A partir de R$200 por mês, é possível dispor de dispositivos de uso exclusivo com a configuração de software e hardware solicitados.
Quanto aos testes em navegadores web, o modelo de pagamento é por minutos de uso da instância, com um preço de $0,005 por minuto de uso em qualquer um dos navegadores suportados.
As principais características do AWS Device Farm são a geração de vídeos e registros que nos ajudam a identificar mais rapidamente problemas nas aplicações executadas, se integra com a maioria das ferramentas de integração contínua e entrega contínua e possui um amplíssimo parque de dispositivos aos quais acessar.
Sauce Labs
Sauce Labs possui uma grande variedade de dispositivos Android e iOS (mais de 2000) distribuídos em nuvens públicas da Alemanha e Estados Unidos. Permite testar nossas aplicações móveis e aplicações web em diferentes navegadores e dispositivos móveis, tanto reais quanto em emuladores/simuladores. Esta solução se integra facilmente com as ferramentas de CI/CD e permite aos desenvolvedores maximizar sua produtividade com as ferramentas de depuração que fornece, como os registros de vídeo, capturas e arquivos de log.
O modelo de pagamentos do Sauce Labs inclui os planos:
- Live Testing. Testes manuais (sem automação) em milhares de navegadores, dispositivos móveis reais e emuladores/simuladores. Este plano tem um preço de $39/mês se a cobrança for anual ou $49/mês se a cobrança for mensal.
- Virtual Cloud. Testes automatizados e manuais em milhares de navegadores combinados com diferentes sistemas operacionais e em emuladores/simuladores móveis. Este plano tem um preço de $149/mês se a cobrança for anual ou $199/mês se a cobrança for mensal.
- Real Device Cloud. Testes automatizados e manuais para aplicativos móveis em milhares de dispositivos móveis reais. Este plano tem um preço de $199/mês se a cobrança for anual ou $249/mês se a cobrança for mensal.
- Plano personalizado para empresas com base nas necessidades e funções a serem utilizadas.
Os preços dos planos listados acima são para execuções individuais, sem paralelização. No momento em que se deseja paralelizar testes, o custo aumenta em função do número de execuções em paralelo escolhidas.
Firebase Test Lab (Google)
Firebase Test Lab é uma infraestrutura baseada na nuvem para a realização de testes em nossas aplicações em uma ampla gama de dispositivos e configurações, o que nos dá uma melhor visão da qualidade e do comportamento das aplicações quando um usuário final for interagir com elas. O Test Lab dispõe de múltiplos dispositivos reais conectados em um centro de dados do Google que permitem oferecer aos usuários as combinações que precisam para seus testes em termos de hardware e software.
O Firebase inclui apenas 2 planos para todos os seus módulos (a maioria deles de uso parcial ou completamente gratuitos):
- Plano Spark. Não tem custo, mas tem limite de 10 testes/dia em dispositivos virtuais e 5 testes/dia em dispositivos físicos.
- Plano Blaze. Para dispositivos virtuais não há custo até 60 minutos/dia, a partir dos quais o custo é de $1/dispositivo/hora. Para dispositivos reais não há custo até 30 minutos/dia, a partir dos quais o custo é de $5/dispositivo/hora.
As principais características desta solução são a integração com fluxos automatizados, a inclusão de um rastreador inteligente que navega por nossa aplicação sem necessidade de testes, e o A/B Testing que nos permite obter feedback dos usuários finais sobre nossas aplicações.
BrowserStack
BrowserStack proporciona acesso a mais de 2000 navegadores e dispositivos reais Android e iOS para realizar testes de nossas aplicações móveis e web. A solução do BrowserStack é escalável e flexível, permitindo realizar testes unitários gratuitos de Javascript com mais de 750 configurações possíveis.
O modelo de pagamento do BrowserStack é projetado para oferecer múltiplas permutações de acordo com a necessidade, podendo combinar o número de usuários, testes manuais e/ou automáticos, em navegadores web desktop/mobile e/ou dispositivos móveis… Os preços variam entre $29 por mês para o plano mais simples (testes manuais em navegadores web de desktop para um único usuário) até o plano mais completo por $199.
Uma das características mais relevantes do BrowserStack é sua simplicidade de uso, já que sem quase nenhuma configuração, basta fazer login e já estamos prontos para começar a usá-lo. Oferece relatórios detalhados de erros, registros e capturas de tela para depuração em tempo real e para resolver rapidamente os problemas de nossas aplicações.
Além disso, utiliza gestos naturais de interação com os dispositivos móveis como se tivéssemos o dispositivo em nossa mão.
Kobiton
Kobiton é uma plataforma de testes de aplicativos que oferece testes manuais e automatizados em dispositivos reais, seja na nuvem ou no modo on-premise. Uma das principais características do Kobiton é que permite configurar a nuvem de dispositivos conectando dispositivos que temos on-premise ou até mesmo qualquer dispositivo 'solto' de maneira agregada aos dispositivos da nuvem, formando assim uma nuvem de teste de aplicativos híbrida.
O modelo de pagamentos da Kobiton inclui os planos:
- Start up. Para equipes que precisam de acesso rápido a dispositivos reais. Inclui 500 minutos por mês para usuários ilimitados e 5 exportações Appium. Este plano tem um custo de $75 por mês.
- Accelerate. Para equipes que precisam incluir rapidamente automação de testes. Inclui 3000 minutos por mês para usuários ilimitados e 10 exportações Appium. Este plano tem um custo de $390 por mês se a cobrança for mensal e de $3960 por ano se a cobrança for anual.
- Scale. Para equipes que desejam incluir integração contínua e cobrir o amplo leque de mercado, assegurando assim a qualidade de suas aplicações. Inclui 7500 minutos por mês para usuários ilimitados e 20 exportações Appium. Este plano tem um custo de $9000 anuais.
- Enterprise. Para uma experiência robusta e completa além dos planos anteriores.
Uma das maiores vantagens do Kobiton em seus planos de pagamento é que não há limite de sessões simultâneas em nenhum deles e se integra facilmente com as ferramentas de CI/CD do mercado.
Comparativamente com AWS Device Farm, o Kobiton oferece a vantagem do modelo híbrido e on-premise para fornecer ambientes mais seguros.
Perfecto Mobile
Perfecto Mobile é uma ferramenta para testes em aplicativos móveis que nos permite testá-los tanto em dispositivos reais quanto em emuladores/simuladores, sem o problema da manutenção de dispositivos.
As principais características desta solução são a fácil integração com ferramentas de CI/CD e com frameworks de automação de testes como Appium e XCUITest. Suporta milhares de dispositivos, sistemas operacionais e combinações de navegadores. Gera relatórios detalhados, incluindo a causa raiz da análise e registros das áreas de maior problema.
O modelo de pagamentos do Perfecto Mobile inclui os planos:
- Live. Testes manuais (sem automação) em milhares de navegadores, dispositivos móveis reais e emuladores/simuladores. Este plano tem um preço de $83/mês com faturamento anual.
- Automatizar. Testes automatizados e manuais em milhares de navegadores, dispositivos móveis reais e emuladores/simuladores. Este plano tem um preço de $125/mês com faturamento anual.
- Scriptless. Sem automação, a execução é realizada em uma nuvem privada.
- Plano personalizado para empresas com base nas necessidades e funções a serem utilizadas, incluindo dispositivos reais e virtuais dedicados.
Conclusões
As fazendas de dispositivos móveis são uma das melhores soluções para obter aplicativos profissionais e de qualidade, e embora facilite muito a vida dos testes, isso não nos isenta de implementar e configurar a automação dos testes e mantê-la ao longo do tempo.
Será necessário avaliar em cada caso particular qual é a melhor abordagem em função do tamanho do projeto, o mercado-alvo, o volume da própria empresa e muitos outros fatores próprios que nos ajudarão a decidir se optar apenas por fazendas de dispositivos móveis, combinar essas fazendas com outras abordagens de testes ou se usar apenas outras abordagens.
Share
Talvez você possa se interessar
MuleSoft Certificações: Guia e Exames
MuleSoft como produto oferece uma grande variedade de certificações para todas as pessoas que queiram se credenciar como especialistas nas diferentes áreas que oferece. Neste post, vamos ver quais são essas certificações, quais conhecimentos requerem e suas características, mas antes, se você não sabe o que é MuleSoft, recomendo que dê uma olhada no artigo onde revelamos as principais características e vantagens deste fantástico iPaaS.
Você sabe o que é IoT Industrial (IIoT)? Em que se diferencia?
O termo Internet das Coisas já é muito popular, graças às inúmeras aplicações que nos últimos tempos surgiram com o objetivo de facilitar a vida das pessoas. Seja em casa ou para o lazer. No entanto, as novas tecnologias vão muito além, com um importantíssimo potencial econômico também no setor industrial. Isso deu origem ao que é conhecido como o «Internet Industrial das Coisas» (IIoT).
Salesforce Advertising Studio: O que é? Vantagens?
Na hora de entender em que consiste e como funciona o Advertising Studio, talvez seja importante conhecer as vantagens e o grande potencial do Marketing Cloud da Salesforce. Trata-se de uma plataforma unificada que conta com todas as necessidades latentes de um departamento de marketing, seja publicidade, analítica, email marketing, etc.