Testes automatizados mobile - uma prova de conceito
1. TESTES AUTOMATIZADOS
MOBILE EM UMA EQUIPE
ÁGIL
Daniela Bugs (daniela.bugs@gruporbs.com.br)
Joyce Bastos (joyce.bastos@gruporbs.com.br)
2. CARACTERÍSTICAS
Os Testes para dispositivos Móveis deve considerar:
• Sistemas Operacionais
• iOS, Android e Windows Phone
• Versões
• Modelo dos aparelhos
• Smartphone, Tablets...
• Tamanhos de telas
• Operações com a rede
• 3G, 4G, Wifi, Sem Conexão
• Certificações
• Apple Store e Google Play
• Aparelho
4. TIPOS DE TESTE EM MOBILE
Teste Funcional
Teste Exploratório
Teste em Laboratório
Teste de Desempenho
Teste de Vazamento de Memória
(energia)
Teste de Interrupção
Teste de Usabilidade
Teste de Internacionalização
Teste de Instalação
Teste de Compatibilidade
Teste de Sincronismo
Teste de Segurança
Teste de Certificação
5. DESAFIOS EM TESTE MOBILE
+ Entrega de funcionalidades x quantidade de testes
+ Teste da nova funcionalidade + Regressão
+ Reteste
+ Testes repetidos (diferentes Dispositivos e Versões)
gargalo nos testes
Pouco tempo para Testes de Usabilidade e Exploratório
8. DESAFIOS PARA AUTOMATIZAR MOBILE
• Profissionais Qualificados
• Ferramentas
• Custo com Licença
• Alocação de Recursos Humanos e Hardware
• Atualização do Código
• Tempo
13. PORQUE???
• Fácil Instalação
• Material de apoio
• Linguagem:
• Robotium utiliza Java
• Calabash utiliza Ruby
• Plataforma
• Calabash atende as duas plataformas
• Utilizam BDD
• Apoiam Integração Continua
• Permite testes com vários dispositivos conectado
• São gratuitas
14. 4º PASSO: INSTALAÇÃO
• Calabash
• Preparar ambiente de desenvolvimento
• Eclipse Android, Studio Android ou Genymotion
• Instalar o Ruby
• Instalar o Calabash
• Editor de Texto (notepad ++)
• Robotium
• Preparar ambiente de desenvolvimento
• Eclipse Android ou Studio Android
• Instalar o Robotium Jar
ou
• Robotium Rec
16. AUTOMATIZAÇÃO DOS TESTES
• Não é a “bala de prata”
• Utilize o planejamento da sprint para planejar tarefas de Testes Automatizados
• Testes automatizados que geram valor para o negócio
• Automatizar leva tempo e o código deve ser sempre mantido
• Colaboração do time
• Não elimina testes em diferentes dispositivos, mas possibilita foco de outros tipos de
testes (usabilidade, exploratório, desempenho...)
• Posso usar os emuladores para cobrir meus testes em dispositivos que não possuo
• E, nunca esqueça: Um novo projeto, pode precisar de uma nova ferramenta!!!