2. Internal Use Only
Apresentação
Eliane Collins
Bacharel em Engenharia de Computação (UEA - EST)
Mestre em Engenharia Elétrica (UFAM - PGEE)
CTAL – TM Certified Test Advanced Level – Test Manager (BSTQB/ISTQB)
CSD – Certified Scrum Developer (Scrum Alliance)
ITIL e Cobit.
Mais de 9 anos na área de Teste de Software (Gerenciamento, Implementação,
Planejamento, Automação e Execução de Processo de Teste)
Publicações Nacionais: SBQS 2010, 2011, 2012, SAST 2011, Revista Engenharia de
Software Magazine – ESM (DEVMedia).
Publicações Internacionais: ICTSS 2010, AST 2012,2013, STA 2012, ICGSE 2012, Scrum
Gathering Paris 2013.
Organização Encontro Amazônico de Teste de Software - EATS
E-mail : ext-eliane.collins@miscrosoft.com /elianecollins@gmail.com
6/3/2014Eliane Collins | elianecollins@gmail.com 2
3. Internal Use Only
Tópicos
Automação de Testes para Aplicações Móveis
Principais Ferramentas
Desafios para Automatizar Testes
Boas Práticas para Automatizar Testes
Robotium
Prática com Robotium
MonkeyRunner
Prática com MonkeyRunner
6/3/2014 3Eliane Collins | elianecollins@gmail.com
4. Internal Use Only
Automação de Testes para Aplicações Móveis
O que é Automação de Teste?
Automatizar testes significa fazer uso de Softwares que controlem a execução
e a elaboração de scripts do dos casos de teste (Kolawa A. et all, 2007).
É uma atividade de desenvolvimento que inclui as responsabilidades de
programação semelhantes aos de desenvolvimento de software em teste de
software (Dustin E. et al 1999).
6/3/2014 4Eliane Collins | elianecollins@gmail.com
5. Internal Use Only
Automação de Testes para Aplicações Móveis
Quais as Principais Abordagens para Automatizar Testes ?
Teste de interface gráfica do usuário (record and playback)
As ferramentas fornecem funcionalidades para gravar e reproduzir as
ações do usuário no sistema.
Exemplo: Selenium, TestComplete, Marathon.
Teste baseado em código
Ferramentas e frameworks que testam métodos e classes através de
passagem de parâmetros.
Exemplo: JUnit, NUnit, TestNG.
6/3/2014 5Eliane Collins | elianecollins@gmail.com
6. Internal Use Only
Automação de Testes para Aplicações Móveis
Principais Ferramentas
SeeTest: Ferramenta proprietária para Windows Phone, Android e Blackberry
http://experitest.com/
Test Studio for IOS: ferramenta proprietária para automação de testes funcionais de
aplicativos IOS.
Appium: ferramenta aberta para automatizar testes funcionais para Android e iPhone.
http://appium.io/index.html
Perfecto Mobile Android Testing Cloud: ferramenta proprietária para testes no aparelho
e em cloud.
Device Anywhere: ferramenta proprietária para realizar testes através de cloud.
Monkey Tool: ferramenta de testes funcionais opensource
Robotium: ferramenta de testes funcionais opensource
Monkeyrunner: ferramenta aberta para teste funcional no Android.
Sikuli: ferramenta free para testes funcionais através de captura de imagens.
6/3/2014 6Eliane Collins | elianecollins@gmail.com
7. Internal Use Only
Automação de Testes para Aplicações Móveis
Como Escolher as Ferramentas ?
6/3/2014 7
A ferramenta é apropriada para a plataforma de software? (sim ou não)
A ferramenta tem documentação e suporte de uma empresa popular ou
comunidade da área? (sim ou não)
Qual o nível de dificuldade para instalar e configurar a ferramenta? (fácil,
médio ou difícil)
Qual o nível de dificuldade para usar a ferramenta? (fácil, médio ou
difícil)
O desempenho da ferramenta é aceitável? (se é necessário muito
processamento em execução ou demora para ser executada)
A ferramenta gera logs e relatórios de resultados? (sim ou não)
A ferramenta pode ser integrada com outras ferramentas? (sim ou não).
Eliane Collins | elianecollins@gmail.com
8. Internal Use Only
Automação de Testes para Aplicações Móveis
Desafios para Automatizar Testes
6/3/2014 8
Poucas ferramentas para suprir as necessidades de teste para
dispositivos móveis.
Esforço inicial de tempo para escolha de ferramentas e implantação
do ambiente de automação de testes.
O código de teste exige atualização e manutenção .
Faltam pessoas especializadas em automação de testes.
Custo com licença de ferramentas proprietárias.
Alocação de recursos de hardware para implantação do ambiente das
ferramentas de teste : servidor para instalação/configuração de
ferramentas.
Eliane Collins | elianecollins@gmail.com
9. Internal Use Only
Automação de Testes para Aplicações Móveis
Boas Práticas para Automatizar Testes
Planejar as atividades de automação de teste desde o início do
projeto.
Escolher ferramentas adequadas a plataforma e ao ambiente de
desenvolvimento.
Treinar desenvolvedores e testadores no uso da ferramenta
O script de teste deve ser atual, completo, independente e
reproduzível.
Estabelecer padrão de código do script de teste.
Realizar code review nos scripts de teste.
Promover ambiente de colaboração entre desenvolvedores e
testadores para as atividades de automação de teste.
6/3/2014 9Eliane Collins | elianecollins@gmail.com
10. Internal Use Only
É uma ferramenta de testes funcionais que utiliza o
framework Junit.
Arquitetura do Robotium
6/3/2014 10
Automação de Testes para Aplicações Móveis
Robotium
Eliane Collins | elianecollins@gmail.com
12. Internal Use Only
Método de Teste
6/3/2014 12
Automação de Testes para Aplicações Móveis
Prática Robotium
Eliane Collins | elianecollins@gmail.com
13. Internal Use Only
Requisitos: ambiente android e eclipse instalados e configurados.
Download: http://developer.android.com/sdk/index.html?hl=sk
No eclipse importe o projeto AndroidCalculator
Ajuste a versão do java da sua máquina.
Importe o projeto TestAndroidCalculatorBlackBox
Faça os ajustes para a versão do java da sua máquina
Na classe de teste localizada no pacote com.testcalculator clique
no botão direito do mouse.
No menu selecione Run As -> Android Junit Test
Observe a execução
Acrescente outro método de teste para cada operação e execute
a classe de teste novamente.
6/3/2014 13
Automação de Testes para Aplicações Móveis
Prática Robotium
Eliane Collins | elianecollins@gmail.com
14. Internal Use Only
A ferramenta monkeyrunner fornece uma API para escrever
programas que controlam um dispositivo Android ou emulador.
Com monkeyrunner, é possível escrever um programa em
Python que instala um aplicativo Android e executa ações.
A API possui as seuintes classes de comandos:
Monkey Device:
http://developer.android.com/tools/help/MonkeyDevice.html
Monkey Image
http://developer.android.com/tools/help/MonkeyImage.html
Monkey Runner
http://developer.android.com/tools/help/MonkeyRunner.html
6/3/2014 14
Automação de Testes para Aplicações Móveis
MonkeyRunner
Eliane Collins | elianecollins@gmail.com
15. Internal Use Only
Para utilizar os comandos monkeyrunner é necessário incluir
na variável de ambiente PATH o diretório tools e android.
...sdkbuild-toolsandroid-4.4;
...sdktools
Crie uma pasta chamada monkey na unidade c do computador
e nela coloque os scripts monkeyrunner_recorder.py e
monkeyrunner_playback.py disponíveis no link:
https://github.com/miracle2k/android-
platform_sdk/tree/master/monkeyrunner/scripts
crie as subpastas images, apks-script, log e apks_to_test
6/3/2014 15
Automação de Testes para Aplicações Móveis
Prática - MonkeyRunner
Eliane Collins | elianecollins@gmail.com
16. Internal Use Only
Abra o emulador do android
Abra um prompt de comando e digite :
monkeyrunner c:monkeymonkeyrunner_recorder.py
A interface do monkeyrunner recorder irá aparecer.
Com o mouse realize ações na tela do emulador, como abrir e
utilizar uma aplicação.
Na interface recorder irá aparecer as ações realizadas
gravadas em script python.
6/3/2014 16
Automação de Testes para Aplicações Móveis
Prática - MonkeyRunner
Eliane Collins | elianecollins@gmail.com
17. Internal Use Only
Na interface do monkeyrunner recorder salve os scripts no
menu Export
Salve as ações como um arquivo de extensão .mr (exemplo
test.mr)
Feche a interface recorder e abra novamente o prompt de
comando
Degite: monkeyrunner c:monkeymonkeyrunner_playback.py
c:monkeytest.mr
Pressione enter e observe que o emulador irá reproduzir as
suas ações gravadas.
6/3/2014 17
Automação de Testes para Aplicações Móveis
Prática - MonkeyRunner
Eliane Collins | elianecollins@gmail.com
18. Internal Use Only
Perguntas ? Obrigada ! ;)
Eliane Collins
E-mail : elianecollins@gmail.com
6/3/2014 18Eliane Collins | elianecollins@gmail.com
19. Internal Use Only
Referências
Kolawa, Adam; Huizinga, Dorota (2007). Automated Defect Prevention: Best
Practices in Software Management. Wiley-IEEE Computer Society Press.
p. 74. ISBN 0-470-04212-5.
Elfriede Dustin, et al. (1999). Automated Software Testing. Addison
Wesley. ISBN 0-201-43287-0.
6/3/2014 19Eliane Collins | elianecollins@gmail.com