como testar sua aplicação android com robotium
DESCRIPTION
Apresentação feita no GDG DevFest Sul, que aconteceu em Porto Alegre, no dia 23/08/2014, no Centro de Eventos Plaza São Rafael.TRANSCRIPT
![Page 1: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/1.jpg)
Como testar sua aplicação Android com Robotium
GDG DevFest Sul – Porto Alegre, 2014
![Page 2: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/2.jpg)
Agenda
•Apresentação
•Conceitos de testes
•Dificuldades de testes
•O que testar numa aplicação Android
•Ferramentas
•Whitebox com Robotium
![Page 3: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/3.jpg)
Thayse Severiano
Analista de testes na HB.SIS em Blumenau;
GDG Organizer em Blumenau;
Atua a área de testes a 4 anos
+ThayseSeveriano
Thayse_ss
br.linkedin.com/in/thayseseveriano
github.com/thaysetss
![Page 4: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/4.jpg)
Conceitos
Teste de caixa branca (whitebox):
É uma técnica de teste que usa a perspectiva interna do sistema para modelar os casos de teste (leva em consideração o código fonte para desenhar os testes)
Teste de caixa preta (blackbox)
Verifica as entradas e saídas, sem levar em conta como o software foi desenvolvido.
![Page 5: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/5.jpg)
Conceitos
Teste funcional
Avaliam o comportamento da aplicação.
Teste de sistema
Execução do sistema sob ponto de vista do usuário final, validando as funcionalidades em busca de falhas em relação aos objetivos originais
![Page 6: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/6.jpg)
Conceitos
Teste de aceitação
São testes realizados por um grupo restrito de usuários finais do sistema, que simulam operações de rotina do sistema para validar os requisitos
![Page 7: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/7.jpg)
Desafios
• Diferentes versões do Android• 13 versões do SO (API 8 até a 20);
• Muitas configurações de hardware;
• Alterações no Android feitas pelos fabricantes;
![Page 8: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/8.jpg)
O que testar?• Compatibilidade
• Instalação
• Funcionalidades
• Performance
• Usabilidade
• Serviços
• Segurança
![Page 9: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/9.jpg)
Ferramentas
MonkeyRunner
Robolectric
Robotium
![Page 10: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/10.jpg)
MonkeyRunner
• Testes escritos em Python
• Permite instalar/desinstalar aplicações
• Executa aplicações
• Obtêm capturas de tela
• Compara imagens
• Usa classe InstrumentationTestRunner do Android
• Executa testes em emuladores e dispositivos reais
![Page 11: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/11.jpg)
Robolectric
• Objetos sombra
• Permite execução dos testes na JVM
• Sem necessidade de instalação da aplicação dos testes em dispositivos ou emuladores
• Reduz o tempo de execução dos testes
![Page 12: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/12.jpg)
Robotium
• Testes escritos em Java;
• Usa classe ActivityInstrumentationTestCase do Android;
• Testes funcionais, de sistema e aceitação;
• Testes BlackBox e WhiteBox;
• Suporta diálogos, mensagens, menus e menus de contexto;
![Page 13: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/13.jpg)
Robotium
• Integra com Maven e Ant para integração contínua;
• Similiar ao Selenium;
• Utiliza jUnit 3;
• Root em aplicações instaladas
![Page 14: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/14.jpg)
Instalando Robotium
1. Criar um projeto de testes (baseado no projeto da aplicação);
2. Copiar no projeto o .Jar do Robotium;
3. Adicionar o .Jar ao projeto (primeiro da lista e configurar local do Javadoc);
![Page 15: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/15.jpg)
Na classe de testes...
• Estender da classe ActivityInstrumentationTestCase2;
• Solo: objeto do Robotium de interação com a Activity;
• SetUp(): instanciar Solo;
• TearDown(): Finalizar as activitiesiniciadas;
![Page 16: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/16.jpg)
Let’s get started!!!
•WhiteBox Tests:Com acesso ao código fonte;Localiza os componentes pelo ID;
![Page 17: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/17.jpg)
Let’s get started!!!
•Blackbox Tests:Testes pela posição (não são as
coordenadas, mas sim o index) do componente na tela;
Necessidade: conhecimento dos componentes;
Alto custo de manutenção;
![Page 18: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/18.jpg)
Aplicações
•WhiteBox Tests:Com acesso ao código fonte;Localiza os componentes pelo ID;
![Page 19: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/19.jpg)
Aplicações Hibridas
•Suportadas desde a versão 4.0 do Robotium;
•É possível interagir com elementos (através de WebvViews)
![Page 20: Como testar sua aplicação Android com Robotium](https://reader034.vdocuments.site/reader034/viewer/2022050722/55944c171a28ab456f8b45ad/html5/thumbnails/20.jpg)
Dúvidas??
Obrigada!