Tutorial de teste de aplicativos iOS: manual e automação
O que é o teste de aplicativos iOS?
Teste de aplicativos iOS é 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, aplicativo Listagem da loja, suporte à versão do sistema operacional, etc.
Por que testar aplicativos iOS?
Teste de aplicativos iOS é necessário porque iOS é a plataforma da Apple para aplicativos móveis, lançada em 29 de junho de 2007. Ao contrário 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 versões iOS e dispositivos iOS.
Esta é a pergunta comum quando um 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.
Aplicativo travando
Um dos problemas mais frustrantes ao usar dispositivos Apple é que um aplicativo pode travar frequentemente durante a execução. Muitas vezes o aplicativo trava porque há alguns bugs ou vazamento de memória nos aplicativos.
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.
vulnerabilidade de segurança
Uma vulnerabilidade de segurança no iOS permite que o hacker ataque seus dispositivos iOS e roube suas informações privadas. Até agora, vulnerabilidades graves de segurança do iPhone foram descobertas em diferentes versões do iOS.
Perda de memória
Vazamentos de memória são blocos de memória alocada que o programa não utiliza mais. Vazamentos de memória fazem com que seu aplicativo iOS trave.
Eles são bugs e devem sempre ser corrigidos.
Teste iOS MindMap
Conforme mostrado na figura acima, iOS Ensaios MindMap mostra todos os itens que o testador deve considerar ao realizar testes no iOS.
Lista de verificação de testes 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 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 prazo aceitável.
- Depois que o aplicativo estiver instalado, verifique se ele possui ícone e 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 dentro de um tempo aceitável. Se a tela inicial demorar mais para carregar, haverá mais chances de o usuário sair ou até mesmo desinstalar o próprio aplicativo. Além disso, verifique como o conteúdo é carregado na tela inicial.
- A função principal do aplicativo deve ficar aparente imediatamente. Deveria falar por si.
- Verifique se o aplicativo oferece suporte às orientações paisagem e retrato. Nesse caso, verifique o aplicativo em ambas as orientações. A interface do usuário do aplicativo deve ser configurada de acordo.
- Sem conexão com a internet, inicie o aplicativo. Certifique-se de que o aplicativo se comporte conforme projetado/desejado. Há uma chance de o aplicativo travar ao iniciá-lo ou apenas exibir uma tela em branco.
- Se o aplicativo usar 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 Home 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 for publicado, verifique se o aplicativo pode ser encontrado na “App Store”. Haverá uma versão do sistema operacional compatível com o aplicativo. Portanto, certifique-se de que o aplicativo possa ser encontrado na “App Store” dos dispositivos com versão de sistema operacional compatível. Além disso, o aplicativo não deve estar listado na “App Store” do dispositivo com versão de sistema operacional não compatível.
- Verifique se o aplicativo entra no modo de suspensão ao ser executado em segundo plano para evitar o esgotamento da bateria.
- Caso o desempenho da aplicação esteja lento ou sempre que o conteúdo estiver carregando, verifique se existe um ícone de status de progresso (“Carregando…”), preferencialmente 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 realizam ações padrão não são alteradas 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 além das que são normalmente usadas para
Estratégia de teste iOS
A figura abaixo apresenta alguns tipos comuns de estratégia de teste do iOS.
Teste automatizado
O teste automatizado é a maior vantagem dos testes do iOS. Ele permite que você detecte bugs e problemas de desempenho rapidamente. Os benefícios dos testes automatizados conforme mostrado abaixo:
- Os testes automatizados podem ser executados em vários dispositivos, economizando seu tempo
- Os testes automatizados podem ter como alvo SDKs. Você pode executar testes em diferentes versões do SDK
- Os testes automatizados aumentam sua produtividade de testes e economizam custos de desenvolvimento de software
- Existem muitas estruturas de teste de código aberto que suportam testes automatizados no iOS
Testes unitários com OCUnit
Quando o SDK original do iOS foi lançado, faltava Teste de Unidade capacidades. Então a Apple trouxe de volta o OCUnit solução de teste de unidade no iOS SDK versão 2.2.
OCUnit é uma estrutura de teste para C-Objectivo no Mac OS. As maiores vantagens de uma estrutura OCUnit são a forte integração em Xcode ambiente de desenvolvimento conforme mostrado abaixo.
Alguns dos benefícios do OCUnit são mostrados na figura abaixo.
Teste de IU com UIAutomation
Automação da IU é um JavaScript biblioteca fornecida pela Apple Inc, que pode ser usada para realizar um teste automatizado em dispositivos reais e no iOS Simulator. 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 estes benefícios:
- Reduza o esforço em Teste Manual
- Use menos sua memória para executar todos os seus testes
- Simplifique seu procedimento de teste de UI (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 de usuário no aplicativo iOS de destino.
UIAutomation Contras vs. Prós
Vantagens | Desvantagens | |
---|---|---|
1. | Bom suporte para gestos e rotação | Não é código aberto, menos suporte do desenvolvedor |
2. | Pode executar testes UIAutomation no dispositivo, não no único simulador. | Não é possível integrar-se extremamente bem com outras ferramentas |
3. | Desenvolvido por JavaScript é uma linguagem de programação popular. |
A figura acima representa algumas classes comuns na estrutura UIAutomation.
- A Elemento UIA class é a superclasse para todos os elementos da interface do usuário no contexto da automação
- A UIATarget classe representa os elementos de alto nível da interface do usuário do sistema em teste
- A UILogger classe fornece informações de teste e erro na funcionalidade de recuperação
- A UIAActivityViewclass permite acesso e controle de visualizações de atividades em seu aplicativo.
- A Folha de ação UIAA class permite acesso e controle de planilhas de ação em seu aplicativo.
- Utilizador Ação do Evento
- Classe UISlider
- Classe UIAButton
- Classe UIAKey
- Classe UIAKeyboard
Outras estruturas de testes automatizados
- Frank: Automatizado Teste de aceitação estrutura para iPhone e iPad
- COMO AS : é um iOS teste de integração estrutura. 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 ignorar possíveis bugs em seu aplicativo iOS.
Contras vs. Prós do Teste Exploratório
Vantagens | Desvantagens | |
---|---|---|
1. | Less é necessária preparação, detecte precocemente bugs graves. | Requer alta habilidade do testador |
2. | Não precisa Plano de teste acelerar a detecção de bugs. | A cobertura do teste é baixa. Isso não garante que todos os seus requisitos sejam testados. |
3. | A maioria dos bugs são descobertos precocemente por algum tipo de teste exploratório | Falta de documentação de teste |
Teste do Usuário
O teste do usuário é um tipo de teste manual no iOS. O objetivo deste teste é criar aplicativos melhores, não apenas livre de bugs aplicativos. A figura abaixo mostra quatro tipos de testes 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 abaixo
Testando usabilidade
Testando usabilidade é um teste de quão fácil é usar seu aplicativo iOS. Nos testes do iOS, o teste de usabilidade pode ser gravado lembrar ou compartilhar com outras pessoas.
Existem algumas ferramentas que oferecem suporte a testes de usabilidade no iOS.
TryMyUI aplicativos de teste de usuários móveis para Android e iOS.
Delícia.io, esta ferramenta pode capturar a interação real do usuário em seus aplicativos iOS.
O teste beta
O teste beta é o teste de integração com dados reais para obter feedback final dos usuários. Para distribuir seus aplicativos para testes 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 o testador por meio do serviço: você coleta IDs de dispositivos dos testadores e os adiciona Centro de Sócios
-Crie distribuição ad hoc: A distribuição Ad Hoc permite que o testador execute seu aplicativo em seu dispositivo sem necessidade Xcode. Esta etapa inclui 2 subetapas
- Crie certificados de distribuição
- Crie perfis de provisionamento ad hoc
-Solicite feedback do testador: O testador realiza testes e envia relatórios de bugs para você. Depois que seu aplicativo for lançado, você poderá obter os relatórios de iTunes conectar.
Teste A / B Exemplo: crie XNUMX textos de email > XNUMX pessoas na sua lista, XNUMX receberao XNUMX email e XNUMX receberão outro e veja qual email converteu mais
Teste A / B Exemplo: crie XNUMX textos de email > XNUMX pessoas na sua lista, XNUMX receberao XNUMX email e XNUMX receberão outro e veja qual email converteu mais é uma das maneiras mais poderosas de avalie a eficácia do seu aplicativo iOS. Usa experimentos randomizados com dois dispositivos, A e B.
O teste A/B inclui três etapas principais
- Configurar um teste: Preparou 2 versões do seu aplicativo iOS (A e B) e métrica de teste
- Teste: teste 2 versões de aplicativos iOS acima em dispositivos simultaneamente.
- Análise: Meça e selecione a melhor versão para lançar
As ferramentas a seguir oferecem suporte a testes A/B no iOS.
- Levanta-te: Teste A/B para iOS e Android. Ele pode ser integrado ao seu aplicativo iOS e agilizar o processo de teste.
Melhores práticas para testes A/B
- Definir o alvo do seu teste. Qualquer teste é inútil sem um alvo.
- Assistir os usuários finais usam seu aplicativo pela primeira vez
- Execute um teste apenas por atualização. Isso economiza seu tempo ao realizar testes
- Monitore seu teste com cuidado. Você pode aprender experiências com seu teste monitorando-o.
Teste iOS Melhor prática
Aqui estão algumas dicas que você deve saber ao organizar os testes do seu aplicativo iOS
- Teste o aplicativo em um dispositivo real para cair na real sobre o desempenho
- Melhorar seus métodos de teste, porque os métodos de teste tradicionais não são mais suficientes para cobrir todos os testes no iOS
- utilização registro do console para testar o aplicativo iOS. Este é um recurso do iOS que inclui informações de todos os aplicativos do dispositivo.
- ISO bugs de aplicativos usando tela curta embutida comando. Ajuda o desenvolvedor a entender como os bugs ocorrem.
- Relatório de falhas são ferramentas úteis ao testar seu aplicativo. Eles podem detectar falhas e registrar detalhes 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
Testando aplicativo 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, estruturas de teste, linguagens de programação.
Testar a aplicação no iOS Simulator é suficiente.
O iOS Simulator não é forte o suficiente para testar um aplicativo. Porque o iOS Simulator tem algumas limitações:
- Limitações de hardware (câmera, entrada de microfone, sensor)
- A IU do seu aplicativo pode parecer funcionar de forma mais rápida e suave do que em um dispositivo
- Limitações da API
- Algumas estruturas não suportadas (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 apresentar muitos defeitos.