Tutorial de teste de aplicativos iOS: Manual & Automação

Índice:

Anonim

O que é o iOS App Testing?

iOS App Testing é um processo de teste no qual um aplicativo iOS é testado em dispositivos Apple reais para verificar se funciona conforme o esperado ou não para ações específicas do usuário, como tempo de instalação, interface do usuário, experiência do usuário, aparência, comportamento, funcionalidade, tempo de carregamento, desempenho, lista da App Store, suporte à versão do sistema operacional, etc.

Por que testar aplicativos iOS?

O iOS App Testing é necessário porque o iOS é a plataforma da Apple para aplicativos móveis que foi lançado em 29 de junho de 2007. Ao contrário do Android, a Apple não licencia o iOS para instalação em hardware que não seja da Apple. Os aplicativos iOS e iOS só podem ser instalados em dispositivos Apple, portanto, seu aplicativo iOS deve ser compatível com as versões iOS e dispositivos iOS.

Esta é a pergunta comum quando o desenvolvedor cria um aplicativo iOS.

Não importa quanto tempo você investe em design e implementação, erros são inevitáveis ​​e bugs aparecerão. Existem alguns bugs comuns no aplicativo iOS. Conforme mostrado na figura abaixo.

  1. Falha do aplicativo

Um dos problemas mais frustrantes, ao usar dispositivos da Apple, é que um aplicativo pode travar com frequência durante a execução. Muitas vezes o aplicativo trava devido a alguns bugs ou vazamento de memória nos aplicativos.

  1. Incompatibilidades de aplicativos

Seu aplicativo iOS pode funcionar perfeitamente na versão atual do iOS, mas se o iOS for atualizado, pode não funcionar devido a problemas de incompatibilidade.

  1. Vulnerabilidade de segurança

Uma vulnerabilidade de segurança no iOS permite que o hacker ataque seus dispositivos iOS, roube suas informações privadas. Até agora, vulnerabilidades graves de segurança do iPhone são descobertas em diferentes versões do iOS.

  1. Perda de memória

Vazamentos de memória são blocos de memória alocada que o programa não usa mais. Vazamentos de memória fazem seu aplicativo iOS travar. Eles são bugs e sempre devem ser corrigidos.

Neste tutorial, você aprenderá-

  • Por que testar o iOS?
  • iOS testando MindMap
  • Lista de verificação de teste de iOS
  • Estratégia de teste de iOS
  • Teste automatizado
    • Teste de unidade com OCUnit
    • Teste de IU com UIAutomation
  • Teste manual
    • Teste Exploratório
    • Teste de usuário
      • Teste de Conceito
      • Testando usabilidade
      • Teste beta
      • Teste A / B
  • Prática recomendada de teste de iOS
  • MITOS sobre testes de iOS

iOS testando MindMap

Conforme mostrado na figura acima, iOS Testing MindMap mostra todos os itens que o testador deve considerar ao conduzir testes no iOS.

Lista de verificação de teste de aplicativos iOS

Esta lista de verificação foi projetada especificamente para testar as características dos aplicativos móveis iOS. Obviamente, ele testa apenas as características genéricas do aplicativo e não a funcionalidade dele.

  • Verifique o tempo de instalação do aplicativo no dispositivo. Certifique-se de que o aplicativo seja instalado dentro de um tempo aceitável.
  • Depois que o aplicativo for instalado, verifique se o aplicativo possui o ícone e o nome do aplicativo. Além disso, certifique-se de que o ícone e o nome sejam autoexplicativos, refletindo a intenção central do aplicativo.
  • Inicie o aplicativo e verifique se a tela inicial é exibida.
  • Verifique o tempo limite da tela inicial e o tempo necessário para carregar a tela inicial. A tela inicial do aplicativo deve carregar em um tempo aceitável. Se a tela inicial levar mais tempo para carregar, haverá mais chance para o usuário encerrar ou até mesmo desinstalar o próprio aplicativo. Além disso, verifique como o conteúdo é carregado na tela inicial.
  • A principal função do aplicativo deve ser aparente imediatamente. Deve falar por si.
  • Verifique se o aplicativo é compatível com as orientações paisagem e retrato. Em caso afirmativo, verifique o aplicativo em ambas as orientações. A interface do usuário do aplicativo deve ser configurada de acordo.
  • Sem uma conexão com a Internet, inicie o aplicativo. Certifique-se de que o aplicativo se comporte conforme projetado / desejado. É possível que o aplicativo trave ao iniciá-lo ou apenas exiba uma tela em branco.
  • Se o aplicativo usa serviços de localização, verifique se o alerta de permissão de localização é exibido ou não. Este alerta deve ser solicitado ao usuário apenas uma vez.
  • Se o aplicativo enviar notificações push, verifique se o alerta de permissão de notificação push é exibido ou não. Este alerta também deve ser solicitado ao usuário apenas uma vez.
  • Inicie o aplicativo, feche-o e reinicie. Verifique se o aplicativo se comporta conforme projetado / desejado
  • Feche o aplicativo tocando no botão Início do dispositivo e abra o aplicativo novamente. Verifique se o aplicativo funciona conforme projetado / desejado.
  • Depois de instalado, verifique se o aplicativo está listado no aplicativo de configurações do iPhone.
  • Depois que o aplicativo estiver ativo, verifique se o aplicativo pode ser encontrado em “App Store.” Haverá uma versão do sistema operacional compatível para o aplicativo. Portanto, certifique-se de que o aplicativo pode ser encontrado na versão do sistema operacional compatível com a "App Store" do dispositivo. Além disso, o aplicativo não deve ser listado na "App Store" do dispositivo com versão de sistema operacional sem suporte.
  • Verifique se o aplicativo entra no modo de espera ao ser executado em segundo plano para evitar o esgotamento da bateria.
  • Se o desempenho da aplicação estiver lento ou sempre que os conteúdos estiverem carregando, verifique se existe um ícone de status de andamento ("Carregando…"), de preferência com uma mensagem específica.
  • Pesquise o aplicativo com seu nome na barra de pesquisa do dispositivo. Verifique se o aplicativo está listado
  • Verifique se a aparência dos botões que executam ações padrão não é alterada no aplicativo (por exemplo: atualizar, organizar, lixeira, responder, voltar, etc.)
  • Verifique se os botões padrão não são usados ​​para outras funções, então eles são normalmente usados ​​para

Estratégia de teste de iOS

A figura abaixo apresenta alguns tipos comuns de estratégia de teste do iOS.

Teste automatizado

O teste automatizado é a maior vantagem do teste do iOS. Ele permite que você detecte o bug e os problemas de desempenho rapidamente. Os benefícios do teste automatizado, conforme mostrado abaixo:

  • O teste automatizado pode ser executado em vários dispositivos, economizando seu tempo
  • O teste automatizado pode direcionar SDKs. Você pode executar o teste em diferentes versões do SDK
  • O teste automatizado aumenta sua produtividade de teste, economiza seu custo de desenvolvimento de software
  • Existem muitas estruturas de teste de código aberto que oferecem suporte a testes automatizados no iOS

Teste de unidade com OCUnit

Quando o iOS SDK original foi lançado, faltava recursos de teste de unidade. Portanto, a Apple trouxe de volta a solução de teste de unidade OCUnit no iOS SDK versão 2.2.

OCUnit é uma estrutura de teste para C-Objective no Mac OS. As maiores vantagens de uma estrutura OCUnit são a forte integração no ambiente de desenvolvimento XCode, conforme mostrado abaixo.

Alguns dos benefícios do OCUnit são mostrados na figura abaixo.

Teste de IU com UIAutomation

UI Automation é uma biblioteca JavaScript fornecida pela Apple Inc, que pode ser usada para realizar um teste automatizado em dispositivos reais e no simulador iOS. Esta estrutura é adicionada ao iOS SDK4.0. Usando UI Automation, você pode automatizar o teste do aplicativo não apenas no simulador, mas também no dispositivo real.

UIAutomation traz a você estes benefícios:

  • Reduza o esforço no teste manual
  • Use menos sua memória para executar todos os seus testes
  • Simplifique seu procedimento de teste de IU (basta apertar um ou três botões e executar todos os seus conjuntos de testes)

O instrumento UIAutomation funciona a partir de scripts, que são escritos em JavaScript. Ele simula eventos do usuário no aplicativo iOS de destino.

UIAutomation Cons vs. Pros

Prós Contras
1 Bom suporte para gesto e rotação Não é código aberto, menos suporte do desenvolvedor
2 Pode executar testes de UIAutomation no dispositivo, não o único simulador. Não consegue se integrar com outras ferramentas extremamente bem
3 Desenvolvido por JavaScript, é uma linguagem de programação popular.

A figura acima representa algumas classes comuns no framework UIAutomation.

  • A classe UIAElement é a superclasse para todos os elementos da interface do usuário no contexto do Automation
  • A classe UIATarget representa os elementos de interface do usuário de alto nível do sistema em teste
  • A classe UIALogger fornece informações de teste e erro sobre a funcionalidade de recuperação
  • A classe UIAActivityView permite acesso e controle de visualizações de atividades em seu aplicativo.
  • A classe UIAActionSheet permite acesso e controle de planilhas de ação em seu aplicativo.
  • Ação de evento do usuário
    • Classe UISlider
    • Classe UIAButton
    • Classe UIAKey
    • Classe UIAKeyboard

Outras estruturas de teste automatizado

  • MonkeyTalk: Uma ferramenta para teste automatizado de aplicativos iOS, Android, HTML5 e Adobe. É um ambiente integrado para gerenciamento e execução de suítes de teste
  • Frank: estrutura de teste de aceitação automatizada para iPhone e iPad
  • KIF: é um framework de teste de integração iOS . Ele permite a fácil automação de aplicativos iOS, aproveitando os atributos de acessibilidade que o sistema operacional disponibiliza para pessoas com deficiência visual.

Teste manual

Teste Exploratório

É um teste sem um plano de teste formal. O teste exploratório é um método de teste de baixo custo, mas pode perder os bugs potenciais em seu aplicativo iOS.

Teste exploratório Contras vs. Prós

Prós Contras
1 É necessária menos preparação, detecte precocemente bugs sérios. Requer alta habilidade do testador
2 Não precisa do Plano de Teste para acelerar a detecção do bug. A cobertura do teste é baixa. Isso não garante que todos os seus requisitos sejam testados.
3 A maioria dos bugs são descobertos cedo por algum tipo de teste exploratório Falta de documentação de teste

Teste de usuário

O teste do usuário é um tipo de teste manual no iOS. O objetivo deste teste é criar aplicativos melhores, não apenas aplicativos sem bugs . A figura abaixo mostra quatro tipos de teste de usuário

Teste de conceito

Avalie a resposta do usuário a uma ideia de aplicativo antes de lançá-la no mercado. Os procedimentos de teste de conceito no iOS são descritos a seguir

Testando usabilidade

O Teste de Usabilidade é um teste de como é fácil usar seu aplicativo iOS. No teste do iOS, o teste de usabilidade pode ser gravado para lembrar ou compartilhar com outras pessoas.

Existem algumas ferramentas que suportam testes de usabilidade no iOS.

Magitest, um teste simples de usabilidade do iOS para sites e aplicativos.

Delight.io, esta ferramenta pode capturar a interação real do usuário em seus aplicativos iOS.

Teste beta

O Teste Beta é o teste de integração com dados reais para obter o feedback final dos usuários. Para distribuir seus aplicativos para teste beta, você deve seguir as etapas abaixo.

- Pré-condição : se você estiver testando a versão beta de um candidato final para um lançamento, certifique-se de validar o aplicativo antes de distribuí-lo aos testadores.

- Encontre testador por meio do serviço : você coleta IDs de dispositivos de testadores e os adiciona à Central de membros

- Criar distribuição ad-hoc : a distribuição Ad Hoc permite que o testador execute seu aplicativo em seu dispositivo sem a necessidade de Xcode. Esta etapa inclui 2 subetapas

  • Crie certificados de distribuição
  • Crie perfis de provisionamento Ad-hoc

- Solicite feedback do testador: O testador conduz o teste e envia relatórios de bug para você. Depois que seu aplicativo for lançado, você pode obter os relatórios do iTunes Connect.

Teste A / B

O teste A / B é uma das maneiras mais poderosas de avaliar a eficácia de seu aplicativo iOS . Ele usa experimentos aleatórios com dois dispositivos, A e B.

O teste A / B inclui três etapas principais

  • Configure um teste : 2 versões preparadas de seu aplicativo iOS (A e B) e métrica de teste
  • Teste : teste 2 versões de aplicativos iOS acima em dispositivos simultaneamente.
  • Analisar : Meça e selecione a melhor versão para lançar

As ferramentas a seguir oferecem suporte a testes A / B no iOS.

  • Surge: Teste A / B para iOS e Android. Pode ser integrado ao seu aplicativo iOS e tornar o processo de teste mais rápido.

Melhores práticas para testes A / B

  • Defina o objetivo do seu teste. Qualquer teste é inútil sem um alvo.
  • Observe os usuários finais usarem seu aplicativo pela primeira vez
  • Execute um teste apenas por atualização. Ele economiza seu tempo ao conduzir testes
  • Monitore seu teste cuidadosamente. Você pode aprender experiências com seu teste monitorando-o.

Prática recomendada de teste de iOS

Aqui estão algumas dicas que você deve saber ao organizar os testes de seu aplicativo iOS

  1. Teste o aplicativo em um dispositivo real para ter um desempenho real
  2. Melhore seus métodos de teste, porque os métodos de teste tradicionais não são mais suficientes para cobrir todos os testes em iOS
  3. Usando o log do console para testar o aplicativo iOS. Este é um recurso do iOS que inclui informações de todos os aplicativos do dispositivo.
  4. Documente os bugs do aplicativo usando um comando curto de tela integrado . Ajuda o desenvolvedor a entender como os bugs ocorrem.
  5. O relatório de falhas é uma ferramenta útil ao testar seu aplicativo. Eles podem detectar travamentos e detalhes de log para que você possa investigar os bugs facilmente.

MITOS sobre testes de iOS

Esta seção examina alguns mitos e realidades populares dos testes de iOS

Testar aplicativos em iOS e Android são a mesma coisa.

iOS e Android são duas plataformas desenvolvidas pela Apple Inc e Google. Eles são totalmente diferentes. Etc ambientes de teste, frameworks de teste, linguagens de programação.

A aplicação de teste no simulador iOS é suficiente.

O simulador iOS não é forte o suficiente para testar um aplicativo. Porque o simulador iOS tem algumas limitações:

  • Limitações de hardware (câmera, entrada de microfone, sensor)
  • A IU do seu aplicativo pode parecer funcionar mais rápida e suavemente do que em um dispositivo
  • Limitações de API
  • Alguns frameworks não são suportados (Media Player, Store Kit, Message UI ...)

Todo mundo vai baixar meus aplicativos na app store porque tem muitos recursos

Quanto mais recursos seu aplicativo tiver, mais bugs você poderá obter. Nenhum usuário baixará seu aplicativo se ele ainda tiver muitos defeitos.