SlideShare uma empresa Scribd logo
1 de 19
Teste para Dispositivos
Móveis
Eliane Collins
6/3/2014 1Eliane Collins | elianecollins@gmail.com
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
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
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
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
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
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
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
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
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
Internal Use Only
 clickX métodos: clickOnButton, clickOnImage, clickOnText,…
 clickLongX métodos : clickLongInList, clickLongOnScreen,
clickLongOnText,…
 enterText
 drag
 getX métodos : getButton, getCurrentActivity, getImage, getEditText
 goBack
 isX métodos : isCheckBoxChecked, isRadioButtonChecked,
isTextChecked
 pressX métodos : pressMenuItem, pressMenuItem, pressSpinnerItem
 scrollX métodos : scrollToTop, scrollToBottom, …
 searchX métodos : searchButton, searchEditText, searchText
 waitForX métodos : waitForActivity, waitForText, …
6/3/2014 11
Automação de Testes para Aplicações Móveis
Robotium - Métodos
Eliane Collins | elianecollins@gmail.com
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
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
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
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
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
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
Internal Use Only
Perguntas ? Obrigada ! ;)
Eliane Collins
 E-mail : elianecollins@gmail.com
6/3/2014 18Eliane Collins | elianecollins@gmail.com
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

Mais conteúdo relacionado

Mais procurados

Utilizando ferramentas de análise, testes e verificação de bugs no desenvolvi...
Utilizando ferramentas de análise, testes e verificação de bugs no desenvolvi...Utilizando ferramentas de análise, testes e verificação de bugs no desenvolvi...
Utilizando ferramentas de análise, testes e verificação de bugs no desenvolvi...Douglas Leandro Kleinkauf
 
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Adriano Bertucci
 
Android Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na CloudAndroid Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na CloudiMasters
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMAdriano Bertucci
 
Automacão de Testes Funcionais com Selenium
Automacão de Testes Funcionais com SeleniumAutomacão de Testes Funcionais com Selenium
Automacão de Testes Funcionais com SeleniumFabrício Lemos
 
Teste de aplicações web com selenium
Teste de aplicações web com seleniumTeste de aplicações web com selenium
Teste de aplicações web com seleniumMayron Cachina
 
Testando aplicações Flex com Selenium
Testando aplicações Flex com SeleniumTestando aplicações Flex com Selenium
Testando aplicações Flex com SeleniumVictor Serta
 
Kyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareKyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareFábio Nogueira de Lucena
 
A importancia de testes em todos os aspectos
A importancia de testes em todos os aspectosA importancia de testes em todos os aspectos
A importancia de testes em todos os aspectosElias Nogueira
 
Testes com TestLink e Selenium
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e SeleniumAndré Thiago
 
Tudo o que você precisa saber para começar a automação de testes em dispositi...
Tudo o que você precisa saber para começar a automação de testes em dispositi...Tudo o que você precisa saber para começar a automação de testes em dispositi...
Tudo o que você precisa saber para começar a automação de testes em dispositi...Elias Nogueira
 

Mais procurados (12)

Utilizando ferramentas de análise, testes e verificação de bugs no desenvolvi...
Utilizando ferramentas de análise, testes e verificação de bugs no desenvolvi...Utilizando ferramentas de análise, testes e verificação de bugs no desenvolvi...
Utilizando ferramentas de análise, testes e verificação de bugs no desenvolvi...
 
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
 
Android Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na CloudAndroid Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na Cloud
 
Selenium
SeleniumSelenium
Selenium
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM
 
Automacão de Testes Funcionais com Selenium
Automacão de Testes Funcionais com SeleniumAutomacão de Testes Funcionais com Selenium
Automacão de Testes Funcionais com Selenium
 
Teste de aplicações web com selenium
Teste de aplicações web com seleniumTeste de aplicações web com selenium
Teste de aplicações web com selenium
 
Testando aplicações Flex com Selenium
Testando aplicações Flex com SeleniumTestando aplicações Flex com Selenium
Testando aplicações Flex com Selenium
 
Kyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareKyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de software
 
A importancia de testes em todos os aspectos
A importancia de testes em todos os aspectosA importancia de testes em todos os aspectos
A importancia de testes em todos os aspectos
 
Testes com TestLink e Selenium
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e Selenium
 
Tudo o que você precisa saber para começar a automação de testes em dispositi...
Tudo o que você precisa saber para começar a automação de testes em dispositi...Tudo o que você precisa saber para começar a automação de testes em dispositi...
Tudo o que você precisa saber para começar a automação de testes em dispositi...
 

Semelhante a Teste para dispositivos móveis apresentação pra ufam -eliane

[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...minastestingconference
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizadosThiago Ghisi
 
Criando um ambiente real de distribuição de aplicativos usando TestFairy: Mai...
Criando um ambiente real de distribuição de aplicativos usando TestFairy: Mai...Criando um ambiente real de distribuição de aplicativos usando TestFairy: Mai...
Criando um ambiente real de distribuição de aplicativos usando TestFairy: Mai...minastestingconference
 
Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de softwareJoyce Bastos
 
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdfINTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdfRonaldAlves15
 
Criando um ambiente real de distribuição de aplicativos usando TestFairy
Criando um ambiente real de distribuição de aplicativos usando TestFairyCriando um ambiente real de distribuição de aplicativos usando TestFairy
Criando um ambiente real de distribuição de aplicativos usando TestFairyRafael Pacheco
 
Ferramentas Case de Teste
Ferramentas Case de TesteFerramentas Case de Teste
Ferramentas Case de TesteBeatriz Marques
 
Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Webcasts developerWorks Brasil
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareCloves da Rocha
 
Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfMichaelArrais1
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Wennder Santos
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliverySamanta Cicilia
 
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaAutomação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaGabriela Patuci
 

Semelhante a Teste para dispositivos móveis apresentação pra ufam -eliane (20)

Agile mobile testing
Agile mobile testingAgile mobile testing
Agile mobile testing
 
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
 
Criando um ambiente real de distribuição de aplicativos usando TestFairy: Mai...
Criando um ambiente real de distribuição de aplicativos usando TestFairy: Mai...Criando um ambiente real de distribuição de aplicativos usando TestFairy: Mai...
Criando um ambiente real de distribuição de aplicativos usando TestFairy: Mai...
 
Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de software
 
Robotium_Sikuli
Robotium_SikuliRobotium_Sikuli
Robotium_Sikuli
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de software
Teste de software Teste de software
Teste de software
 
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdfINTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
 
Criando um ambiente real de distribuição de aplicativos usando TestFairy
Criando um ambiente real de distribuição de aplicativos usando TestFairyCriando um ambiente real de distribuição de aplicativos usando TestFairy
Criando um ambiente real de distribuição de aplicativos usando TestFairy
 
Ferramentas Case de Teste
Ferramentas Case de TesteFerramentas Case de Teste
Ferramentas Case de Teste
 
Android Aula 4
Android Aula 4Android Aula 4
Android Aula 4
 
Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de Software
 
Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdf
 
Testes em aplicativos móveis
Testes em aplicativos móveisTestes em aplicativos móveis
Testes em aplicativos móveis
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous Delivery
 
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaAutomação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
 
AppTesting
AppTestingAppTesting
AppTesting
 

Mais de Eliane Collins

Scrum gathering Paris 2013 - test automation strategy for Scrum Projects
Scrum gathering Paris 2013 -  test automation strategy for Scrum ProjectsScrum gathering Paris 2013 -  test automation strategy for Scrum Projects
Scrum gathering Paris 2013 - test automation strategy for Scrum ProjectsEliane Collins
 
Apresentação sobre teste ágil no Encontro de Qualidade de Manaus 2012
Apresentação sobre teste ágil no Encontro de Qualidade de Manaus 2012Apresentação sobre teste ágil no Encontro de Qualidade de Manaus 2012
Apresentação sobre teste ágil no Encontro de Qualidade de Manaus 2012Eliane Collins
 
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsEliane Collins
 
Ast 2012 - Practices for Test Automation in Scrum Projects
Ast 2012 - Practices for Test Automation in Scrum ProjectsAst 2012 - Practices for Test Automation in Scrum Projects
Ast 2012 - Practices for Test Automation in Scrum ProjectsEliane Collins
 
Implantação de Ambiente de Integração contínua para projeto que usa Java e C
Implantação de Ambiente de Integração contínua para  projeto que usa Java e CImplantação de Ambiente de Integração contínua para  projeto que usa Java e C
Implantação de Ambiente de Integração contínua para projeto que usa Java e CEliane Collins
 
Sbqs 2010 Processo de Teste de Software para Scrum
Sbqs 2010 Processo de Teste de Software para ScrumSbqs 2010 Processo de Teste de Software para Scrum
Sbqs 2010 Processo de Teste de Software para ScrumEliane Collins
 
Strategies for agile software test automation
Strategies for agile software test automationStrategies for agile software test automation
Strategies for agile software test automationEliane Collins
 

Mais de Eliane Collins (7)

Scrum gathering Paris 2013 - test automation strategy for Scrum Projects
Scrum gathering Paris 2013 -  test automation strategy for Scrum ProjectsScrum gathering Paris 2013 -  test automation strategy for Scrum Projects
Scrum gathering Paris 2013 - test automation strategy for Scrum Projects
 
Apresentação sobre teste ágil no Encontro de Qualidade de Manaus 2012
Apresentação sobre teste ágil no Encontro de Qualidade de Manaus 2012Apresentação sobre teste ágil no Encontro de Qualidade de Manaus 2012
Apresentação sobre teste ágil no Encontro de Qualidade de Manaus 2012
 
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
 
Ast 2012 - Practices for Test Automation in Scrum Projects
Ast 2012 - Practices for Test Automation in Scrum ProjectsAst 2012 - Practices for Test Automation in Scrum Projects
Ast 2012 - Practices for Test Automation in Scrum Projects
 
Implantação de Ambiente de Integração contínua para projeto que usa Java e C
Implantação de Ambiente de Integração contínua para  projeto que usa Java e CImplantação de Ambiente de Integração contínua para  projeto que usa Java e C
Implantação de Ambiente de Integração contínua para projeto que usa Java e C
 
Sbqs 2010 Processo de Teste de Software para Scrum
Sbqs 2010 Processo de Teste de Software para ScrumSbqs 2010 Processo de Teste de Software para Scrum
Sbqs 2010 Processo de Teste de Software para Scrum
 
Strategies for agile software test automation
Strategies for agile software test automationStrategies for agile software test automation
Strategies for agile software test automation
 

Teste para dispositivos móveis apresentação pra ufam -eliane

  • 1. Teste para Dispositivos Móveis Eliane Collins 6/3/2014 1Eliane Collins | elianecollins@gmail.com
  • 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
  • 11. Internal Use Only  clickX métodos: clickOnButton, clickOnImage, clickOnText,…  clickLongX métodos : clickLongInList, clickLongOnScreen, clickLongOnText,…  enterText  drag  getX métodos : getButton, getCurrentActivity, getImage, getEditText  goBack  isX métodos : isCheckBoxChecked, isRadioButtonChecked, isTextChecked  pressX métodos : pressMenuItem, pressMenuItem, pressSpinnerItem  scrollX métodos : scrollToTop, scrollToBottom, …  searchX métodos : searchButton, searchEditText, searchText  waitForX métodos : waitForActivity, waitForText, … 6/3/2014 11 Automação de Testes para Aplicações Móveis Robotium - Métodos 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