SlideShare uma empresa Scribd logo
Como testar
sua aplicação
Android com
Robotium
GDG DevFest Sul – Porto Alegre, 2014
Agenda
•Apresentação
•Conceitos de testes
•Dificuldades de testes
•O que testar numa aplicação Android
•Ferramentas
•Whitebox com Robotium
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
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.
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
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
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;
O que testar?
• Compatibilidade
• Instalação
• Funcionalidades
• Performance
• Usabilidade
• Serviços
• Segurança
Ferramentas
MonkeyRunner
Robolectric
Robotium
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
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
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;
Robotium
• Integra com Maven e Ant para integração
contínua;
• Similiar ao Selenium;
• Utiliza jUnit 3;
• Root em aplicações instaladas
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);
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;
Let’s get started!!!
•WhiteBox Tests:
Com acesso ao código fonte;
Localiza os componentes pelo ID;
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;
Aplicações
•WhiteBox Tests:
Com acesso ao código fonte;
Localiza os componentes pelo ID;
Aplicações Hibridas
•Suportadas desde a versão 4.0 do
Robotium;
•É possível interagir com elementos
(através de WebvViews)
Dúvidas??
Obrigada!

Mais conteúdo relacionado

Mais procurados

Testes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterTestes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e Blazemeter
Elias Nogueira
 
A importância dos Testes no Devops
A importância dos Testes no DevopsA importância dos Testes no Devops
A importância dos Testes no Devops
Elias Nogueira
 
Automação em Wearables para Android
Automação em Wearables para AndroidAutomação em Wearables para Android
Automação em Wearables para Android
Elias Nogueira
 
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
 
Apenas um script de teste para iOS e Android
Apenas um script de teste para iOS e AndroidApenas um script de teste para iOS e Android
Apenas um script de teste para iOS e Android
Elias Nogueira
 
Automação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumAutomação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com Appium
Elias Nogueira
 
Automatizando uma app Híbrida
Automatizando uma app HíbridaAutomatizando uma app Híbrida
Automatizando uma app Híbrida
Elias Nogueira
 
Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes! Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes!
Elias Nogueira
 
Testes de interfaces Web com Selenium
Testes de interfaces Web com SeleniumTestes de interfaces Web com Selenium
Testes de interfaces Web com Selenium
Renato Groff
 
Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016
Renato Groff
 
O Testador Técnico
O Testador TécnicoO Testador Técnico
O Testador Técnico
Elias Nogueira
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a Qualidade
Kamilla Queiroz Xavier
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidos
Igor Abade
 
Tester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoTester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitido
Leonardo Galani
 
Feedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionaisFeedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionais
Elias Nogueira
 
Automação para Aplicaticos Móveis - Testes Automáticos Utilizando Appium
Automação para Aplicaticos Móveis - Testes Automáticos Utilizando AppiumAutomação para Aplicaticos Móveis - Testes Automáticos Utilizando Appium
Automação para Aplicaticos Móveis - Testes Automáticos Utilizando Appium
Fabio Moura
 
Automação de Teste em UI para Android
Automação de Teste em UI para AndroidAutomação de Teste em UI para Android
Automação de Teste em UI para Android
Elias Nogueira
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
minastestingconference
 
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvemMinas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Stefan Teixeira
 
Automatizando uma app Híbrida
Automatizando uma app HíbridaAutomatizando uma app Híbrida
Automatizando uma app Híbrida
Elias Nogueira
 

Mais procurados (20)

Testes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterTestes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e Blazemeter
 
A importância dos Testes no Devops
A importância dos Testes no DevopsA importância dos Testes no Devops
A importância dos Testes no Devops
 
Automação em Wearables para Android
Automação em Wearables para AndroidAutomação em Wearables para Android
Automação em Wearables para Android
 
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...
 
Apenas um script de teste para iOS e Android
Apenas um script de teste para iOS e AndroidApenas um script de teste para iOS e Android
Apenas um script de teste para iOS e Android
 
Automação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumAutomação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com Appium
 
Automatizando uma app Híbrida
Automatizando uma app HíbridaAutomatizando uma app Híbrida
Automatizando uma app Híbrida
 
Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes! Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes!
 
Testes de interfaces Web com Selenium
Testes de interfaces Web com SeleniumTestes de interfaces Web com Selenium
Testes de interfaces Web com Selenium
 
Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016
 
O Testador Técnico
O Testador TécnicoO Testador Técnico
O Testador Técnico
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a Qualidade
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidos
 
Tester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoTester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitido
 
Feedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionaisFeedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionais
 
Automação para Aplicaticos Móveis - Testes Automáticos Utilizando Appium
Automação para Aplicaticos Móveis - Testes Automáticos Utilizando AppiumAutomação para Aplicaticos Móveis - Testes Automáticos Utilizando Appium
Automação para Aplicaticos Móveis - Testes Automáticos Utilizando Appium
 
Automação de Teste em UI para Android
Automação de Teste em UI para AndroidAutomação de Teste em UI para Android
Automação de Teste em UI para Android
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
 
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvemMinas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
 
Automatizando uma app Híbrida
Automatizando uma app HíbridaAutomatizando uma app Híbrida
Automatizando uma app Híbrida
 

Destaque

Robotium Tutorial
Robotium TutorialRobotium Tutorial
Robotium Tutorial
Mobile March
 
Lançamento e auto de infração provas - dra. leonor 14-11-12
Lançamento e auto de infração   provas - dra. leonor 14-11-12Lançamento e auto de infração   provas - dra. leonor 14-11-12
Lançamento e auto de infração provas - dra. leonor 14-11-12
Fernanda Moreira
 
19 25 august 2014 yashomani
19 25 august 2014 yashomani19 25 august 2014 yashomani
19 25 august 2014 yashomaniSantosh Tiwari
 
Aula dra. carla de lourdes gonçalves 04-10-14
Aula dra. carla de lourdes gonçalves   04-10-14Aula dra. carla de lourdes gonçalves   04-10-14
Aula dra. carla de lourdes gonçalves 04-10-14
Fernanda Moreira
 
Aula dr. josé henrique longo 27-10-14
Aula dr. josé henrique longo   27-10-14Aula dr. josé henrique longo   27-10-14
Aula dr. josé henrique longo 27-10-14
Fernanda Moreira
 
Secretele barcelonei
Secretele barceloneiSecretele barcelonei
Secretele barceloneiElla El
 
Tipo Carioca Março 2013
Tipo Carioca Março 2013Tipo Carioca Março 2013
Tipo Carioca Março 2013
Jornal Tipo Carioca
 
Slavko Pregl - Kosta Nađ
Slavko Pregl - Kosta NađSlavko Pregl - Kosta Nađ
Slavko Pregl - Kosta NađLom Buchela
 
Perbup no.-12-ttg.-pedoman-penggunaan-traktor-milik-pemerintah-kab.-ppb
Perbup no.-12-ttg.-pedoman-penggunaan-traktor-milik-pemerintah-kab.-ppbPerbup no.-12-ttg.-pedoman-penggunaan-traktor-milik-pemerintah-kab.-ppb
Perbup no.-12-ttg.-pedoman-penggunaan-traktor-milik-pemerintah-kab.-ppb
ppbkab
 
Equitalia rate
Equitalia rateEquitalia rate
Equitalia rate
Paolo Soro
 
Peraturan bupati-no.-2a-biaya-transportasi-dan-akomodasi-tenaga-guru-kab.-ppb
Peraturan bupati-no.-2a-biaya-transportasi-dan-akomodasi-tenaga-guru-kab.-ppbPeraturan bupati-no.-2a-biaya-transportasi-dan-akomodasi-tenaga-guru-kab.-ppb
Peraturan bupati-no.-2a-biaya-transportasi-dan-akomodasi-tenaga-guru-kab.-ppbppbkab
 
Neeraj ranjan
Neeraj ranjanNeeraj ranjan
Neeraj ranjan
Neeraj Ranjan
 
Peraturan bupati-no.-54-ttg.-pedoman-umum-pemberian-hibah-yg-bersumber-dari-apbd
Peraturan bupati-no.-54-ttg.-pedoman-umum-pemberian-hibah-yg-bersumber-dari-apbdPeraturan bupati-no.-54-ttg.-pedoman-umum-pemberian-hibah-yg-bersumber-dari-apbd
Peraturan bupati-no.-54-ttg.-pedoman-umum-pemberian-hibah-yg-bersumber-dari-apbd
ppbkab
 
No. 11 ttg retribusi perizinan tertentu
No. 11 ttg retribusi perizinan tertentuNo. 11 ttg retribusi perizinan tertentu
No. 11 ttg retribusi perizinan tertentu
ppbkab
 
Sf v projekt_wroclaw
Sf v projekt_wroclawSf v projekt_wroclaw
Sf v projekt_wroclaw
salonyVi
 
Convocados oral junio_13_1_g
Convocados oral junio_13_1_gConvocados oral junio_13_1_g
Convocados oral junio_13_1_g
egonzalezlara
 
Apostilaprogramao 120512152026-phpapp02
Apostilaprogramao 120512152026-phpapp02Apostilaprogramao 120512152026-phpapp02
Apostilaprogramao 120512152026-phpapp02
Eugenio Batista
 
Soft layerを申込んでみた体験レポート 140730
Soft layerを申込んでみた体験レポート 140730Soft layerを申込んでみた体験レポート 140730
Soft layerを申込んでみた体験レポート 140730
YoshiyukiKonno
 
topologi jaringan
topologi jaringantopologi jaringan
topologi jaringanzidane200
 

Destaque (20)

Robotium Tutorial
Robotium TutorialRobotium Tutorial
Robotium Tutorial
 
Dana tile profile_dtp-42_205_datasheet
Dana tile profile_dtp-42_205_datasheetDana tile profile_dtp-42_205_datasheet
Dana tile profile_dtp-42_205_datasheet
 
Lançamento e auto de infração provas - dra. leonor 14-11-12
Lançamento e auto de infração   provas - dra. leonor 14-11-12Lançamento e auto de infração   provas - dra. leonor 14-11-12
Lançamento e auto de infração provas - dra. leonor 14-11-12
 
19 25 august 2014 yashomani
19 25 august 2014 yashomani19 25 august 2014 yashomani
19 25 august 2014 yashomani
 
Aula dra. carla de lourdes gonçalves 04-10-14
Aula dra. carla de lourdes gonçalves   04-10-14Aula dra. carla de lourdes gonçalves   04-10-14
Aula dra. carla de lourdes gonçalves 04-10-14
 
Aula dr. josé henrique longo 27-10-14
Aula dr. josé henrique longo   27-10-14Aula dr. josé henrique longo   27-10-14
Aula dr. josé henrique longo 27-10-14
 
Secretele barcelonei
Secretele barceloneiSecretele barcelonei
Secretele barcelonei
 
Tipo Carioca Março 2013
Tipo Carioca Março 2013Tipo Carioca Março 2013
Tipo Carioca Março 2013
 
Slavko Pregl - Kosta Nađ
Slavko Pregl - Kosta NađSlavko Pregl - Kosta Nađ
Slavko Pregl - Kosta Nađ
 
Perbup no.-12-ttg.-pedoman-penggunaan-traktor-milik-pemerintah-kab.-ppb
Perbup no.-12-ttg.-pedoman-penggunaan-traktor-milik-pemerintah-kab.-ppbPerbup no.-12-ttg.-pedoman-penggunaan-traktor-milik-pemerintah-kab.-ppb
Perbup no.-12-ttg.-pedoman-penggunaan-traktor-milik-pemerintah-kab.-ppb
 
Equitalia rate
Equitalia rateEquitalia rate
Equitalia rate
 
Peraturan bupati-no.-2a-biaya-transportasi-dan-akomodasi-tenaga-guru-kab.-ppb
Peraturan bupati-no.-2a-biaya-transportasi-dan-akomodasi-tenaga-guru-kab.-ppbPeraturan bupati-no.-2a-biaya-transportasi-dan-akomodasi-tenaga-guru-kab.-ppb
Peraturan bupati-no.-2a-biaya-transportasi-dan-akomodasi-tenaga-guru-kab.-ppb
 
Neeraj ranjan
Neeraj ranjanNeeraj ranjan
Neeraj ranjan
 
Peraturan bupati-no.-54-ttg.-pedoman-umum-pemberian-hibah-yg-bersumber-dari-apbd
Peraturan bupati-no.-54-ttg.-pedoman-umum-pemberian-hibah-yg-bersumber-dari-apbdPeraturan bupati-no.-54-ttg.-pedoman-umum-pemberian-hibah-yg-bersumber-dari-apbd
Peraturan bupati-no.-54-ttg.-pedoman-umum-pemberian-hibah-yg-bersumber-dari-apbd
 
No. 11 ttg retribusi perizinan tertentu
No. 11 ttg retribusi perizinan tertentuNo. 11 ttg retribusi perizinan tertentu
No. 11 ttg retribusi perizinan tertentu
 
Sf v projekt_wroclaw
Sf v projekt_wroclawSf v projekt_wroclaw
Sf v projekt_wroclaw
 
Convocados oral junio_13_1_g
Convocados oral junio_13_1_gConvocados oral junio_13_1_g
Convocados oral junio_13_1_g
 
Apostilaprogramao 120512152026-phpapp02
Apostilaprogramao 120512152026-phpapp02Apostilaprogramao 120512152026-phpapp02
Apostilaprogramao 120512152026-phpapp02
 
Soft layerを申込んでみた体験レポート 140730
Soft layerを申込んでみた体験レポート 140730Soft layerを申込んでみた体験レポート 140730
Soft layerを申込んでみた体験レポート 140730
 
topologi jaringan
topologi jaringantopologi jaringan
topologi jaringan
 

Semelhante a Como testar sua aplicação Android com Robotium

Testes automatizados mobile - uma prova de conceito
Testes automatizados mobile - uma prova de conceitoTestes automatizados mobile - uma prova de conceito
Testes automatizados mobile - uma prova de conceito
Joyce Bastos
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
Camilo Ribeiro
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Domingos Teruel
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junit
cejug
 
Robotium_Sikuli
Robotium_SikuliRobotium_Sikuli
Robotium_Sikuli
Lucas Cortazzo
 
Android Aula 4
Android Aula 4Android Aula 4
Android Aula 4
Erisvaldo Junior
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Claudinei Brito Junior
 
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
GUTS-RS
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
Roberto Nunes
 
TDD com Python
TDD com PythonTDD com Python
TDD com Python
Osvaldo Santana Neto
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de Selenium
Autotic
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
Carlos Gonzaga
 
Teste de software
Teste de softwareTeste de software
Teste de software
Rafael Sanches
 
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
Cloves da Rocha
 
Testes Unitários: Começando a escrever testes no seu dia-a-dia
Testes Unitários: Começando a escrever testes no seu dia-a-diaTestes Unitários: Começando a escrever testes no seu dia-a-dia
Testes Unitários: Começando a escrever testes no seu dia-a-dia
Alex Tercete
 
Android DevConference - Indo além com automação de testes de apps Android
Android DevConference - Indo além com automação de testes de apps AndroidAndroid DevConference - Indo além com automação de testes de apps Android
Android DevConference - Indo além com automação de testes de apps Android
iMasters
 
Indo além com Automação de Testes de Apps Android
Indo além com Automação de Testes de Apps AndroidIndo além com Automação de Testes de Apps Android
Indo além com Automação de Testes de Apps Android
Eduardo Carrara de Araujo
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
Taís Dall'Oca
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
Felipe Bugov
 
Testes para dispositivos móveis
Testes para dispositivos móveisTestes para dispositivos móveis
Testes para dispositivos móveis
Qualister
 

Semelhante a Como testar sua aplicação Android com Robotium (20)

Testes automatizados mobile - uma prova de conceito
Testes automatizados mobile - uma prova de conceitoTestes automatizados mobile - uma prova de conceito
Testes automatizados mobile - uma prova de conceito
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnit
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junit
 
Robotium_Sikuli
Robotium_SikuliRobotium_Sikuli
Robotium_Sikuli
 
Android Aula 4
Android Aula 4Android Aula 4
Android Aula 4
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
 
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
TDD com Python
TDD com PythonTDD com Python
TDD com Python
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de Selenium
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
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
 
Testes Unitários: Começando a escrever testes no seu dia-a-dia
Testes Unitários: Começando a escrever testes no seu dia-a-diaTestes Unitários: Começando a escrever testes no seu dia-a-dia
Testes Unitários: Começando a escrever testes no seu dia-a-dia
 
Android DevConference - Indo além com automação de testes de apps Android
Android DevConference - Indo além com automação de testes de apps AndroidAndroid DevConference - Indo além com automação de testes de apps Android
Android DevConference - Indo além com automação de testes de apps Android
 
Indo além com Automação de Testes de Apps Android
Indo além com Automação de Testes de Apps AndroidIndo além com Automação de Testes de Apps Android
Indo além com Automação de Testes de Apps Android
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
 
Testes para dispositivos móveis
Testes para dispositivos móveisTestes para dispositivos móveis
Testes para dispositivos móveis
 

Como testar sua aplicação Android com Robotium

  • 1. Como testar sua aplicação Android com Robotium GDG DevFest Sul – Porto Alegre, 2014
  • 2. Agenda •Apresentação •Conceitos de testes •Dificuldades de testes •O que testar numa aplicação Android •Ferramentas •Whitebox com Robotium
  • 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;
  • 16. Let’s get started!!! •WhiteBox Tests: Com acesso ao código fonte; Localiza os componentes pelo ID;
  • 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;
  • 18. Aplicações •WhiteBox Tests: Com acesso ao código fonte; Localiza os componentes pelo ID;
  • 19. Aplicações Hibridas •Suportadas desde a versão 4.0 do Robotium; •É possível interagir com elementos (através de WebvViews)