MOTODEV App Summit 2011


                                                                                                       Julia Perdigueiro
                                                                                                 Engenheira de Software
                                                                                              MOTODEV Studio for Android

                                                                                                                        Brasil - #appsum11br


Como integrar qualidade aos
seus aplicativos através de
testes
MOTOROLA and the Stylized M Logo are trademarks or registered trademarks of Motorola Trademark Holdings, LLC.
All other trademarks are the property of their respective owners. © 2011 Motorola Mobility, Inc. All rights reserved.
MOTODEV App Summit                                                     Página 2




Agenda
• Recursos oferecidos pelo Android
  – JUnit, ferramentas do SDK


• Recursos oferecidos pelo MOTODEV
  – Ferramentas adicionadas/integradas ao MOTODEV Studio for Android
       •   Analisador de Memória (Memory Analyzer)
       •   App Validator
       •   Gerenciador de Dispositivos (Device Manager) e emulador
       •   Integração com Monkey
       •   Localização de aplicativos e do MOTODEV Studio
       •   Integração de desenvolvimento de aplicações nativas
       •   Integração de banco de dados
  – DeviceAnywhere VDL
  – Parceiros de testes
  – Novo programa de otimização


   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                                                      Página 3




   Testes de aplicativos Android com JUnit

• O Android fornece um modelo de testes baseado em JUnit
   – http://bit.ly/ekNoIr
• Com as APIs JUnit, os desenvolvedores podem acessar objetos, enviar eventos
  para objetos, consultar as propriedades dos objetos e levantar exceções
• Criar objetos mock para que os testes ocorram em um ambiente controlado
• Plugins ADT Eclipse criam projetos de testes equivalentes
• Os resultados aparecem na view JUnit ou via STDOUT
• A maioria dos projetos de exemplo do SDK contam com um projeto de teste
  relacionado
• Diversos projetos de tutoriais no site Android developer
   – Hello http://bit.ly/ePrZQ5
   – Activity http://bit.ly/hMvMpi

    © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                                                     Página 4




 Assegurar a qualidade dos aplicativos com ferramentas
 SDK


• Emulador – A ferramenta de emulação de dispositivo Android para
  projetar, corrigir e testar aplicativos Android.
• LogCat – uma ferramenta para coletar e exibir logs de debug do sistema
• DDMS – Uma ferramenta completa de debug de aplicativos Android
• TraceView – Um visualizador gráfico dos logs de execução do aplicativo
• Hierarchy Viewer – Ferramenta para debug e otimizar a interface do
  usuário
• Monkey – Uma ferramenta para gerar fluxos pseudo aleatórios de
  eventos de usuários para testes de estresse do aplicativo


   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                                                    Página 5



 Assegurar a qualidade dos aplicativos com ferramentas
 SDK

• API StrictMode
  – Lançada com API nível 10 em dezembro de 2010 (Gingerbread)
  – Captura acessos ao disco e à rede em threads de UI
  – Post no blog Android.com http://bit.ly/gH0l3x
  – Referência da API http://bit.ly/hDs4rz
• MonkeyRunner
  – Um framework de execução de testes em formato de scripts, semelhante ao
    JUnit que usa a sintaxe Jython
  – Não confundir com o "Monkey", que usa eventos pseudo aleatórios
  – Documentação da ferramenta http://bit.ly/eMFaT9


   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                                           Página 6




MOTODEV Studio for Android

• Um pacote completo de ferramentas de desenvolvimento, com
  diversos modos de instalação (instalador completo ou plugins)
• Desenvolvido com base na versão mais recente da IDE Eclipse
• 100% compatível com projetos Eclipse e Google ADT
• Projetado para funcionar com todos os produtos Android
• Download gratuito para membros registrados do MOTODEV
• Suporte nos fóruns de discussão MOTODEV
• Atualmente disponível para Windows, Mac OS e Linux



   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                                                                Página 7




Recursos para testes do MOTODEV Studio

• Analisador de Memória (Memory Analyzer)
   – Adaptado do projeto Eclipse MAT, projetado para lidar com gigabytes de dados de log
   – Melhorias no fluxo de trabalho que permitem aos desenvolvedores Android percorrer
     os relatórios e rapidamente encontrar as áreas com problemas em seus aplicativos
• MOTODEV App Validator
   – Exclusivamente para usuários MOTODEV, essa ferramenta examina os aplicativos
     Android usando diversos critérios para detectar e reportar problemas
   – Integrada ao MOTODEV Studio, pode ser integrada a sistemas de build/testes em
     linha de comando
   – Também disponível como aplicativo web
• Gerenciador de Dispositivos e Emulator Integrado
   – Fácil acesso aos testes do Monkey e ao Analisador de Memória (MAT)
   – Teste de imagens de emulador específicas de um dispositivo (complementos de SDK
     – “add-ons”)



   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                  Página 8




   Analisador de Memória (MAT)




   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                  Página 9




   Analisador de Memória (MAT)




   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                  Página 10




   MOTODEV App Validator




   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                      Página 11




   Versão para a web do App Validator


http://moto.ly/appvalidator




   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                                     Página 12




   Complementos de SDK da Motorola (“Add-ons”)


• http://developer.motorola.com/docstools/tools/
• Emulador de aparelhos vs. complementos apenas skin




   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                         Página 13




   Complementos de SDK no MOTODEV Studio




   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                                                              Página 14




   Monkey Business

                                    • O Monkey testa aplicativos enviando uma
                                      sequência de eventos pseudo aleatórios
                                    • O resultado vai para o console adb
                                    • Recrie a sequencia de eventos fornecendo o
                                      mesmo valor "seed" para iniciar
                                    • Capacidade de ativar outras ferramentas de
                                      correção/diagnósticos, como HPROF
                                    • Executa pela linha de comando ou no modo de
                                      gerenciamento de dispositivos dentro do
                                      MOTODEV Studio

                                    adb shell monkey -p com.app.foo -v 50 -s 867




   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                                               Página 15




   Localização de aplicativos Android


• Com o editor de arquivos de localização do MOTODEV Studio, os
  desenvolvedores podem visualizar todos os idiomas simultaneamente
• Contribuição da Motorola ao projeto Eclipse Sequoyah
• Editor visual e XML são exibições separadas do mesmo modelo de
  dados, permitindo aos desenvolvedores trabalhar como se sentirem
  mais confortáveis
• Trabalha com strings e arrays de strings
• Tradução automática com o mecanismo Google Translate
• Demonstração (vídeo)




   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                                     Página 16




   Ferramentas para testes de aplicativos traduzidos


• Tela de preferência de idioma vs. widget na Home Screen
• Opção de idioma no gerenciador de dispositivos do
  MOTODEV Studio
• Aplicativo Custom Locale nas builds de emulador da
  plataforma Google
• MoreLocale2 (aplicação no
Android Market)




   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                              Página 17




   MOTODEV Studio (A Tu Manera, Do Seu Jeito,     )


• http://bit.ly/gpJzrV




   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                                         Página 18




   Desenvolvimento de aplicativos de qualidade com C/C++


• O suporte oficial para aplicativos "nativos" no Android está
  evoluindo
• O desenvolvimento de aplicativos vinculados a bibliotecas
  nativas no Eclipse é possível pelo projeto Sequoyah
• Referências
  – Google group Android-ndk http://bit.ly/e6m0Jk
  – Guia de debug Eclipse Sequoyah http://bit.ly/gsvIt9




   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                    Página 19




   Suporte nativo no MOTODEV Studio




   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                             Página 20




   Testando bancos de dados com o MOTODEV Studio




   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                                 Página 21




   Enviando um banco de dados com seu aplicativo




   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                                                   Página 22




   DeviceAnywhere Virtual Developer Lab


• Teste seu aplicativo em aparelhos celulares reais, em redes de
  operadoras, em tempo real e no mundo todo
• Interaja com a tela sensível ao toque, teclado e controles de hardware
• Observe o que está acontecendo no dispositivo em tempo real
• Facilidades disponíveis também para testes automatizados
• Membros MOTODEV na América Latina são elegíveis para 10 horas
  gratuitas ao contratarem o serviço
• Uma variedade de dispositivos está disponível em operadoras regionais




   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                                                  Página 23




   Parceiros de testes MOTODEV


• Mob4Hire
  – http://www.mob4hire.com/
  – Testes de aplicativos em diferentes estágios do ciclo de vida
  – O Mob4Hire usa crowdsourcing para testar seu projeto ao redor do
    globo em hardware real e nas operadoras que você especificar
• Intertek / NSTL
  – Suítes de testes pré-projetadas para aplicativos móveis
  – Os resultados são normalmente enviados dentro de 24 horas
    após o envio
  – Uma grande variedade de dispositivos móveis em operadoras
    de rede regionais
  – Planos de tarifas especiais para membros MOTODEV
   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                    Página 24



   APRESENTANDO UM NOVO PROGRAMA DE
   OTIMIZAÇÃO




   © 2011 Motorola Mobility, Inc.
MOTODEV App Summit                                                    Página 25




   PROGRAMA “MOTODEV APPLICATION TESTING ”


• Identifica aplicativos compatíveis e otimizados para dispositivos
  Motorola, com foco inicial em aplicativos para tablets
• Os desenvolvedores cujos aplicativos sejam considerados "Prontos
  para o MOTOROLA XOOM" podem participar de um grupo global
  crescente de canais de descoberta e distribuição de aplicativos.




   © 2011 Motorola Mobility, Inc.

Como integrar qualidade aos seus aplicativos através de testes

  • 1.
    MOTODEV App Summit2011 Julia Perdigueiro Engenheira de Software MOTODEV Studio for Android Brasil - #appsum11br Como integrar qualidade aos seus aplicativos através de testes MOTOROLA and the Stylized M Logo are trademarks or registered trademarks of Motorola Trademark Holdings, LLC. All other trademarks are the property of their respective owners. © 2011 Motorola Mobility, Inc. All rights reserved.
  • 2.
    MOTODEV App Summit Página 2 Agenda • Recursos oferecidos pelo Android – JUnit, ferramentas do SDK • Recursos oferecidos pelo MOTODEV – Ferramentas adicionadas/integradas ao MOTODEV Studio for Android • Analisador de Memória (Memory Analyzer) • App Validator • Gerenciador de Dispositivos (Device Manager) e emulador • Integração com Monkey • Localização de aplicativos e do MOTODEV Studio • Integração de desenvolvimento de aplicações nativas • Integração de banco de dados – DeviceAnywhere VDL – Parceiros de testes – Novo programa de otimização © 2011 Motorola Mobility, Inc.
  • 3.
    MOTODEV App Summit Página 3 Testes de aplicativos Android com JUnit • O Android fornece um modelo de testes baseado em JUnit – http://bit.ly/ekNoIr • Com as APIs JUnit, os desenvolvedores podem acessar objetos, enviar eventos para objetos, consultar as propriedades dos objetos e levantar exceções • Criar objetos mock para que os testes ocorram em um ambiente controlado • Plugins ADT Eclipse criam projetos de testes equivalentes • Os resultados aparecem na view JUnit ou via STDOUT • A maioria dos projetos de exemplo do SDK contam com um projeto de teste relacionado • Diversos projetos de tutoriais no site Android developer – Hello http://bit.ly/ePrZQ5 – Activity http://bit.ly/hMvMpi © 2011 Motorola Mobility, Inc.
  • 4.
    MOTODEV App Summit Página 4 Assegurar a qualidade dos aplicativos com ferramentas SDK • Emulador – A ferramenta de emulação de dispositivo Android para projetar, corrigir e testar aplicativos Android. • LogCat – uma ferramenta para coletar e exibir logs de debug do sistema • DDMS – Uma ferramenta completa de debug de aplicativos Android • TraceView – Um visualizador gráfico dos logs de execução do aplicativo • Hierarchy Viewer – Ferramenta para debug e otimizar a interface do usuário • Monkey – Uma ferramenta para gerar fluxos pseudo aleatórios de eventos de usuários para testes de estresse do aplicativo © 2011 Motorola Mobility, Inc.
  • 5.
    MOTODEV App Summit Página 5 Assegurar a qualidade dos aplicativos com ferramentas SDK • API StrictMode – Lançada com API nível 10 em dezembro de 2010 (Gingerbread) – Captura acessos ao disco e à rede em threads de UI – Post no blog Android.com http://bit.ly/gH0l3x – Referência da API http://bit.ly/hDs4rz • MonkeyRunner – Um framework de execução de testes em formato de scripts, semelhante ao JUnit que usa a sintaxe Jython – Não confundir com o "Monkey", que usa eventos pseudo aleatórios – Documentação da ferramenta http://bit.ly/eMFaT9 © 2011 Motorola Mobility, Inc.
  • 6.
    MOTODEV App Summit Página 6 MOTODEV Studio for Android • Um pacote completo de ferramentas de desenvolvimento, com diversos modos de instalação (instalador completo ou plugins) • Desenvolvido com base na versão mais recente da IDE Eclipse • 100% compatível com projetos Eclipse e Google ADT • Projetado para funcionar com todos os produtos Android • Download gratuito para membros registrados do MOTODEV • Suporte nos fóruns de discussão MOTODEV • Atualmente disponível para Windows, Mac OS e Linux © 2011 Motorola Mobility, Inc.
  • 7.
    MOTODEV App Summit Página 7 Recursos para testes do MOTODEV Studio • Analisador de Memória (Memory Analyzer) – Adaptado do projeto Eclipse MAT, projetado para lidar com gigabytes de dados de log – Melhorias no fluxo de trabalho que permitem aos desenvolvedores Android percorrer os relatórios e rapidamente encontrar as áreas com problemas em seus aplicativos • MOTODEV App Validator – Exclusivamente para usuários MOTODEV, essa ferramenta examina os aplicativos Android usando diversos critérios para detectar e reportar problemas – Integrada ao MOTODEV Studio, pode ser integrada a sistemas de build/testes em linha de comando – Também disponível como aplicativo web • Gerenciador de Dispositivos e Emulator Integrado – Fácil acesso aos testes do Monkey e ao Analisador de Memória (MAT) – Teste de imagens de emulador específicas de um dispositivo (complementos de SDK – “add-ons”) © 2011 Motorola Mobility, Inc.
  • 8.
    MOTODEV App Summit Página 8 Analisador de Memória (MAT) © 2011 Motorola Mobility, Inc.
  • 9.
    MOTODEV App Summit Página 9 Analisador de Memória (MAT) © 2011 Motorola Mobility, Inc.
  • 10.
    MOTODEV App Summit Página 10 MOTODEV App Validator © 2011 Motorola Mobility, Inc.
  • 11.
    MOTODEV App Summit Página 11 Versão para a web do App Validator http://moto.ly/appvalidator © 2011 Motorola Mobility, Inc.
  • 12.
    MOTODEV App Summit Página 12 Complementos de SDK da Motorola (“Add-ons”) • http://developer.motorola.com/docstools/tools/ • Emulador de aparelhos vs. complementos apenas skin © 2011 Motorola Mobility, Inc.
  • 13.
    MOTODEV App Summit Página 13 Complementos de SDK no MOTODEV Studio © 2011 Motorola Mobility, Inc.
  • 14.
    MOTODEV App Summit Página 14 Monkey Business • O Monkey testa aplicativos enviando uma sequência de eventos pseudo aleatórios • O resultado vai para o console adb • Recrie a sequencia de eventos fornecendo o mesmo valor "seed" para iniciar • Capacidade de ativar outras ferramentas de correção/diagnósticos, como HPROF • Executa pela linha de comando ou no modo de gerenciamento de dispositivos dentro do MOTODEV Studio adb shell monkey -p com.app.foo -v 50 -s 867 © 2011 Motorola Mobility, Inc.
  • 15.
    MOTODEV App Summit Página 15 Localização de aplicativos Android • Com o editor de arquivos de localização do MOTODEV Studio, os desenvolvedores podem visualizar todos os idiomas simultaneamente • Contribuição da Motorola ao projeto Eclipse Sequoyah • Editor visual e XML são exibições separadas do mesmo modelo de dados, permitindo aos desenvolvedores trabalhar como se sentirem mais confortáveis • Trabalha com strings e arrays de strings • Tradução automática com o mecanismo Google Translate • Demonstração (vídeo) © 2011 Motorola Mobility, Inc.
  • 16.
    MOTODEV App Summit Página 16 Ferramentas para testes de aplicativos traduzidos • Tela de preferência de idioma vs. widget na Home Screen • Opção de idioma no gerenciador de dispositivos do MOTODEV Studio • Aplicativo Custom Locale nas builds de emulador da plataforma Google • MoreLocale2 (aplicação no Android Market) © 2011 Motorola Mobility, Inc.
  • 17.
    MOTODEV App Summit Página 17 MOTODEV Studio (A Tu Manera, Do Seu Jeito, ) • http://bit.ly/gpJzrV © 2011 Motorola Mobility, Inc.
  • 18.
    MOTODEV App Summit Página 18 Desenvolvimento de aplicativos de qualidade com C/C++ • O suporte oficial para aplicativos "nativos" no Android está evoluindo • O desenvolvimento de aplicativos vinculados a bibliotecas nativas no Eclipse é possível pelo projeto Sequoyah • Referências – Google group Android-ndk http://bit.ly/e6m0Jk – Guia de debug Eclipse Sequoyah http://bit.ly/gsvIt9 © 2011 Motorola Mobility, Inc.
  • 19.
    MOTODEV App Summit Página 19 Suporte nativo no MOTODEV Studio © 2011 Motorola Mobility, Inc.
  • 20.
    MOTODEV App Summit Página 20 Testando bancos de dados com o MOTODEV Studio © 2011 Motorola Mobility, Inc.
  • 21.
    MOTODEV App Summit Página 21 Enviando um banco de dados com seu aplicativo © 2011 Motorola Mobility, Inc.
  • 22.
    MOTODEV App Summit Página 22 DeviceAnywhere Virtual Developer Lab • Teste seu aplicativo em aparelhos celulares reais, em redes de operadoras, em tempo real e no mundo todo • Interaja com a tela sensível ao toque, teclado e controles de hardware • Observe o que está acontecendo no dispositivo em tempo real • Facilidades disponíveis também para testes automatizados • Membros MOTODEV na América Latina são elegíveis para 10 horas gratuitas ao contratarem o serviço • Uma variedade de dispositivos está disponível em operadoras regionais © 2011 Motorola Mobility, Inc.
  • 23.
    MOTODEV App Summit Página 23 Parceiros de testes MOTODEV • Mob4Hire – http://www.mob4hire.com/ – Testes de aplicativos em diferentes estágios do ciclo de vida – O Mob4Hire usa crowdsourcing para testar seu projeto ao redor do globo em hardware real e nas operadoras que você especificar • Intertek / NSTL – Suítes de testes pré-projetadas para aplicativos móveis – Os resultados são normalmente enviados dentro de 24 horas após o envio – Uma grande variedade de dispositivos móveis em operadoras de rede regionais – Planos de tarifas especiais para membros MOTODEV © 2011 Motorola Mobility, Inc.
  • 24.
    MOTODEV App Summit Página 24 APRESENTANDO UM NOVO PROGRAMA DE OTIMIZAÇÃO © 2011 Motorola Mobility, Inc.
  • 25.
    MOTODEV App Summit Página 25 PROGRAMA “MOTODEV APPLICATION TESTING ” • Identifica aplicativos compatíveis e otimizados para dispositivos Motorola, com foco inicial em aplicativos para tablets • Os desenvolvedores cujos aplicativos sejam considerados "Prontos para o MOTOROLA XOOM" podem participar de um grupo global crescente de canais de descoberta e distribuição de aplicativos. © 2011 Motorola Mobility, Inc.