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

Automatizando testes de UI no Android com Espresso