SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
Automatizando testes de UI
no Android com Espresso
@viniciusdepaula
Sobre mim
~10 anos envolvido
com o meio
acadêmico
Co-founder e
CTO Inngage
~15 anos atuando com
desenvolvimento e
arquitetura de software
Por que é importante testar software?
Para garantir que determinada
feature do sistema funcione
como esperada.
É a garantia de que mudanças não
quebrem funcionalidades existentes.
Segue um roteiro do próprio
comportamento do sistema.
O custo de correção dos defeitos cresce
exponencialmente à medida que o
processo de desenvolvimento avança
dentro do ciclo de vida do produto.
Myers, a Regra de 10
Testar dá trabalho!
Não tenho tempo
suficiente para criar testes!
Estou cansado de testar as
coisas na mão!
E quando lançamos em
produção uma versão sem a
cobertura dos testes…
e o sistema falha…
E você não acredita o que
pode ter falhado…
Os danos na imagem do
produto se tornam públicos
Então, quais ferramentas posso
utilizar para me ajudar a testar?
Como funcionam os testes
no Android?
Testes de UI
Testes unitários
Diretórios e tipos de testes
Como o Espresso pode
me ajudar?
Use Espresso to write concise,
beautiful, and reliable
Android UI tests.
Dependências necessárias
build.gradle (app)
Estrutura de um teste de UI
1
Encontre uma View
onView(withId(R.id.my_view))
2
Execute uma ação
.perform(click())
3
Inspecione o resultado
.check(matches(isDisplayed()))
Anatomia de um teste
1
Defina a classe de teste
2
Adicione uma regra
Anatomia de um teste
3
Prepare o teste: simule a entrada dos dados e
inspecione o resultado
Resultado dos testes
Demonstração
https://github.com/viniciusdepaula/espresso-login-test
Codificar testes é uma tarefa
árdua…
Como lidar com a diversidade?
@viniciusdepaula

Mais conteúdo relacionado

Mais procurados

Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014Elias Nogueira
 
Como ensinei mais de 1000 testadores
Como ensinei mais de 1000 testadoresComo ensinei mais de 1000 testadores
Como ensinei mais de 1000 testadoresElias 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 DevopsElias Nogueira
 
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 para Android de ponta a ponta
Testes para Android de ponta a pontaTestes para Android de ponta a ponta
Testes para Android de ponta a pontaElias Nogueira
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilElias Nogueira
 
Espresso 101: Introdução a UI Testing
Espresso 101: Introdução a UI TestingEspresso 101: Introdução a UI Testing
Espresso 101: Introdução a UI TestingOnyo
 
Automatizando uma app Híbrida
Automatizando uma app HíbridaAutomatizando uma app Híbrida
Automatizando uma app HíbridaElias Nogueira
 
Metodologias de desenvolvimento de software
Metodologias de desenvolvimento de softwareMetodologias de desenvolvimento de software
Metodologias de desenvolvimento de softwareLetícia Elaine Krauss
 
Agileze seus testes com automacao e grid
Agileze seus testes com automacao e gridAgileze seus testes com automacao e grid
Agileze seus testes com automacao e gridElias Nogueira
 
Teste sua app e aumente as chances de mantê-la no mercado
Teste sua app e aumente as chances de mantê-la no mercadoTeste sua app e aumente as chances de mantê-la no mercado
Teste sua app e aumente as chances de mantê-la no mercadoElias 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 AppiumElias Nogueira
 
Como integrar um Agile Tester no seu time
Como integrar um Agile Tester no seu timeComo integrar um Agile Tester no seu time
Como integrar um Agile Tester no seu timeElias Nogueira
 
Desenvolvendo Windows Store Apps
Desenvolvendo Windows Store AppsDesenvolvendo Windows Store Apps
Desenvolvendo Windows Store AppsThiago Coelho
 
DevOps aplicado a Mobile: Challenge Accepted
DevOps aplicado a Mobile: Challenge AcceptedDevOps aplicado a Mobile: Challenge Accepted
DevOps aplicado a Mobile: Challenge AcceptedLetticia Nicoli
 
[GUTS-RS] Testar Interfaces com UX
[GUTS-RS] Testar Interfaces com UX[GUTS-RS] Testar Interfaces com UX
[GUTS-RS] Testar Interfaces com UXGUTS-RS
 

Mais procurados (20)

Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014
 
Como ensinei mais de 1000 testadores
Como ensinei mais de 1000 testadoresComo ensinei mais de 1000 testadores
Como ensinei mais de 1000 testadores
 
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
 
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 para Android de ponta a ponta
Testes para Android de ponta a pontaTestes para Android de ponta a ponta
Testes para Android de ponta a ponta
 
Selenium
SeleniumSelenium
Selenium
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira Ágil
 
Automação de Testes
Automação de TestesAutomação de Testes
Automação de Testes
 
Espresso 101: Introdução a UI Testing
Espresso 101: Introdução a UI TestingEspresso 101: Introdução a UI Testing
Espresso 101: Introdução a UI Testing
 
Automatizando uma app Híbrida
Automatizando uma app HíbridaAutomatizando uma app Híbrida
Automatizando uma app Híbrida
 
Por que aplicações falham
Por que aplicações falham Por que aplicações falham
Por que aplicações falham
 
O teste atualmente
O teste atualmenteO teste atualmente
O teste atualmente
 
Metodologias de desenvolvimento de software
Metodologias de desenvolvimento de softwareMetodologias de desenvolvimento de software
Metodologias de desenvolvimento de software
 
Agileze seus testes com automacao e grid
Agileze seus testes com automacao e gridAgileze seus testes com automacao e grid
Agileze seus testes com automacao e grid
 
Teste sua app e aumente as chances de mantê-la no mercado
Teste sua app e aumente as chances de mantê-la no mercadoTeste sua app e aumente as chances de mantê-la no mercado
Teste sua app e aumente as chances de mantê-la no mercado
 
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
 
Como integrar um Agile Tester no seu time
Como integrar um Agile Tester no seu timeComo integrar um Agile Tester no seu time
Como integrar um Agile Tester no seu time
 
Desenvolvendo Windows Store Apps
Desenvolvendo Windows Store AppsDesenvolvendo Windows Store Apps
Desenvolvendo Windows Store Apps
 
DevOps aplicado a Mobile: Challenge Accepted
DevOps aplicado a Mobile: Challenge AcceptedDevOps aplicado a Mobile: Challenge Accepted
DevOps aplicado a Mobile: Challenge Accepted
 
[GUTS-RS] Testar Interfaces com UX
[GUTS-RS] Testar Interfaces com UX[GUTS-RS] Testar Interfaces com UX
[GUTS-RS] Testar Interfaces com UX
 

Semelhante a Automatizando testes de UI no Android com Espresso

UX UI para Programadores
UX UI para Programadores UX UI para Programadores
UX UI para Programadores Monica Mesquita
 
Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!Ramon Ribeiro Rabello
 
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
 
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 carreiraTaís Dall'Oca
 
UX e Tecnologia - Bianca Brancaleone
UX e Tecnologia - Bianca BrancaleoneUX e Tecnologia - Bianca Brancaleone
UX e Tecnologia - Bianca BrancaleoneByte Girl
 
Testes remotos de usabilidade
Testes remotos de usabilidadeTestes remotos de usabilidade
Testes remotos de usabilidadeLuiz Agner
 
Uniinfo2010 introdução teste de software - priscila coelho blauth2
Uniinfo2010 introdução teste de software - priscila coelho blauth2Uniinfo2010 introdução teste de software - priscila coelho blauth2
Uniinfo2010 introdução teste de software - priscila coelho blauth2Priscila Coelho S. Blauth
 
01 UNIDADE I - Princípios, pilares e modelos de teste de software.pptx
01 UNIDADE I -  Princípios, pilares e modelos de teste de software.pptx01 UNIDADE I -  Princípios, pilares e modelos de teste de software.pptx
01 UNIDADE I - Princípios, pilares e modelos de teste de software.pptxAnaKlyssia1
 
Por que automatizar testes de software?
Por que automatizar testes de software?Por que automatizar testes de software?
Por que automatizar testes de software?Samuel Lourenço
 
Design System: Dominando o Design at Scale
Design System: Dominando o Design at ScaleDesign System: Dominando o Design at Scale
Design System: Dominando o Design at ScaleGuilherme Gonzalez
 
SEMINFO 2014 - Teste de software, uma área, uma carreira, um novo perfil.
SEMINFO 2014 -  Teste de software, uma área, uma carreira, um novo perfil.SEMINFO 2014 -  Teste de software, uma área, uma carreira, um novo perfil.
SEMINFO 2014 - Teste de software, uma área, uma carreira, um novo perfil.João Clineu - CTFL, CSM, CSD
 

Semelhante a Automatizando testes de UI no Android com Espresso (20)

Android Espresso
Android EspressoAndroid Espresso
Android Espresso
 
UX UI para Programadores
UX UI para Programadores UX UI para Programadores
UX UI para Programadores
 
Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!
 
TesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdfTesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdf
 
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
 
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
 
DevQA: UI Testing , como fazer?
DevQA: UI Testing , como fazer?DevQA: UI Testing , como fazer?
DevQA: UI Testing , como fazer?
 
UX e Tecnologia - Bianca Brancaleone
UX e Tecnologia - Bianca BrancaleoneUX e Tecnologia - Bianca Brancaleone
UX e Tecnologia - Bianca Brancaleone
 
Tdd x testes unidades
Tdd x testes unidadesTdd x testes unidades
Tdd x testes unidades
 
Cultura de testes em times mobile
Cultura de testes em times mobileCultura de testes em times mobile
Cultura de testes em times mobile
 
Testes remotos de usabilidade
Testes remotos de usabilidadeTestes remotos de usabilidade
Testes remotos de usabilidade
 
Uniinfo2010 introdução teste de software - priscila coelho blauth2
Uniinfo2010 introdução teste de software - priscila coelho blauth2Uniinfo2010 introdução teste de software - priscila coelho blauth2
Uniinfo2010 introdução teste de software - priscila coelho blauth2
 
01 UNIDADE I - Princípios, pilares e modelos de teste de software.pptx
01 UNIDADE I -  Princípios, pilares e modelos de teste de software.pptx01 UNIDADE I -  Princípios, pilares e modelos de teste de software.pptx
01 UNIDADE I - Princípios, pilares e modelos de teste de software.pptx
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
Testes em Flutter.pdf
Testes em Flutter.pdfTestes em Flutter.pdf
Testes em Flutter.pdf
 
Prototipagem
PrototipagemPrototipagem
Prototipagem
 
Por que automatizar testes de software?
Por que automatizar testes de software?Por que automatizar testes de software?
Por que automatizar testes de software?
 
Design System: Dominando o Design at Scale
Design System: Dominando o Design at ScaleDesign System: Dominando o Design at Scale
Design System: Dominando o Design at Scale
 
Conceitos de Usabilidade
Conceitos de UsabilidadeConceitos de Usabilidade
Conceitos de Usabilidade
 
SEMINFO 2014 - Teste de software, uma área, uma carreira, um novo perfil.
SEMINFO 2014 -  Teste de software, uma área, uma carreira, um novo perfil.SEMINFO 2014 -  Teste de software, uma área, uma carreira, um novo perfil.
SEMINFO 2014 - Teste de software, uma área, uma carreira, um novo perfil.
 

Automatizando testes de UI no Android com Espresso