Teste de celular - Guia rápido

Antes de iniciarmos o tutorial real, vamos nos divertir. Dê uma olhada na lista a seguir. Você pode facilmente se relacionar com essas tarefas essenciais que invariavelmente temos que enfrentar no estilo de vida agitado e agitado de hoje -

  • Eu quero pagar minha conta de luz.

  • Preciso me comunicar com meu gerente e enviar meus relatórios com urgência.

  • Quero comprar roupas novas para meu filho, mas não tenho tempo de ir a uma loja.

  • Oh ... são dez da noite; Estou atrasado para o meu vôo. Onde está meu táxi?

  • Estive nesta cidade pela primeira vez; qual hotel devo reservar?

Agora responda a si mesmo. O que você precisa para realizar essas atividades em uma fração de segundo? A resposta seria -

  • Um smartphone,
  • Conectividade com a Internet e
  • Um aplicativo móvel para fazer o trabalho.

Isso nos faz perceber a importância de um aplicativo móvel na era atual. Tudo está sendo feito de forma inteligente através do seu smartphone. A cada dia, ficamos sabendo sobre um novo aplicativo ou ferramenta sendo lançado para facilitar nossa vida.

Existe uma incidência bem conhecida sobre Gowalla. Milhões de pessoas aproveitaram essa rede social baseada em localização que começou em 2007 e foi encerrada cinco anos depois. Vários problemas impediram Gowalla de alcançar o apelo de massa. Um dos principais motivos que surgiram foi “O check-in não era tão amigável”.

Para ter um aplicativo móvel de sucesso, precisamos entender que desenvolver um bom aplicativo móvel não é o único requisito. Um aplicativo móvel precisa ser testado exaustivamente para obter a simpatia dos usuários. Afinal, é a experiência do usuário que torna qualquer software um sucesso.

Antes de passar para o teste móvel, é aconselhável entender os fundamentos das plataformas móveis. Inclui principalmente o sistema operacional do celular, o tipo de dispositivo e o tipo de aplicativo móvel. Ter conhecimento suficiente sobre cada um deles nos ajudará a realizar um planejamento de teste robusto a longo prazo.

Sistemas operacionais móveis

A tabela a seguir fornece uma visão geral de alguns dos sistemas operacionais móveis populares disponíveis no mercado -

Sistema operacional Desenvolvido por Popularidade (baixa, média, alta) Última versão disponível
Android Google Inc Alto Lollipop, Android 5.0-5.1
iOS Apple Inc Alto iOS 8.X
Blackberry Blackberry Ltd Baixo Blackberry 10.2.1
Windows Microsoft Inc Médio Windows 10 Mobile
Symbian Symbian Foundation Baixo Interrompido

Com base em algumas pesquisas genéricas, o uso de diferentes sistemas operacionais no mercado pode ser descrito conforme mostrado abaixo.

Os dispositivos móveis são normalmente computadores portáteis. Eles têm muitas variantes com base em suas características, como dimensão física, capacidade de hardware e software, para que servem, etc.

Dê uma olhada na tabela a seguir. Ele diferencia tablets, leitores de e-books e smartphones com base em suas características.

Dispositivo Tablets Leitores de e-book Smartphones
O que é isso Os tablets são dispositivos de computador portáteis. Ao contrário dos computadores tradicionais, eles não têm teclado ou mouse, no entanto, a tela inteira é sensível ao toque. Os leitores de e-book - também chamados de e-readers - são semelhantes aos tablets, exceto que são projetados principalmente para a leitura de e-books (digitais, livros para download). Um smartphone é um celular poderoso, projetado para executar uma variedade de aplicativos, além de fornecer serviço telefônico.
Usado para Quase todos os trabalhos que podemos fazer com computadores ou desktops tradicionais. Ler e-books Navegar na web, assistir a vídeos, ler e-books e jogar jogos
Exemplo Tablets Samsung Amazon Kindle, Barnes & Noble Nook. Smartphones Sony, smartphones Samsung, Apple iPhone.

Um fator crítico que você deve considerar ao fazer o planejamento do teste é verificar o tipo de aplicativo móvel. Você encontrará principalmente três tipos de aplicativos móveis: Web móvel, aplicativo nativo e aplicativo híbrido. A classificação é baseada nos esforços de desenvolvimento e na estratégia de redistribuição de aplicativos. Vamos entender cada um deles em detalhes.

Web móvel

Os aplicativos da Web não são aplicativos reais; eles são, na verdade, sites que abrem em seu smartphone com a ajuda de um navegador da web. Os sites para celular têm o público mais amplo de todos os principais tipos de aplicativos.

  • Example- Ponto de tutoriais

  • Benefits -

    • Fácil acesso.

    • Desenvolvimento fácil - O desenvolvimento de um design responsivo e a reestruturação do conteúdo para ser exibido adequadamente em uma tela / hardware menor tornará qualquer site de desktop compatível com dispositivos móveis.

    • Atualização fácil - Basta atualizar em um local e todos os usuários terão acesso automaticamente à última versão do site.

    • Nenhuma instalação necessária, em comparação com o aplicativo nativo ou híbrido.

  • Downside -

    • Sites móveis não podem usar alguns dos recursos. Por exemplo, o acesso ao sistema de arquivos e recursos locais não está disponível em sites.

    • Muitos sites existentes não oferecem suporte a recursos offline.

    • Os usuários não terão o ícone do aplicativo na tela inicial como um lembrete constante. O site precisa ser aberto apenas em um navegador da web.

    • Embora aplicativos nativos e híbridos apareçam na App Store e no Google Play, os aplicativos da web não aparecem. Portanto, a redistribuição não é tão sensata.

App nativo

Um aplicativo nativo é desenvolvido especificamente para uma plataforma. Ele pode ser instalado por meio de uma loja de aplicativos (como Google Play Store ou App Store da Apple).

  • Example - Whatsapp, Facebook.

  • Benefits -

    • Os aplicativos nativos ficam no dispositivo e são acessados ​​por meio de ícones na tela inicial do dispositivo.

    • Eles podem tirar o máximo proveito de todos os recursos do dispositivo - eles podem usar a câmera, o GPS, o acelerômetro, a bússola, a lista de contatos e assim por diante. Eles também podem incorporar gestos (gestos padrão do sistema operacional ou gestos novos e definidos pelo aplicativo).

    • Os aplicativos nativos podem usar o sistema de notificação do dispositivo e funcionar offline.

    • Os editores podem fazer uso de notificações push, alertando os usuários sempre que um novo conteúdo é publicado ou quando sua atenção é necessária.

    • Os aplicativos nativos mantêm o design da IU de cada sistema operacional, oferecendo a melhor experiência do usuário. Por exemplo, um aplicativo nativo pode ter um cabeçalho alinhado à esquerda no Android e um cabeçalho alinhado ao centro no iOS.

    • A redistribuição é fácil, pois pode ser encontrada na app store.

  • Downside -

    • Alto custo para construir o aplicativo: aplicativos nativos desenvolvidos para uma plataforma não serão executados em outra plataforma. Um aplicativo desenvolvido para Android não funciona no iOS. Precisamos construir um aplicativo totalmente diferente para iOS. Por esse motivo, precisamos manter várias versões do aplicativo.

    • Mesmo que você publique aplicativos nativos, convém manter o site móvel bem conservado, pois o celular traz mais tráfego. Portanto, a manutenção é maior.

Aplicativo Híbrido

Aplicativos híbridos são uma maneira de expor conteúdo de sites existentes no formato de aplicativo. Eles podem ser bem descritos como uma mistura de Web App e Native App.

  • Example - Instagram, Wikipedia.

  • Benefits -

    • Desenvolver um aplicativo híbrido é mais barato do que desenvolver um aplicativo nativo. Pode ser construído para plataformas cruzadas, ou seja, custo reduzido para desenvolvimento de aplicativos.

    • A manutenção é simples, pois não existem muitas versões para serem mantidas.

    • Ele pode aproveitar alguns recursos disponíveis no dispositivo.

    • Ele pode ser encontrado na App Store, o que facilita a distribuição.

    • Ele tem um navegador embutido apenas no aplicativo.

  • Downside -

    • Os gráficos estão menos acostumados com o sistema operacional em comparação com os aplicativos nativos.

    • Aplicativos híbridos são mais lentos do que aplicativos nativos.

Teste de Dispositivo

Geralmente, esse tipo de teste é feito para garantir a qualidade de um dispositivo móvel. O teste inclui o teste de hardware e software para um celular. Discutiremos aqui os diferentes tipos de teste que geralmente são realizados em dispositivos móveis.

Teste de Unidade

O teste de unidade é uma fase de teste quando partes do desenvolvimento de um dispositivo móvel são testadas, geralmente pelo desenvolvedor. Ele pode conter teste de hardware, teste de software e teste mecânico.

Teste de Fábrica

O teste de fábrica é uma espécie de verificação de sanidade em dispositivos móveis. É conduzido automaticamente para verificar se não há defeitos ocasionados pela fabricação ou montagem. Inclui principalmente os seguintes testes -

  • Teste de aplicativo móvel
  • Teste de hardware
  • Teste de bateria (carregando)
  • Recebendo sinal
  • Teste de rede
  • Teste de protocolo
  • Teste de jogos para celular
  • Teste de compatibilidade de software móvel

Teste de Certificação

O teste de certificação é a verificação antes de um dispositivo móvel chegar ao mercado.

Teste de Aplicação

O teste de aplicativo móvel é um processo pelo qual o aplicativo, um software desenvolvido para dispositivos móveis portáteis, é testado quanto à sua funcionalidade, usabilidade e consistência. Existem diferentes tipos de teste que podem ser realizados em um dispositivo móvel. Por exemplo,

  • Teste funcional
  • Testando em laboratório "ou" Teste experimental
  • Teste de performance
  • Teste de Vazamento de Memória
  • Teste de interrupção
  • Testando usabilidade
  • Teste de instalação
  • Teste de Certificação
  • Teste de Segurança

Pontos chave

  • O teste do dispositivo geralmente é realizado para verificar o próprio dispositivo móvel, enquanto o teste do aplicativo móvel envolve o teste de um aplicativo que será executado no dispositivo escolhido.

  • Quando o chamamos de teste de dispositivo, o teste de hardware se torna uma parte dele. No caso de teste de aplicativo móvel, isso depende, ou seja, se o aplicativo em teste requer integração de hardware, o teste de hardware será envolvido.

  • A automação é possível para teste de dispositivo móvel, bem como para teste de aplicativo móvel.

Uma coisa é autoexplicativa no caso de testes móveis. Para realizar o teste móvel, você precisa de um dispositivo móvel. Isso é para acessar como nosso produto funcionará e se parecerá em um determinado aparelho móvel.

Suponha que estejamos desenvolvendo um aplicativo para o sistema de reserva de passagens aéreas. Depois que o produto estiver totalmente desenvolvido, como parte do teste móvel, precisamos verificar se o aplicativo está funcionando conforme o esperado com todos os dispositivos mais usados, como telefones Android, iOS, telefones Blackberry e outros tipos diferentes de tablets e iPads.

Para fazer esse tipo de verificação, precisamos adquirir cada um desses dispositivos e então verificar se o aplicativo se comporta conforme a expectativa. Sim, você pensou bem, como proprietário de um produto, certamente achará muito caro adquirir um número tão grande de dispositivos móveis e realizar testes. Então, há alguma alternativa inteligente disponível?

A solução para este problema é usar Simuladores Móveis e Emuladores Móveis. Esses são principalmente programas de software projetados para fornecer simulação de recursos importantes de um smartphone. Eles são muito semelhantes em natureza, então, às vezes, eles são usados ​​alternadamente.

Vamos comparar como o teste em um emulador / simulador é diferente do teste em um dispositivo real -

Dispositivo real Emulador / Simulador
Preço Obter dispositivos reais vai custar muito. É quase gratuito, só precisamos fazer o download e instalá-los
Velocidade de processamento Possui processamento mais rápido; no entanto, a latência da rede pode ser normal. É mais lento em comparação com os dispositivos reais. Observou menos latência do que dispositivos reais conectados à rede local ou na nuvem.
Depurando A depuração não é tão fácil. Ele fornece depuração passo a passo de um aplicativo. Além disso, oferece uma maneira eficiente de capturar imagens.
Teste de aplicativo da web Os aplicativos da Web podem ser testados de maneira normal. Testar um aplicativo da web é muito mais fácil.
Confiabilidade O teste em um dispositivo real tem a grande vantagem de sempre fornecer resultados precisos. Ele não pode simular todos os tipos de interações do usuário; portanto, às vezes pode levar a resultados falsos. Portanto, sua pontuação é baixa quando se trata de confiabilidade.

Um simulador / emulador não pode imitar os seguintes recursos -

  • Bateria do dispositivo móvel
  • Câmera do dispositivo móvel
  • Difícil de imitar interrupções como chamadas recebidas e SMS.
  • Simulação não muito realista para o uso de memória do dispositivo móvel.

Vamos agora entender mais sobre simuladores e emuladores móveis. Existem diferenças específicas entre os dois. A tabela a seguir lista a principal diferença entre um simulador e um emulador.

Emulador Simulador
O que imita

Software de dispositivo móvel

Hardware de dispositivo móvel

Sistema operacional móvel

Comportamento interno do dispositivo.

Ele não imita o hardware.

Como conseguir isso Geralmente é fornecido pelo fabricante do dispositivo. Geralmente é fornecido pelo fabricante do dispositivo ou alguma outra empresa.
Estrutura interna Ele é escrito em linguagem assembly de nível de máquina. Está escrito em linguagem de alto nível.
Depurando É mais adequado para depuração. Não é adequado para fins de depuração.
atuação Os emuladores são muito lentos. Emular o hardware real geralmente faz com que o software seja executado mais lentamente do que o normal. Mais rápido do que emuladores.
Exemplo SDK do Google para Android Simulador de iOS da Apple

Então, qual é a melhor escolha para testes móveis? A melhor prática indica que, enquanto o desenvolvimento real está em andamento, devemos usar um emulador ou simulador. Antes de finalizar o produto, deve haver uma verificação de sanidade com os dispositivos reais escolhidos. Por exemplo, há um grande número de usuários de smartphones Android, então a escolha inteligente é fazer uma verificação de sanidade para o dispositivo Android mais recente e a regressão pode ser conduzida em simuladores.

Uma definição simples de teste de aplicativo móvel seria assim “Mobile application testing é um processo pelo qual um application softwaredesenvolvido para dispositivos móveis de mão é testado quanto à sua funcionalidade, usabilidade e consistência. O teste de aplicativo móvel pode ser do tipo automatizado ou manual. ”

Note - Para melhor compreensão, vamos supor que estamos testando um aplicativo móvel para sistema de reserva de passagens aéreas online.

Teste funcional

O teste funcional é o teste mais básico para qualquer aplicativo para garantir que está funcionando de acordo com os requisitos definidos. Semelhante a outros aplicativos baseados em interface de usuário, os aplicativos móveis requerem uma série de interações humanas em cenários de usuário.

Cenários de teste de exemplo -

  • Verifique se a disponibilidade de voo é exibida para um destino de origem escolhido apenas em uma data selecionada.

  • Verifique se as datas anteriores não foram incluídas nos resultados da pesquisa.

Teste de Compatibilidade

O teste de compatibilidade tem a maior pilha quando se trata de teste de aplicativo móvel. O objetivo de um teste de compatibilidade de aplicativo móvel, em geral, é garantir que as funções-chave de um aplicativo se comportem conforme o esperado em um dispositivo específico. A compatibilidade em si deve levar apenas alguns minutos e pode ser planejada com bastante antecedência.

Não vai ser uma tarefa fácil decidir sobre quais testes de compatibilidade de dispositivos móveis devem ser realizados (já que testar com todos os dispositivos disponíveis é simplesmente impossível). Portanto, prepare uma matriz de teste com todas as combinações possíveis e faça com que ela seja priorizada pelo cliente.

Cenários de teste de exemplo -

  • Verifique se a pesquisa de voo foi realizada com sucesso com o dispositivo Android.
  • Verifique se a pesquisa de voo foi realizada com sucesso para Apple iPad.

Teste de localização

Hoje em dia, a maioria dos aplicativos são projetados para uso global e é muito importante se preocupar com trilhas regionais, como idiomas, fusos horários, etc. É importante validar a funcionalidade do aplicativo quando alguém muda o fuso horário. Deve-se levar em consideração que às vezes os designs ocidentais podem não funcionar com o público de países orientais ou vice-versa.

Cenários de teste de exemplo -

  • Verifique se não há interface de usuário ou problema de truncamento de dados quando usamos o aplicativo móvel com diferentes idiomas (ou digamos, idioma diferente do inglês).

  • Verifique se as alterações de fuso horário são tratadas normalmente para seu aplicativo móvel.

Testando em laboratório "ou" Teste experimental

Os testes de laboratório, geralmente realizados por operadoras de rede, são feitos simulando a rede sem fio completa. Este teste é realizado para descobrir quaisquer falhas quando um aplicativo móvel usa conexão de voz e / ou dados para executar algumas funções.

Cenários de teste de exemplo -

  • Verifique se não há falhas enquanto um cliente está conversando por voz com a equipe de suporte.

Teste de performance

O teste de desempenho móvel cobre o desempenho do aplicativo cliente, o desempenho do servidor e o desempenho da rede. É importante certificar-se de que os cenários de teste de desempenho cubram todas essas áreas. Com a ajuda de ferramentas de teste de desempenho, não é difícil identificar as redes existentes, servidores e gargalos de aplicativos do lado do servidor, dadas as cargas predefinidas e o mix de transações.

Cenários de teste de exemplo -

  • Verifique se a verificação de voo disponível leva apenas um período de tempo razoável.

  • Verifique se enquanto a disponibilidade do voo está sendo verificada, o celular opera normalmente e não trava.

Teste de Estresse

O teste de estresse é essencial para encontrar exceções, travamentos e bloqueios que podem passar despercebidos durante os testes funcionais e de interface do usuário. Aqui está uma lista de alguns dos critérios para teste de estresse -

  • Carregue seu aplicativo com o máximo de dados possível para tentar atingir seu ponto de ruptura.

  • Execute as mesmas operações continuamente.

  • Execute as operações repetidas em velocidades variadas - muito rápida ou muito lentamente.

  • Deixe seu aplicativo rodando por um longo período de tempo, tanto interagindo com o aparelho quanto apenas deixando-o ocioso, ou realizando alguma tarefa automática que leva muito tempo, por exemplo, uma apresentação de slides.

  • Envie aleatoriamente toques na tela e pressionamentos de tecla para o seu aplicativo.

  • Ter vários aplicativos em execução no seu dispositivo para que você possa alternar entre o seu aplicativo e outros aplicativos do dispositivo com freqüência.

Cenários de teste de exemplo -

  • Verifique se 1000 usuários estão acessando o aplicativo móvel para pesquisar voos domésticos.
  • Verifique se 1000 usuários estão acessando o aplicativo móvel para pesquisar voos domésticos.

Teste de Segurança

Vulnerabilidades de hacking, autenticação e políticas de autorização, segurança de dados, gerenciamento de sessão e outros padrões de segurança devem ser verificados como parte do teste de segurança de aplicativos móveis. Os aplicativos devem criptografar o nome do usuário e as senhas ao autenticar o usuário em uma rede.

Uma maneira de testar cenários relacionados à segurança é rotear os dados do seu celular por meio de um servidor proxy como o OWASP Zed Attack Proxy e procurar vulnerabilidades.

Cenários de teste de exemplo -

  • Verifique se o aplicativo não funciona com as mesmas credenciais de usuário em dois dispositivos móveis diferentes.

  • Verifique se uma sessão expira automaticamente se permanecer inativa por mais de 15 minutos.

Teste de Vazamento de Memória

Os dispositivos móveis têm memória muito limitada em comparação com outros computadores, e os sistemas operacionais móveis têm um comportamento padrão para encerrar aplicativos que estão usando memória excessiva e causando uma experiência do usuário ruim.

O teste de memória é extremamente importante para aplicativos móveis para garantir que cada aplicativo mantenha o uso de memória otimizado durante a jornada do usuário. É recomendável realizar testes de memória no dispositivo de destino real, uma vez que a arquitetura do sistema é diferente de um emulador para um dispositivo real.

Cenários de teste de exemplo -

  • Faça verificações de disponibilidade de voos dez vezes e anote o aumento do uso de memória para cada verificação.

  • Mantenha o aplicativo em execução por dez minutos e observe se o uso da memória permanece estável.

Teste de consumo de energia

Existem vários tipos de baterias usadas em diferentes dispositivos móveis (ou seja, níquel cádmio / íon de lítio / híbrido de metal níquel). Enquanto nos concentramos no teste de consumo de energia, somos obrigados a medir o estado da bateria em cada nível de atividade. Isso nos dará uma melhor compreensão do consumo de energia em uma aplicação individual.

O teste de consumo de energia pode ser feito manualmente; também existem algumas ferramentas gratuitas disponíveis no mercado, como Trepn Profiler, Power Tutor e Nokia Energy Profiler. São aplicativos que podem exibir o consumo de energia em tempo real em um smartphone ou tablet.

Cenários de teste de exemplo -

  • Use o aplicativo móvel para pesquisar a disponibilidade de voos e verifique se o consumo de energia permanece mínimo.

  • Mantenha o aplicativo móvel em perfeitas condições; verifique se não há consumo de energia quando não há atividade acontecendo para o aplicativo.

Teste de interrupção

Um aplicativo, enquanto funciona, pode enfrentar várias interrupções, como chamadas recebidas ou interrupção e recuperação da cobertura da rede. Isso pode ser novamente distinguido por -

  • SMS e MMS de entrada e saída
  • Chamadas de entrada e saída
  • Recebendo notificações
  • Remoção da bateria
  • Inserção e remoção de cabos para transferência de dados

Cenários de teste de exemplo -

  • Verifique se a verificação de disponibilidade de voo é pausada e retomada após o recebimento de uma chamada.

  • Verifique se o usuário pode rejeitar uma chamada durante o uso do aplicativo e depois retomar o mesmo aplicativo.

Testando usabilidade

O teste de usabilidade avalia o aplicativo com base nos três critérios a seguir para o público-alvo -

  • Efficiency - A precisão e integridade com as quais os usuários especificados podem atingir objetivos específicos em um ambiente particular.

  • Effectiveness - Os recursos despendidos em relação à exatidão e completude dos objetivos alcançados.

  • Satisfaction - O conforto e a aceitabilidade do sistema de trabalho por seus usuários e demais pessoas afetadas por seu uso.

É muito importante implementar o teste de usabilidade desde o estágio inicial do design do aplicativo e não deve ser feito apenas quando o aplicativo for concluído. O teste de usabilidade requer grande envolvimento dos usuários, e a saída pode afetar o design do aplicativo, o que é muito difícil de mudar nas fases posteriores do projeto.

Cenários de teste de exemplo -

  • A verificação da disponibilidade de voos deve estar na página inicial.
  • O anúncio patrocinado não deve ser exibido no meio do conteúdo.

Teste de Instalação

O teste de instalação verifica se o processo de instalação ocorre sem problemas, sem que o usuário tenha que enfrentar qualquer dificuldade.

Cenários de teste de exemplo -

  • Verifique se o processo de instalação é tranquilo e rápido.
  • Verifique se a instalação foi bem-sucedida por meio da loja de aplicativos corporativa.

Teste de Desinstalação

Os princípios básicos do teste de desinstalação podem ser resumidos em uma linha como “A desinstalação deve varrer os dados relacionados ao aplicativo de uma só vez”.

Cenários de teste de exemplo -

  • Verifique se todos os arquivos relacionados ao aplicativo foram removidos com êxito após a desinstalação.

  • Se for um aplicativo que armazena arquivos de mídia (como Whatsapp ou Facebook), retenha os arquivos mesmo após a desinstalação do aplicativo.

Teste de atualizações

Precisamos ter muito cuidado com as atualizações de aplicativos móveis. As pessoas freqüentemente reclamam que os aplicativos não funcionam satisfatoriamente após uma atualização. Portanto, é muito importante que, no teste de atualização, nos qualifiquemos para que o Aplicativo funcione como estava funcionando anteriormente. Em suma, não deve quebrar nada. As atualizações de aplicativos móveis podem ocorrer de duas maneiras -Automatic update e Manual update.

Cenários de teste de exemplo -

  • Verifique se o aplicativo funciona com êxito após a atualização automática.
  • Verifique se o andamento da atualização é exibido corretamente.

Teste de Certificação

Para obter um certificado de conformidade, cada dispositivo móvel precisa ser testado em relação às diretrizes definidas por diferentes plataformas móveis.

Cenários de teste de exemplo -

  • Verifique se o aplicativo está de acordo com a política de telefones iOS quando instalado no iPhone.

  • Verifique se o aplicativo está de acordo com a política de telefones Android quando instalado no Android.

Suponha que estejamos usando um aplicativo móvel e, curiosamente, você enfrenta a seguinte situação -

  • Falta o alinhamento do botão.
  • O texto está sendo cortado.
  • O controle do calendário está sendo cortado.

Na verdade, esta é uma experiência desagradável para qualquer um dos usuários. Para garantir que oferecemos uma excelente experiência aos nossos usuários, o teste de interface do usuário móvel é altamente recomendado.

A primeira área a explorar em seu plano de teste é a interface do usuário. É sua função como testador confirmar se sua aplicação atende a certas expectativas, como -

  • Esquema geral de cores / tema do dispositivo
  • Estilo e cor dos ícones
  • Indicadores de progresso quando as páginas estão carregando
  • Menus e como eles são chamados e os itens típicos que eles contêm
  • Capacidade de resposta geral dos aplicativos neste dispositivo

Vamos discutir mais sobre os fundamentos do teste de interface do usuário móvel.

Orientação / resolução da tela

O conteúdo da web precisa ter uma ótima aparência e ser confortável em uma ampla variedade de dispositivos e condições de rede. Geralmente, é uma boa ideia testar sua página da web nas resoluções de tela comumente usadas para ter certeza de que sua página pode ser usada.

Se você tiver um layout com várias colunas, também poderá verificar se as colunas estão alinhadas corretamente e ainda podem ser visualizadas quando o visitante tem uma resolução mais baixa. Também é importante saber as resoluções de tela padrão -

  • 640 × 480
  • 800 × 600
  • 1024 × 768
  • 1280 × 800
  • 1366 × 768
  • 1400 × 900
  • 1680 × 1050

Ferramentas Disponíveis

Existem algumas ferramentas disponíveis no mercado para tornar o teste de IU móvel mais suave e simples. Por exemplo -

  • Extensão do Google Chrome
  • Screenfly
  • Pilha do navegador

Vamos entender um pouco mais sobre essas ferramentas e sua utilidade.

Extensão do Google Chrome

É um recurso gratuito disponível no navegador Google Chrome. Fornecemos aqui uma explicação passo a passo de como testar a web para celular com a extensão do Google Chrome -

Step 1 - Abra o site em teste no “navegador Google Chrome”.

Step 2- Pressione F12. Isso abrirá a janela da ferramenta Desenvolvedor, conforme mostrado na imagem a seguir.

Step 3- Clique no ícone do dispositivo móvel. Consulte a imagem a seguir.

Step 4- Selecione o dispositivo móvel com o qual deseja testar o site. Você pode escolher os diferentes dispositivos disponíveis para fazer a verificação da IU.

Screenfly

Screenfly é uma ferramenta gratuita e fácil de usar. Para usar isso, você só precisa digitar Quirktools no seu navegador. Você verá a seguinte tela.

Entre no site em teste e clique em Go. Selecione o dispositivo móvel no qual deseja visualizar o site.

BrowserStack

É outra ótima ferramenta para realizar testes de IU móvel. Ele fornece resultados maravilhosos. Embora seja uma ferramenta paga, você pode aproveitar uma trilha gratuita registrando-se no BrowserStack com um endereço de e-mail válido.

Telas de toque

Multi-Touch vs. Telas de toque único

Se o seu dispositivo e aplicativo suportam recursos multitoque, como o efeito pinch-to-zoom no iPhone, certifique-se de incluir muitos casos de teste envolvendo tocar a tela em mais de um lugar simultaneamente, especialmente ao digitar no teclado virtual.

Toque longo vs. toque curto

Embora não haja o conceito de clique duplo em dispositivos com tela de toque (embora possa haver, se implementado especificamente em seu aplicativo), alguns dispositivos, como smartphones Android, distinguem entre toques longos e curtos. Pressionar e segurar um item abrirá um menu de contexto no meio da tela, enquanto um clique curto no mesmo item executará automaticamente a primeira ação nesse menu de contexto.

Tamanho e posição do botão

Certifique-se de que os botões e ícones sejam grandes e distantes o suficiente das bordas da tela para serem clicados facilmente com a ponta de um dedo grande.

Teclas Soft e Hard

Teclados macios

Freqüentemente, há vários casos especiais e casos secundários que são importantes para os usuários finais.

  • O teclado virtual aparece automaticamente se a ação principal do usuário for inserir algum texto?

  • A primeira camada do teclado virtual inclui teclas de atalho "@" e ".com" se o campo realçado for para inserir endereços de e-mail?

  • O teclado virtual pode ser descartado e reapresentado facilmente?

  • Os teclados soft e hard podem ser usados ​​alternadamente (se o dispositivo tiver ambos)?

Hard Keys

Certifique-se de incluir muitos testes em torno do uso das teclas de hardware disponíveis no dispositivo, como Iniciar, Página inicial, Menu e Voltar. Todos eles devem interagir com seu aplicativo da mesma forma que interagem com os aplicativos nativos do dispositivo.

Trackballs, rodas e touchpads

Se o seu dispositivo não possui tela sensível ao toque, é ainda mais importante verificar se a navegação na tela é o mais indolor possível para o usuário. Nestes casos, o usuário pode contar com um trackball, track wheel ou touchpad para mover de um objeto para outro.

Testar dispositivos móveis, como telefones, tablets e eReaders, requer equipamento e metodologia especiais. Como o software tradicional de captura de tela de desktop não pode capturar adequadamente as interações de toque, os profissionais de usabilidade têm usado câmeras estrategicamente posicionadas para registrar as interações de teste de usabilidade nesses dispositivos móveis.

Preparando-se para realizar testes de dispositivos móveis

As metodologias e dispositivos para facilitar os testes de usabilidade em telefones, tablets e eReaders continuam a ser desenvolvidos. Ao planejar o teste de dispositivos móveis, você deve ter em mente os seguintes pontos -

  • Your timeframe and budget. Ter um bom entendimento do cronograma e do orçamento ajudará você a determinar quais processos e equipamentos funcionarão melhor com base em suas necessidades.

  • The physical setup of the space and how you will capture the test. Isso pode variar de um arranjo de baixa fidelidade ao uso de uma plataforma especializada e dispositivo de câmera e / ou talvez usando um software de rastreamento ocular.

  • Your target audience and devices.Use a análise da web para verificar quantos usuários móveis visitam o site, qual dispositivo eles usam e seu sistema operacional. Entender essas informações ajudará você a saber quais dispositivos testar.

Outro aspecto importante a cobrir após o planejamento do teste é test device management. Em uma grande organização, lidar com testes de dispositivos móveis precisa de uma maneira inteligente de proteger os dados confidenciais da organização. Para fazer isso, você precisará de um software de segurança. Na seção a seguir, entenderemos mais sobre ferramentas de gerenciamento de dispositivos.

Ferramentas de gerenciamento de dispositivos

Gerenciamento de dispositivos móveis (MDM) é um tipo de software de segurança usado em TI para monitorar, gerenciar e proteger os dispositivos móveis de funcionários que são implantados em vários provedores de serviços móveis e em vários sistemas operacionais móveis usados ​​na organização.

O MDM costuma ser combinado com ferramentas e serviços de segurança adicionais, como o Mobile Application Management, para criar um dispositivo móvel completo e uma solução de gerenciamento de mobilidade empresarial de segurança.

Existem muitas ferramentas disponíveis no mercado para fazer este trabalho. A tabela a seguir fornece uma visão geral de algumas das ferramentas populares e seus recursos.

Produtos BlackBerry MDM Citrix MDM Dell MDM IBM MDM MobileIron MDM SOTI MDM
Android 2,3+ sim sim sim 2,3 através da corrente sim
iOS 5.0+ sim sim sim 4.0 até a corrente sim
telefone do Windows Não para BES10 (WP 8+ para BES12) sim sim sim 7 através da corrente sim
Amora Sim, BBOS, BlackBerry 10 sim Não sim 10 (por meio do ActiveSync) Não
Symbian Não sim Não sim Não Não
SO Windows Não sim sim sim 8.1 RT / Pro Não
Mac OS X Não Em breve sim sim Leão, Leão da Montanha sim
De outros Não Windows Mobile Nenhum Office 365, Gmail, Lotus Nenhum Windows Mobile, CE, incorporado
Configurar / desativar WiFi sim sim sim sim sim sim
Criptografia de dispositivo sim sim Sim, depende do tipo de dispositivo sim sim sim
Criptografia de Email sim sim Sim, depende do tipo de dispositivo sim sim sim
Autenticação multifator sim sim Não sim sim sim
Detecção de malware Não Não Não sim Sim com integração de parceiro sim
Firewall sim Não Não sim Sim com integração de parceiro sim
Separe os dados do usuário dos dados corporativos sim sim sim sim sim sim

Antes de prosseguirmos com os testes reais de dispositivos móveis, é muito importante ter uma visão da arquitetura de hardware do dispositivo móvel. Isso nos ajudará a planejar melhor o teste quando realmente entrarmos no teste de dispositivos / aplicativos de dispositivos móveis. Vamos dar uma olhada nas diferentes características do hardware do dispositivo móvel.

Componentes de hardware

Se você levar qualquer telefone celular, ele será composto principalmente das seguintes partes.

Placa de circuito

Pode ser considerado o cérebro do telefone que controla todas as suas atividades.

Tela sensível ao toque

As telas sensíveis ao toque são um componente vital dos smartphones. As telas sensíveis ao toque reconhecem onde você colocou o dedo ou a caneta na tela e comunicam as coordenadas para a CPU do telefone de acordo.

Existem dois tipos populares de telas sensíveis ao toque -

  • Resistive Touchscreen- Possui duas camadas (separadas por uma lacuna minúscula) que formam uma sobreposição sobre a tela. Quando um dedo é colocado em qualquer ponto da tela, os dois formam um contato e as coordenadas são obtidas. Eles são relativamente baratos e podem ser encontrados na maioria dos telefones baratos. A desvantagem é que uma certa quantidade de pressão é necessária para registrar um toque. Com o passar do tempo, algum grau de dano ocorre na tela.

  • Capacitive Touchscreen- Possui toda a tela revestida com uma substância capacitiva que retém uma certa quantidade de carga elétrica. Quando um objeto condutor como um dedo é colocado na tela, há uma mudança na capacitância naquele ponto e, portanto, as coordenadas são obtidas. Telas sensíveis ao toque capacitivas não respondem bem em climas frios, onde o dedo humano não causa uma alteração na capacitância, portanto, uma caneta é recomendada para tais cenários. Então hámulti-touch touchscreensem que quase todos os dedos podem ser identificados com precisão. Isso levou a um aumento no número de gestos que podem ser executados em uma tela sensível ao toque.

Cartão de memória

Os cartões de memória vêm em diferentes tamanhos e capacidades. Eles são amplamente usados ​​como um dispositivo de armazenamento de dados para armazenar informações digitais.

Cartão SIM

Um cartão SIM fornece mobilidade pessoal para que o usuário possa ter acesso a todos os serviços assinados, independentemente da localização do terminal e do uso de um terminal específico. Você precisa inserir o cartão SIM em outro telefone celular GSM para receber chamadas nesse telefone, fazer chamadas desse telefone ou receber outros serviços assinados.

Bateria

Os smartphones funcionam com uma variedade de baterias diferentes, dependendo do fabricante do telefone, suas dimensões e recursos. Para quem depende muito de seus smartphones, é importante que as baterias durem o máximo possível. Isso elimina a necessidade de recarregá-los com frequência e torna menos provável que fiquem sem carga quando são mais necessários.

UDID para iOS

Cada iPhone ou iPod Touch possui um Identificador de Dispositivo Único (UDID), que é uma sequência de 40 letras e números específicos para o seu dispositivo. É como um número de série, mas muito mais difícil de adivinhar. Será algo parecido com isto - 2b6f0cc904d137be2e1730235f5664094b831186.

Como encontrar seu UUID?

  • Conecte seu dispositivo iOS ao computador.
  • Abra o iTunes.
  • No iTunes, clique no nome do dispositivo em “Dispositivos” na coluna à esquerda.
  • Clique uma vez no número de série do dispositivo na seção principal da janela.
  • O número de série deve então mudar para o UDID do dispositivo.

Perfil de Provisão para iOS

Um perfil de provisionamento é uma coleção de entidades digitais que une desenvolvedores e dispositivos a uma equipe de desenvolvimento de iPhone autorizada e permite que um dispositivo seja usado para teste. Um Perfil de Provisionamento de Desenvolvimento deve ser instalado em cada dispositivo no qual você deseja executar o código do seu aplicativo.

Como criar um perfil de provisão para iOS?

  • Execute o Google Chrome, Mozilla Firefox ou Safari.

  • No iOS Dev. Centro, clique em Certificados, identificadores e perfis.

  • No painel iOS Apps, clique em Provisioning Profiles.

  • Clique em +.

  • Selecione iOS App Development e clique em Continue.

  • Selecione um ID de aplicativo para associar ao perfil de provisionamento e clique em Continuar.

  • Para poder usar um perfil de provisionamento de desenvolvimento em vários aplicativos, selecione um ID de aplicativo curinga, se disponível.

  • Selecione um ou mais certificados para desenvolvimento para incluir no perfil de provisionamento e clique em Continuar.

  • Apenas certificados para desenvolvimento são listados.

  • Selecione um ou mais dispositivos para incluir no perfil de provisionamento e clique em Continuar.

  • Insira um nome para o perfil e clique em Gerar.

  • (Opcional) Clique em Download para baixar o perfil de provisionamento.

Como adicionar seu perfil de provisionamento no AppBuilder?

  • Clique no ícone da engrenagem e selecione Opções.

  • Selecione iOS → Perfis de provisionamento.

  • Clique em Importar.

  • Navegue até o local onde o arquivo de provisionamento móvel para seu perfil de provisionamento está armazenado, selecione-o e confirme a importação.

Opções e preferências do dispositivo

Você pode especificar uma preferência de dispositivo (celular ou todos) para qualquer texto, pesquisa dinâmica, imagem ou anúncio gráfico.

Se um grupo de anúncios tiver anúncios regulares e preferenciais para celular, apenas anúncios preferenciais para celular serão veiculados em aparelhos celulares, e apenas anúncios regulares serão veiculados em computadores e tablets.

Na lista de tipos, selecione Anúncios e extensões e escolha o tipo de anúncio que deseja atualizar. Selecione um ou mais anúncios. Em "Preferência de dispositivo" no painel de edição, selecione Celular ou Todos.

Vejamos os detalhes dos diferentes tipos de teste que podemos realizar nos dispositivos móveis.

Conexões de rede

A tabela a seguir fornece uma lista de verificação de testes de conexão de rede que podem ser executados para um dispositivo móvel.

Sr. Não. Descrição
1 O aplicativo se comporta de acordo com as especificações se conectado à Internet por meio de Wi-Fi?
2 O aplicativo se comporta de acordo com as especificações se conectado à internet por 3G?
3 O aplicativo se comporta de acordo com as especificações se conectado à Internet por meio de 2G?
4 O aplicativo se comporta de acordo com as especificações do aplicativo está fora do alcance da rede?
5 O aplicativo volta a funcionar quando volta para o alcance da rede de fora do alcance da rede?
6 As transações de atualização são processadas corretamente após o restabelecimento da conexão.
7 O app ainda funciona corretamente durante o tethering ou de outra forma conectado a outro dispositivo?
8 O que acontece se o aplicativo alternar entre as redes (Wi-Fi, 3G, 2G)?
9 O aplicativo usa portas de rede padrão (Mail: 25, 143, 465, 993 ou 995 HTTP: 80 ou 443 SFTP: 22) para se conectar a serviços remotos, já que alguns provedores bloqueiam certas portas?

Interações do cartão SD

A tabela a seguir fornece uma lista de verificação para verificar as funções principais da interação do cartão SD com um telefone celular.

Sr. Não. Descrição
1 O aplicativo pode ser instalado no dispositivo?
2

O aplicativo se comporta conforme projetado / desejado se houver uma chamada recebida?

3 O aplicativo se comporta conforme projetado / desejado se houver um SMS recebido?
4 O aplicativo se comporta conforme projetado / desejado se o carregador estiver conectado?
5 O aplicativo se comporta conforme projetado / desejado se o carregador for desconectado?
6 O aplicativo se comporta conforme projetado / desejado se o dispositivo entrar no modo de hibernação
7 O aplicativo se comporta conforme projetado / desejado se o dispositivo sair do modo de hibernação?
8 O aplicativo se comporta conforme projetado / desejado se o dispositivo for reiniciado a partir da tela de bloqueio?
9 O aplicativo se comporta conforme projetado / desejado se o dispositivo estiver inclinado?
10 O aplicativo se comporta conforme projetado / desejado se o dispositivo for abalado?
11 O aplicativo se comporta conforme projetado / desejado se uma mensagem local vier de outro aplicativo (pense em: lembretes de calendário, tarefas pendentes etc.)?
12 O aplicativo se comporta conforme projetado / desejado se uma mensagem push vier de outro aplicativo (pense em: menções no Twitter, mensagem no Whatsapp, convite para Wordfeud etc.).
13 O aplicativo interage com o sensor GPS corretamente (liga / desliga, recupera dados GPS)?
14 A funcionalidade de todos os botões ou teclas do dispositivo está definida para este aplicativo?
15 Verifique se os botões ou teclas sem função definida não apresentam comportamento inesperado no aplicativo durante a ativação.
16 Caso haja um verdadeiro botão “voltar” disponível no dispositivo, o botão “voltar” leva o usuário à tela anterior?
17 Caso haja um verdadeiro botão de “menu” disponível no dispositivo, o botão de menu mostra o menu do aplicativo?
18 Caso haja um verdadeiro botão "home" disponível no dispositivo, o botão home leva o usuário de volta à tela inicial do dispositivo?
19 Caso haja um verdadeiro botão de “pesquisa” disponível no dispositivo, isso leva o usuário a alguma forma de pesquisa dentro do aplicativo?
20 O aplicativo se comporta conforme projetado / desejado se a mensagem "Bateria fraca" for enviada?
21 O aplicativo se comporta conforme projetado / desejado se o som do dispositivo estiver desligado?
22 O aplicativo se comporta conforme projetado / desejado se o dispositivo estiver no modo avião?
23 O aplicativo pode ser desinstalado do dispositivo?
24 O aplicativo funciona conforme o esperado após a reinstalação?
25 O aplicativo pode ser encontrado na app store? (Verifique após go-live)
26 O aplicativo pode alternar para diferentes aplicativos no dispositivo por meio de multitarefa conforme projetado / desejado?
27 Todas as posições (botões) da tela de toque estão funcionando quando um protetor de tela é usado?

Teste de Bluetooth

Os dispositivos Bluetooth podem se comunicar apenas dentro de um raio de 10 metros. Esses dispositivos podem ser teclados, mouse, fones de ouvido sem fio, etc. A tabela a seguir fornece uma lista de verificação de testes de Bluetooth que podem ser realizados -

Sr. Não. Descrição
1 O usuário pode pesquisar todos os dispositivos disponíveis no intervalo.
2 Tanto as transmissões de dados quanto de voz podem ser enviadas por meio de redes de curto alcance.
3 Tanto as transmissões de dados quanto de voz podem ser recebidas através do uso de redes de curto alcance.
4 O usuário pode se desconectar a qualquer momento.
5 Ao fechar o Bluetooth, peça para desconectar as conexões atuais.
6 O alcance máximo do Bluetooth é de 10 metros.
7 Através do celular, você pode enviar fotos, vídeos, trocar cartões de visita e também transferir arquivos para o seu PC.
8 (Dispositivo emparelhado) esta é uma mensagem usada para confirmar que um usuário emparelhou com sucesso dois dispositivos Bluetooth.
9 Modo não detectável, um dispositivo que não responde às solicitações de descoberta.
10 Modo não detectável, um dispositivo que não responde às solicitações de descoberta.
11 No modo não emparelhável, um dispositivo que não aceita o emparelhamento está no modo não emparelável.
12 Senha, uma senha é uma senha definida pelo usuário necessária para se conectar a um dispositivo a partir de qualquer outro dispositivo. É altamente recomendável usar chaves de acesso sempre que possível para evitar acesso não autorizado aos seus dispositivos Bluetooth.
13 Autenticação - O processo de verificação da identidade da outra extremidade de um link de comunicação. Na tecnologia Bluetooth, isso é obtido pelo processo de autenticação baseado em chaves de acesso e emparelhamento.
14 Dispositivos não encontrados, esta é uma mensagem de erro que pode aparecer se uma pesquisa por outros dispositivos no intervalo não encontrar nada.
15 Modo inativo, um dispositivo está no modo inativo quando não possui links estabelecidos com outros dispositivos. Neste modo, um dispositivo pode descobrir outros dispositivos.
16 Teste de dispositivo conhecido, um dispositivo que já é conhecido por outro dispositivo. Os dispositivos foram emparelhados no passado ou alguma informação dos dispositivos conhecidos está armazenada.

Teste de Wi-Fi

Testar a conexão WiFi do seu celular é uma ótima maneira de verificar se a Internet está operando na velocidade prometida pelo seu provedor de serviços, mas você não está limitado a executar esses testes no seu computador desktop. O teste de WiFi em telefones celulares é uma maneira perfeita de testar a potência do sinal de WiFi em vários lugares da sua casa ou escritório. A seguir está a lista de verificação de teste de Wifi para um dispositivo móvel.

Sr. Não. Descrição
1 O aplicativo se comporta de acordo com as especificações se conectado à Internet por meio de Wi-Fi?
2 O aplicativo se comporta de acordo com as especificações do aplicativo está fora do alcance da rede?
3 O aplicativo volta a funcionar quando volta ao alcance da rede de fora do alcance da rede?
4 O que acontece se o aplicativo alternar entre redes (Wi-Fi, 3G, 2G)
5 O aplicativo usa portas de rede padrão (Mail: 25, 143, 465, 993 ou 995 HTTP: 80 ou 443 SFTP: 22) para se conectar a serviços remotos, já que alguns provedores bloqueiam certas portas?

Como executar um teste de velocidade do WiFi do celular em seu smartphone

Executar um teste de velocidade do WiFi em seu smartphone é uma tarefa simples. Mais convenientes são os testes de velocidade executados no navegador da web móvel do seu smartphone. Basta seguir as instruções simples na tela para iniciar o teste. Se o teste online não salvar seus resultados, faça uma captura de tela após a conclusão do teste para fornecer um histórico.

Alguns testes estão disponíveis como aplicativos para as plataformas iOS e Android. Para usá-los, baixe o aplicativo desejado. Em seguida, siga as instruções para executar o teste e salve o resultado.

Ferramentas para realizar o teste de velocidade

Speed Test SpeedSmart WiFi & Mobile Network Speedtest- É compatível com Apple iPhone e iPad. É um aplicativo pago. SpeedSmart é o melhor utilitário de teste de velocidade do iOS para avaliar sua conexão celular (3G, 4G e LTE) e Wi-Fi em todos os seus dispositivos iOS. Uma rede de servidores global e um método de teste de velocidade inteligente garantem resultados precisos.

WiFi Speed Test- É compatível com telefones Android. É uma ferramenta paga. Com esta ferramenta, você pode testar a velocidade de sua rede local (LAN). O teste pode ser feito em rede sem fio (WiFi) ou com fio.

Localização e Globalização

Consulte a lista de verificação abaixo para ter uma ideia sobre os testes de localização e globalização para um dispositivo móvel.

Sr. Não. Descrição
1 O texto é traduzido.
2 As traduções atendem aos padrões de falantes nativos no que diz respeito à gramática e precisão da terminologia.
3 As caixas de diálogo são redimensionadas corretamente e o texto do diálogo é hifenizado de acordo com as regras de idioma da interface do usuário.
4 Caixas de diálogo traduzidas, barras de status, barras de ferramentas e menus cabem na tela em diferentes resoluções. Eles não se enrolam e não são cortados.
5 Os aceleradores de menu e diálogo são exclusivos.
6 O layout visual é consistente com o layout da edição nativa. Por exemplo, os elementos da caixa de diálogo estão na ordem correta das guias.

Teste de banco de dados

Existem diferentes maneiras de armazenar dados em aplicativos móveis. No caso do Android, você pode optar por armazenar seus dados no servidor, Preferências compartilhadas ou SQLite.

SQLiteé um banco de dados leve que é comumente usado no Android e em outros sistemas operacionais também. Para visualizar os dados no SQLite, pode ser necessário fazer o root no dispositivo ou usar emuladores para teste. Existem algumas ferramentas no Android Playstore que ajudam a extrair dados desse banco de dados.

Os seguintes tipos de testes devem fazer parte do seu teste de banco de dados móvel -

  • Teste de validação de banco de dados.
  • Teste de integração de banco de dados.
  • Teste de desempenho do banco de dados.
  • Teste de procedimento e função.
  • Teste de gatilho.
  • Teste de operações CRUD (Criar / Ler / Atualizar / Excluir) para ter certeza de que funcionarão no banco de dados.
  • Testar se as alterações do banco de dados são mostradas corretamente na IU do aplicativo.
  • Teste de função de pesquisa e indexação.

Teste de Recuperação

O teste de recuperação é usado para garantir que as operações possam continuar após um desastre. O teste de recuperação não verifica apenas o processo de recuperação, mas também a eficácia das partes componentes desse processo.

O teste de recuperação é a atividade de testar o quão bem um aplicativo é capaz de se recuperar de travamentos, falhas de hardware e outros problemas semelhantes. A seguir está a lista de verificação para o teste de Recuperabilidade.

Sr. Não Descrição
1 Os dados de backup adequados são preservados.
2 Os dados de backup são armazenados em um local seguro.
3 Os procedimentos de recuperação são documentados.
4 Todos os arquivos de mídia foram recuperados do ponto de restauração
5 Todos os contatos foram recuperados
6 Todos os aplicativos foram restaurados com sucesso

Teste de simultaneidade

Geralmente, usamos a ajuda de testes simultâneos para garantir que vários usuários possam acessar um programa ao mesmo tempo. Ao aplicar o teste de simultaneidade para um dispositivo móvel, como tal, haverá apenas um único usuário. Portanto, elimina a necessidade de testes de simultaneidade para um dispositivo móvel.

Testando usabilidade

Geralmente você obtém um equipamento onde um telefone celular e uma webcam podem ser ajustados para registrar a sessão de avaliação de usabilidade.

Existem ferramentas disponíveis como Aplausos . Eles fornecem um grupo direcionado de participantes da pesquisa que são escolhidos a dedo para testar seu aplicativo. O que separa a Applause de outros serviços é que você pode consultar um especialista da Applause, que então escolhe os participantes ideais com base na consulta.

A seguir está a lista de verificação geral para testes de GUI.

Sr. Não. Descrição
1 O aplicativo pode ser instalado no dispositivo?
2 O aplicativo se comporta conforme projetado / desejado se houver uma chamada recebida?
3 O aplicativo se comporta conforme projetado / desejado se houver um SMS recebido?
4 O aplicativo se comporta conforme projetado / desejado se o carregador estiver conectado?
5 O aplicativo se comporta conforme projetado / desejado se o carregador for desconectado?
6 O aplicativo se comporta conforme projetado / desejado se o dispositivo entrar no modo de hibernação?
7 O aplicativo se comporta conforme projetado / desejado se o dispositivo sair do modo de hibernação?
8 O aplicativo se comporta conforme projetado / desejado se o dispositivo for reiniciado a partir da tela de bloqueio?
9 O aplicativo se comporta conforme projetado / desejado se o dispositivo estiver inclinado?
10 O aplicativo se comporta conforme projetado / desejado se o dispositivo for abalado?
11 O aplicativo se comporta conforme projetado / desejado se uma mensagem local vier de outro aplicativo (pense em: lembretes de calendário, tarefas pendentes etc.).
12 O aplicativo se comporta conforme projetado / desejado se uma mensagem push vier de outro aplicativo (pense em: menções no Twitter, mensagem no Whatsapp etc.).
13 O aplicativo interage com o sensor GPS corretamente (liga / desliga, recupera dados GPS)?
14 A funcionalidade de todos os botões ou teclas do dispositivo está definida para este aplicativo?
15 Verifique se os botões ou teclas sem função definida não apresentam comportamento inesperado no aplicativo durante a ativação.
16 Caso haja um verdadeiro botão “voltar” disponível no dispositivo, o botão “voltar” leva o usuário à tela anterior?
17 Caso haja um verdadeiro botão de “menu” disponível no dispositivo, o botão de menu mostra o menu do aplicativo?
18 Caso haja um verdadeiro botão "home" disponível no dispositivo, o botão home leva o usuário de volta à tela inicial do dispositivo?
19 Caso haja um verdadeiro botão de “pesquisa” disponível no dispositivo, isso leva o usuário a alguma forma de pesquisa dentro do aplicativo?
20 O aplicativo se comporta conforme projetado / desejado se a mensagem "Bateria fraca" for enviada?
21 O aplicativo se comporta conforme projetado / desejado se o som do dispositivo estiver desligado?
22 O aplicativo se comporta conforme projetado / desejado se o dispositivo estiver no modo avião?
23 O aplicativo pode ser desinstalado do dispositivo?
24 O aplicativo funciona conforme o esperado após a reinstalação?
25 O aplicativo pode ser encontrado na app store? (Verifique após go-live)
26 O aplicativo pode alternar para diferentes aplicativos no dispositivo por meio de multitarefa conforme projetado / desejado?
27 Todas as posições (botões) da tela de toque estão funcionando quando um protetor de tela é usado?

UMA testing framework ou mais especificamente um testing automação framework é um ambiente de execução para realizar automated tests. É o sistema geral no qual os testes serão automatizados. É definido como o conjunto de premissas, conceitos e práticas que constituem uma plataforma de trabalho ou suporte para testes automatizados.

Uma estrutura de teste é responsável por -

  • Definir o formato para expressar as expectativas
  • Criação de um mecanismo para conectar ou conduzir o aplicativo em teste
  • Executar os testes e relatar os resultados

Arquitetura Framework

A arquitetura geral de uma estrutura de teste é a seguinte -

Para automação de teste móvel, precisamos de uma boa estrutura de teste de automação móvel. No topo dessa estrutura, podemos construir nossos casos de teste. As estruturas de teste de automação móvel podem ser segregadas pelo sistema operacional do dispositivo móvel. Nos capítulos a seguir, discutiremos dois tipos de estruturas de teste móvel: estruturas de teste Android e estruturas de teste iOS.

Existem muitas estruturas de teste do Android disponíveis no mercado. Vamos dar uma olhada nos 5 primeiros da pilha.

  • Robotium- Robotium é uma estrutura de teste de código aberto para o desenvolvimento de cenários de teste funcional, de sistema e de aceitação. É muito semelhante ao Selênio.

  • UIAutomator- UIAutomator é uma estrutura de teste do Google que fornece testes avançados de IU de aplicativos e jogos Android nativos. Possui uma biblioteca Java contendo API para criar testes de IU funcionais e também um mecanismo de execução para executar os testes.

  • Appium- Appium é uma estrutura de automação de teste de código aberto para testar aplicativos nativos e híbridos e aplicativos da web móveis. As funções da biblioteca Appium dentro da estrutura fazem chamadas para o servidor Appium em execução em segundo plano, que opera o dispositivo conectado.

  • Calabash- Calabash é uma estrutura de teste funcional que pode ser usada para testes funcionais iOS e Android. No papel, deve ser um dos frameworks mais fáceis de usar e mesmo os não desenvolvedores devem ser capazes de criar testes funcionais usando-o.

  • Selendroid- Selendroid é um garoto relativamente novo no bloco e pode ser usado para testar a funcionalidade de seus aplicativos Android. Aparentemente, se você está acostumado com Selenium, Selendroid deve ser uma maneira fácil de usar seu conhecimento para criar seus testes funcionais para Android.

Assim como as estruturas de teste do Android, existem muitas estruturas de teste do iOS disponíveis no mercado. Aqui vamos falar sobre alguns dos mais populares.

  • Appium- Appium é uma estrutura de automação de teste de código aberto para testar aplicativos nativos e híbridos e aplicativos da web móveis. As funções da biblioteca Appium dentro da estrutura fazem chamadas para o servidor Appium em execução em segundo plano, que opera o dispositivo conectado.

  • Calabash- Calabash é uma estrutura de teste funcional que pode ser usada para testes funcionais iOS e Android. No papel, deve ser um dos frameworks mais fáceis de usar e mesmo os não desenvolvedores devem ser capazes de criar testes funcionais usando-o.

  • Zucchini - Zucchini é uma estrutura de teste funcional visual de código aberto para aplicativos iOS com base no Apple UIAutomation.

  • UI Automation- Para seus testes funcionais mais típicos (ou testes de caixa preta), nos quais você vai escrever um código que simula um usuário final navegando em seu aplicativo, existe a Automação da IU. A UI Automation é fornecida pela Apple e é a maneira sancionada pela Apple de realizar testes funcionais do iOS.

  • FRANK – BDD for iOS - Se você deseja fazer testes de ponta a ponta no iOS e gostaria de usar BDD e Cucumber, não se preocupe - existe uma ferramenta chamada Frank que permitirá que você crie testes de aceitação e requisitos usando o Cucumber.

Comparação entre diferentes estruturas de teste

Robotium é uma estrutura de teste de código aberto para escrever casos de teste de caixa cinza automática para aplicativos Android. Com o suporte do Robotium, os desenvolvedores de casos de teste podem escrever cenários de teste de função, sistema e aceitação, abrangendo várias atividades Android.

Robotium pode ser usado para testar aplicativos onde o código-fonte está disponível e aplicativos onde apenas o arquivo APK está disponível.

Benefícios do Robotium

  • Fácil de escrever, código mais curto. Tempo mínimo necessário para escrever casos de teste sólidos.

  • Você pode desenvolver casos de teste poderosos, com conhecimento mínimo do aplicativo em teste.

  • A estrutura lida com várias atividades Android automaticamente. A legibilidade dos casos de teste é muito melhorada, em comparação com os testes de instrumentação padrão.

  • Cronometragem e atrasos automáticos.

  • Segue automaticamente a atividade atual.

  • Encontra automaticamente visualizações.

  • Toma automaticamente suas próprias decisões (por exemplo: quando rolar, etc.)

  • Nenhuma modificação na plataforma Android.

  • A execução do teste é rápida.

  • Os casos de teste são mais robustos devido à vinculação do tempo de execução aos componentes da GUI.

  • Integra-se perfeitamente com Maven ou Ant.

Desvantagens do Robotium

  • Robotium não pode lidar com componentes Flash ou da Web.

  • Ele lida com apenas um aplicativo por vez.

  • Ele não pode simular o clique no teclado virtual usando Robotium (é necessário usar 'enterText ()' para inserir texto em um campo EditText)

  • Robotium não pode interagir com as notificações da barra de status - ou seja, puxar para baixo a área de notificação e clicar em uma notificação especificada.

  • Pode ser um pouco lento, especialmente em dispositivos mais antigos.

Como usar o Robotium

Step 1- O pré-requisito para usar o Robotium é o Java SDK (mínimo 1.6). Se você não tiver o Java instalado em seu sistema, siga as etapas abaixo.

  • Baixe JDK e JRE da Oracle Technology Network

  • Aceite o contrato de licença.

  • Instale o JDK e o JRE.

  • Defina a variável de ambiente conforme mostrado na captura de tela abaixo.

Step 2- Baixe o Android Studio a partir do Android Studio

  • Clique duas vezes no exe e execute o instalador.
  • Continue com todas as opções padrão.
  • Defina o ANDROID_HOME.

Step 3 - Instale imagens e ferramentas Android.

  • Clique em SDK Manager -
  • Selecione o pacote necessário. Por exemplo, se estamos construindo um aplicativo para Android 4.4.2, certifique-se de que os seguintes pacotes estejam marcados na seção Ferramentas -

    • Android SDK Tools rev 22.6.3
    • Ferramentas da plataforma Android rev 19.0.1
    • Ferramentas de construção do Android SDK rev 19.1

Step 4 - Crie dispositivos virtuais Android.

  • Abra o Android Studio e clique em AVD Manager na barra de ferramentas. AVDs nos permitem testar e executar nossos aplicativos Android.
  • Use as seguintes configurações para um AVD Nexus5 -

    • Dispositivo - Nexus 5 (4,95, 1080 x 1920; xxhdpi)
    • Destino - APIs x86 do Google (Google Inc.) - API de nível 19
    • (Certifique-se de selecionar o destino com APIs do Google no nome.)
    • CPU - Intel Atom (x86)
    • Marque a caixa para Usar GPU Host
    • Clique OK
  • Agora você deve ver o AVD que criou no AVD Manager, onde pode iniciá-lo, excluí-lo ou criar outro!

Step 5- Arquivo Jar do Robotium Baixe o arquivo Jar do Robotium da RobotiumTech

Teste um aplicativo com Robotium

Para testar um aplicativo com Robotium, siga as etapas abaixo -

Step 1 - Crie um projeto de teste no Android Studio denominado “RobotiumTest”.

Escolha todas as opções padrão até chegar à página principal.

Step 2 - Copie o arquivo jar Robotium para a pasta Lib do projeto.

Step 3 - Adicione a dependência no arquivo build.gradle em src pasta.

androidTestCompile 'com.jayway.android.robotium: robotium-solo-5.5.3'

Step 4 - Sincronize o Gradle.

Step 5 - Crie a classe de teste da seguinte maneira -

package com.example;

import com.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.EditText;
import android.widget.TextView;

public class MyTestClass extends ActivityInstrumentationTestCase2<TestActivity>{

   private Solo solo;

   public MyTestClass() {
      super(TestActivity.class);
   }

   public void setUp() throws Exception {
      solo = new Solo(getInstrumentation(), getActivity());
   }

   public void testCase() throws Exception {
      String vResult="TestExample";
      EditText vEditText = (EditText) solo.getView(R.id.edit1);
      solo.clearEditText(vEditText);
      solo.enterText(vEditText,"TestExample");
      solo.clickOnButton("Submit");
      assertTrue(solo.searchText(vResult));
      TextView textField = (TextView) solo.getView(R.id.txt1);
      //Assert to verify result with visible value
      assertEquals(vResult, textField.getText().toString());
   }

   @Override
   public void tearDown() throws Exception {
      solo.finishOpenedActivities();
   }
}

Step 6- Salve todas as alterações. Certifique-se de que não haja erros.

Step 7- Agora, execute o caso de teste. Se o caso de teste for bem-sucedido, você verá a seguinte saída!

Selendroid é uma estrutura de automação de teste para testar aplicativos Android nativos e híbridos. Os testes Selendroid são escritos usando a API do cliente Selenium Webdriver.

Benefícios do Selendroid

  • Totalmente compatível com JSON Wire Protocol / Selenium 3 Ready.

  • Nenhuma modificação do aplicativo em teste é necessária para automatizá-lo.

  • Testando a web móvel usando o aplicativo de visualização da web do driver Android integrado.

  • Mesmo conceito para automatizar aplicativos nativos ou híbridos.

  • Os elementos da IU podem ser encontrados por diferentes tipos de localizadores.

  • Gestos são suportados: API de interações avançadas do usuário.

  • Os emuladores existentes são iniciados automaticamente.

  • Selendroid suporta conexão automática de dispositivos de hardware.

  • Integração total como um nó no Selenium Grid para escalonamento e teste paralelo.

  • Suporte a múltiplos APIs de destino Android (10 a 19).

  • Construído no Inspector para simplificar o desenvolvimento de casos de teste.

  • Selendroid pode ser estendido em tempo de execução com suas próprias extensões.

  • Selendroid pode interagir com vários dispositivos Android (emuladores ou dispositivos de hardware) ao mesmo tempo.

Desvantagens do Selendroid

A desvantagem dessa ferramenta é que ela é bastante lenta e, em algumas máquinas com menos de 4 GB de RAM, é inutilizável.

Como usar o Selendroid

Step 1- O pré-requisito para usar o Robotium é o Java SDK (mínimo 1.6). Se você não tiver o Java instalado em seu sistema, siga as etapas abaixo.

  • Baixe JDK e JRE do Oracle JavaSE

  • Aceite o contrato de licença.

  • Instale o JDK e o JRE.

  • Defina a variável de ambiente conforme mostrado na captura de tela abaixo.

Step 2- Baixe o Android Studio do SDK Android (isso levará algum tempo devido ao tamanho do arquivo).

  • Clique duas vezes no exe e execute o instalador.
  • Continue com todas as opções padrão.
  • Defina o ANDROID_HOME.

Step 3- Baixe os arquivos jar do Selenium e teste o aplicativo do Selendroid

  • Baixe o arquivo jar de selênio e teste o aplicativo.
  • Coloque-o em qualquer pasta, ou seja, D: \ SelendroidJars.

Step 4 - Dispositivo físico com cabo USB.

  • Certifique-se de que o dispositivo esteja conectado à estação de trabalho com o cabo USB.

  • Certifique-se de que o modo de depuração USB (em configurações → Opções do desenvolvedor) esteja ativado.

Teste um aplicativo com Selendroid

Para testar um aplicativo usando Selendroid, siga as etapas abaixo -

Step 1 - Instale o Eclipse.

Step 2 - Crie um projeto Java.

Step 3 - Adicione o arquivo jar Selendroid baixado ao projeto recém-criado.

Step 4 - Adicione os arquivos jar do Selenium baixados ao projeto recém-criado.

Step 5 - Configure testNG no Eclipse.

Step 6- Conecte os dispositivos móveis com o sistema usando o cabo USB. Defina o modo de depuração USB nas opções do desenvolvedor em configurações.

Step 7- Execute o servidor Selendroid. Abra o prompt de comando e escreva o seguinte código e pressione Enter -

java -jar selendroid-standalone-0.17.0-with-dependencies.jar -app selendroid-test-app-0.17.0.apk

O Selendroid-standalone iniciará um servidor http na porta 4444 e fará a varredura de todos os dispositivos virtuais Android (avd) que o usuário criou (~ / .android / avd /).

Abra o navegador da web e navegue até: http://localhost:4444/wd/hub/status.

Step 8- Criar um projeto Java; adicione bibliotecas autônomas Selendroid, jars Selenium e bibliotecas JUnit no caminho de construção.

Step 9 - Crie um pacote no projeto Java.

Step 10 - Crie uma classe no pacote e escreva o código a seguir.

package selTest;

import io.selendroid.SelendroidDriver; 
import io.selendroid.common.SelendroidCapabilities;
import io.selendroid.standalone.SelendroidConfiguration;
import io.selendroid.standalone.SelendroidLauncher;

import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 

import org.testng.Assert; 
import org.testng.annotations.AfterSuite; 
import org.testng.annotations.BeforeSuite; 
import org.testng.annotations.Test;

public class SelendroidTest {

   private WebDriver driver ;

   @BeforeSuite 
   public void setUp() throws Exception {
      SelendroidConfiguration config = new SelendroidConfiguration();
      config.addSupportedApp("selendroid-test-app-0.9.0.apk");
      SelendroidLauncher selendroidServer = new SelendroidLauncher(config);
      selendroidServer.launchSelendroid();
	  
      SelendroidCapabilities caps = new
         SelendroidCapabilities("io.selendroid.testapp:0.9.0"); 
      driver = new SelendroidDriver(caps);
   }
   
   @Test 
   public void selendroidTest() throws Exception {
      WebElement inputField = driver.findElement(By.id("my_text_field"));
      Assert.assertEquals("true", inputField.getAttribute("enabled"));
      inputField.sendKeys("Selendroid");
      
      Assert.assertEquals("Selendroid", inputField.getText());
	  
      WebElement button = driver.findElement(By.id("buttonTest"));
      button.click();
	  
      button = driver.findElement(By.id("button2"));
      button.click();
      
      Thread.sleep(5000);
	  
      button = driver.findElement(By.id("startUserRegistration"));
      button.click();
      
      Thread.sleep(10000);
	  
      WebElement element = driver.findElement(By.id("label_username")); 
      
      String text = element.getText();
      System.out.println(text);
      element = driver.findElement(By.id("inputUsername"));
      element.sendKeys("bob");
      
      element = driver.findElement(By.id("inputEmail"));
      element.sendKeys("[email protected]"); 
      
      element = driver.findElement(By.id("inputPassword"));
      element.clear();
      element.sendKeys("test1233");
      
      element = driver.findElement(By.id("inputName"));
      element.clear(); 
      element.sendKeys("My Name ");
	  
      element = driver.findElement(By.id("input_preferedProgrammingLanguage")); 
      element.click();
      
      element = driver.findElement(By.id("text1"));
      element.click();
	  
      element = driver.findElement(By.id("input_adds"));
      element.click();
	  
      element = driver.findElement(By.id("btnRegisterUser"));
      element.click();
      
      element = driver.findElement(By.id("buttonRegisterUser"));
      element.click(); 
   }
   
   @AfterSuite 
   public void tearDown(){ 
      driver.quit(); 
   } 
}

Step 11 - Execute a classe com a configuração de execução testNG.

Appium é uma estrutura de automação de teste de código aberto para testar aplicativos nativos e híbridos e aplicativos da web móveis. Ele dirige aplicativos iOS e Android usando o protocolo WebDriver.

Vantagens do Appium

  • É gratuito e (principalmente) de código aberto.

  • Ele tem um grupo do Google muito bem apoiado e ativo.

  • Está na especificação Selenium 3, então deve ser à prova de futuro.

  • Suporta Android e iOS.

  • Não requer que nada seja instalado no dispositivo - nenhuma mudança de servidor ou código é necessária.

Desvantagens do Appium

  • Sem suporte para esperas inteligentes.
  • No iOS, você só pode executar um teste por vez por Mac.
  • Suporte limitado para gestos.
  • Suporte limitado para Android <4.1

Como usar o Appium

Step 1- Os pré-requisitos para usar o Appium é Java SDK (mínimo 1.6). Se você não tiver o Java instalado em seu sistema, siga as etapas abaixo.

  • Baixe JDK e JRE do Oracle JavaSE

  • Aceite o contrato de licença.

  • Instale o JDK e o JRE.

  • Defina a variável de ambiente conforme mostrado na captura de tela abaixo.

Step 2- Baixe o Android Studio do SDK (levará algum tempo devido ao tamanho do arquivo).

  • Clique duas vezes no exe e execute o instalador.
  • Continue com todas as opções padrão.
  • Defina o ANDROID_HOME.

Step 3 - Instale imagens e ferramentas Android.

  • Clique em SDK Manager -
  • Selecione o pacote necessário. Por exemplo, se estamos construindo um aplicativo para Android 4.4.2, certifique-se de que os seguintes pacotes estejam marcados na seção Ferramentas -

    • Android SDK Tools rev 22.6.3
    • Ferramentas da plataforma Android rev 19.0.1
    • Ferramentas de construção do Android SDK rev 19.1

Step 4 - Criar dispositivos virtuais Android -

  • Abra o Android Studio e clique em AVD Manager na barra de ferramentas. AVDs nos permitem testar e executar nossos aplicativos Android.

  • Use as seguintes configurações para um AVD Nexus5 -

    • Dispositivo: Nexus 5 (4,95, 1080 x 1920; xxhdpi)

    • Destino: APIs x86 do Google (Google Inc.) - API de nível 19

    • Certifique-se de selecionar o destino com APIs do Google no nome.

    • CPU: Intel Atom (x86)

    • Marque a caixa para Usar GPU Host

    • Clique OK.

  • Agora você deve ver o AVD que criou no AVD Manager, onde pode iniciá-lo, excluí-lo ou criar outro!

Step 5- Baixe arquivos jar do Appium do Appium

Teste um aplicativo com Appium

Para testar um aplicativo com Appium, siga as etapas abaixo -

Step 1 - Crie um projeto de teste no Android Studio denominado “RobotiumTest”.

Escolha todas as opções padrão até chegar à página principal.

Step 2- Adicione os jars Appium em seu projeto. Clique em Projeto → Aplicativo → copie todos os jars da biblioteca. Selecione os jars copiados, exceto Selenium, cliente Java e Junit Jar, clique com o botão direito sobre ele e clique em "Adicionar como biblioteca".

Step 3- Clique em build.gradle no aplicativo. Você verá todas as bibliotecas adicionadas, conforme mostrado na imagem a seguir.

Step 4 - Agora crie uma classe Java conforme mostrado abaixo -

AppiumDriver driver;
@Before
public void testCaseSetup()throws Exception {
   //service.start();
   //reader.readFile();

   DesiredCapabilities cap = new DesiredCapabilities();
	
   cap.setCapability(MobileCapabilityType.PLATFORM_NAME,"Android");
   cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Android device");
   cap.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, "4000");
   cap.setCapability(MobileCapabilityType.APP, "c://apk//sample.apk");
	
   driver = new AndroidDriver<MobileElement>("http://127.0.0.1:4444/wd/hub",cap);
}

@Test
public void testcase1()throws Exception {
   driver.findElementByID("Example").click();
   Asser.assertTrue(driver.findElementByID("Example").isDisplayed));
}

@After
public void testCaseTearDown() {
   driver.quit();
}

Step 5 - Executando o caso de teste.

  • Clique na variante de compilação e selecione Teste de unidade.
  • Inicie o servidor Appium com a porta específica "4444".
    • Baixe o Appium para Windows aqui.
    • Clique duas vezes no .exe e instale o Appium.
    • Clique no ícone para abrir a IU.
    • Altere a porta se necessário, conforme mostrado abaixo.
    • Clique no botão Play para iniciar o servidor.
  • Conecte o dispositivo com depuração USB ou inicie um emulador.
  • Clique com o botão direito na classe de teste e clique em "Executar".

Zucchini é uma nova estrutura de teste que usa uma linguagem específica de domínio (DSL) no estilo BDD. Uma de suas áreas de foco é simplificar os testes de aceitação escritos com Selenium.

Não é um substituto do JBehave ou do Robot Framework, como você verá mais adiante. Aqui, daremos uma ideia dos conceitos da Abobrinha, descrevendo um exemplo passo a passo.

Como instalar abobrinha

O pré-requisito para instalar o Zucchini é o XCode 4.2. Além disso, algumas ferramentas de linha de comando são necessárias, como brew update && brew install imagemagick && brew install coffee-script.

Como Usar Abobrinha

  • gem install zucchini-ios

  • Zucchini não envolve fazer modificações no código do aplicativo. Você também pode manter seus testes de abobrinha em um projeto separado.

  • Comece criando um andaime de projeto

  • zucchini generate --project /path/to/my_project

  • Crie um scaffold de recurso para seu primeiro recurso

  • zucchini generate --feature /path/to/my_project/features/my_feature

  • Comece a hackear modificando features/my_feature/feature.zucchini e features/support/screens/welcome.coffee.

  • Como alternativa, confira o projeto de demonstração de abobrinha que apresenta uma configuração de abobrinha fácil de explorar em torno da amostra CoreDataBooks da Apple.

Executando no dispositivo

  • Adicione o seu dispositivo a features/support/config.yml.

  • o udidetect utilitário é útil se você planeja adicionar dispositivos de vez em quando - udidetect -z.

    ZUCCHINI_DEVICE="My Device" zucchini run /path/to/my_feature

  • Rodando no simulador iOS. Nós encorajamos você a rodar seus recursos de abobrinha em hardware real. No entanto, você pode executá-los no simulador iOS, se necessário.

    • Primeiro, modifique seu features/support/config.ymlpara incluir um caminho completo para seu aplicativo compilado. Por exemplo,

      app: /Users/vaskas/Library/Developer/Xcode/DerivedData/CoreDataBooks-ebeqiuqksrwwoscupvxuzjzrdfjz/Build/Products/Debug-iphonesimulator/CoreDataBooks.app

    • Em segundo lugar, adicione uma entrada 'Simulador iOS' à seção de dispositivos (sem necessidade de UDID) e certifique-se de fornecer o valor real para 'tela' com base nas configurações do Simulador iOS -

  • Execute como -

    ZUCCHINI_DEVICE="iOS Simulator" zucchini run /path/to/my_feature

Exibição de resultado