3. 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
4. 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.
5. 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
6. 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
7. 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;
8. O que testar?
• Compatibilidade
• Instalação
• Funcionalidades
• Performance
• Usabilidade
• Serviços
• Segurança
10. 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
11. 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
12. 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;
13. Robotium
• Integra com Maven e Ant para integração
contínua;
• Similiar ao Selenium;
• Utiliza jUnit 3;
• Root em aplicações instaladas
14. 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);
15. Na classe de testes...
• Estender da classe
ActivityInstrumentationTestCase2;
• Solo: objeto do Robotium de interação
com a Activity;
• SetUp(): instanciar Solo;
• TearDown(): Finalizar as activities
iniciadas;
17. 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;