Testes para Android de ponta a ponta

1.055 visualizações

Publicada em

Esta palestra, ministrada no The Developers Conference 2015 edição Porto Alegre em 25 de setembro de 2015, visa apresentar os diferentes níveis de teste dentro de uma app Android onde há exemplos de testes unitários locais e instrumentados, teste de serviços e teste na interface gráfica.

Publicada em: Software
0 comentários
6 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.055
No SlideShare
0
A partir de incorporações
0
Número de incorporações
18
Ações
Compartilhamentos
0
Downloads
10
Comentários
0
Gostaram
6
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Testes para Android de ponta a ponta

  1. 1. Globalcode  –  Open4education Testes para Android de Ponta a Ponta Elias Nogueira @eliasogueira
  2. 2. Globalcode  –  Open4education Elias Nogueira qualister.com.br   eliasnogueira   br.linkedin.com/in/eliasnogueira   github.com/eliasnogueira   Consultor de Teste na Qualister Consultoria e Treinamento Professor de Pós Graduação na Unisinos/RS Atuante na comunidade de teste no cenário nacional eliasnogueira.com  
  3. 3. Globalcode  –  Open4education ATENÇÃO!!!   É importante automatizar todos os níveis da app
  4. 4. Globalcode  –  Open4education Níveis de teste em Android   Unitário  Local  Instrumentação   UI   Cadê o nível de serviços???
  5. 5. Globalcode  –  Open4education Unitário Local   É uma excelente forma de testar alguma regra ou funcionamento de código sem depender do dispositivo para executá-las e nem do contexto a aplicação para a instrumentação   Normalmente utilizamos algum framework de mock para suprir qualquer dependência   É uma forma mais assertiva e reduz o tempo na manutenção de testes unitários com mocks https://developer.android.com/training/testing/unit-testing/local-unit-tests.html
  6. 6. Globalcode  –  Open4education Unitário Local ./gradlew test Context   Context  Provider   Content  Resolver   Service   Intent  
  7. 7. Globalcode  –  Open4education Unitário Instrumentação   São testes unitários que executam em dispositivos reais ou emulados ao invés de serem executados na JVM   Utilizamos esta forma quando o teste necessita de informações de instrumentação (Context, Activities, etc…) ou algum acesso a implementação do Android Framework. https://developer.android.com/training/testing/unit-testing/instrumented-unit-tests.html
  8. 8. Globalcode  –  Open4education Unitário Instrumentação ./gradlew cC Context   Context  Provider   Content  Resolver   Service   Intent  
  9. 9. Globalcode  –  Open4education Unitário Roboletric   Framework que habilita a criação e execução de testes de unidade na JVM sem a necessidade de um emulador ou dispositivo http://robolectric.org
  10. 10. Globalcode  –  Open4education Unitário Roboletric ./gradlew test
  11. 11. Globalcode  –  Open4education Rest-Assured   Biblioteca escrita em Java para simplificar os testes de serviço baseado em REST   Compatível com os principais métodos (GET, POST, PUT, DELETE, OPTIONS, PATCH, HEAD)   Pode validar cabeçalho e requisições   Escrita no teste na sintaxe Gherkin given, when, then https://github.com/jayway/rest-assured
  12. 12. Globalcode  –  Open4education Rest-Assured ./gradlew test
  13. 13. Globalcode  –  Open4education UI – User Interface   Um dos pontos mais negligenciados e críticos para os usuários da nossa app: a UI   É de extrema importância ter uma suíte de automação somente para UI executando em nosso ciclo de CI
  14. 14. Globalcode  –  Open4education Appium   Alternativa aos frameworks “padrão”   Uso o UiAutomator como base   Aumenta o loque de possibilidades de teste:  Escrita de código mais facilitada  Múltiplos dispositivos  Grid http://appium.io
  15. 15. Globalcode  –  Open4education Appium ./gradlew test
  16. 16. Globalcode  –  Open4education Projeto em... https://github.com/eliasnogueira/ testes-android-ponta-a-ponta

×