Douglas Leandro KleinkaufAndroid [email protected]@dkleinkauf
Utilizando Ferramentas de Análise, Testes e Verificação
de Bugs no desenvolvimento de
Aplicativos para Android
Evolução Smatphones
Apresentação > Evolução dos Smartphones
Agenda
• Introdução• Ferramentas de Análise
– Google Analytics– Flurry
• Ferramentas de Testes– Junit– Robolectric– Monkey Talk– UI/Application Exerciser Monkey
• Testes Online• Relatórios de Erros
– Crittercism– BugSense
• Bônus
É só um aplicativosinho!!
Introdução > Aplicativosinho
• Armazenamento de Dados
• Análise de Requisitos
• Testes
• Arquitetura Cliente-Servidor
• UI – User Interface
• UX – User Experience ( Usabilidade )
• Segurança
• Orientação a Objetos
• WebService
• Estratégias de Produto
• Atualizar constantemente
É só um aplicativosinho!!
Introdução > Aplicativosinho
Estatísticas OS
Fonte: IDCIntrodução > Estatísticas
Estatísticas Android
Introdução > Estatísticas
Métricas
• Objetivos;
• ROI ( Return on Investment );
“O que não é medido não pode ser gerenciado.”
• Identificar novas estratégias;
Introdução > Métricas
Mobile-first / Mobile-only
Introdução > Mobile-firts / Mobile-Only
Benjamin Robbins
remotelymobileblog.com/
Introdução > Benjamin Robbins
Ferramentas de Análise
Ferramentas de Análise >
Ferramentas de Análise> Google Analytics
Ferramentas de Análise> Google Analytics
• Download do SDK;
• Adicione o libGoogleAnalyticsV2.jar ao seu classpath;
Configurando GA
Ferramentas de Análise > Flurry
Ferramentas de Análise > Flurry
Plataformas
Ferramentas de Análise > Flurry
Configurando o Flurry
• download do SDK;
• Adicione o FlurryAgent.jar ao seu classpath;
• Configurar você AndroidManifest.xml para ter acesso à Internet e, opcionalmente, localização;
• Inserir linhas de código;
Ferramentas de Análise > Flurry
Utilizando o Flurry (events)
Ferramentas de Análise > Flurry
Desenvolvimento de Testes
Desenvolvimento de Testes
“Se um software não tem erros, então o teste está
ruim”.
Metodologias de Testes > Importância dos Testes
Coronel Stanislav Petrov
Importância dos Testes
Ferramentas de Testes >
Ferramentas de Testes
Junit
Ferramentas de Testes > Junit
Junit
Ferramentas de Testes > Junit
• Activities;
• Services;
• Content Providers;
• Broadcast Receivers;
AndroidInstrumentationTestCase2
ServicesTestCase
ProviderTestCase2
AndroidTestCase
Robolectric
Ferramentas de Testes > Robolectric
Robolectric
Ferramentas de Testes > Robolectric
• Outros testes podem ser muito lentos;• Ocorre dentro da JVM;
• 1,047 testes em 28 segundos;
Monkey Talk
Ferramentas de Testes > Monkey Talk
Monkey Talk
Ferramentas de Testes > Monkey Talk
• Download IDE e do plugin (eclipse*);
Monkey Talk
Ferramentas de Testes > Monkey Talk
• Adiciona monkeytalk-agent.jar;
Monkey Talk
Ferramentas de Testes > Monkey Talk
UI/Application Exerciser Monkey
Adb shell monkey -p br.com.seu_package --throttle 400 -s 43686-v 1000
Ferramentas de Testes > UI Application Exerciser Monkey
UI/Application Exerciser Monkey
Ferramentas de Testes > UI Application Exerciser Monkey
Testes Online
Testes Online
Testes Online
Testes Online > Características
Testes em devices reais;
Agilidade e eficiência na identificação de erros;
Resposta rápida ao lançamento de novos ambientes e devices;
Verificar e analisar imagens de CPU, memória e uso, exceções e logcats;
Vídeo
Testes Online
http://www.perfectomobile.com/
http://www.devicelab.com.br/
http://jamosolutions.com/
http://www.bsquare.com/
http://testdroid.com/
Testes Online > Sites
Relatórios de Erros
Relatório de Erros (Crash Report)
Crittercism
Relatórios de Erros > Crittercism
Crittercism
Relatórios de Erros > Crittercism
Bugsense
Relatórios de Erros > Bugsense
Configurando Bugsense
Relatórios de Erros > Bugsense
Bônus
Bônus
Administrando Banco de Dados
Bônus > Administrando Banco de Dados
Estrutura de Classes
Bônus > Estrutura de Classes
PushLink
Bônus > PushLink
PushLink
Bônus > PushLink
Nearbytes
Bônus > Nearbytes
Obrigado !!
“Aonde quer que você vá, você estará lá!!”Autor desconhecido