Natan Ximenes - Testes instrumentados: Porque são iguais e diferentes ao mesmo tempo dos testes funcionais?

Natan Ximenes - Testes instrumentados: Porque são iguais e diferentes ao mesmo tempo dos testes funcionais?

No mundo atual, grande parte dos produtos digitais são focados em dispositivos mobile para alcançar o máximo de usuários possíveis, devido a uma grande parcela da população mundial estar conectada através de smartphones. Logo, os testes são de extrema importância para garantir a qualidade dos produtos que serão colocados nas lojas de aplicativos. Assim, testes unitários e testes funcionais são essenciais! Porém, um tipo de testes de destaca entre esses dois tipos de testes tradicionais: Os Testes Instrumentados.

184d32a034c53d328bf523c7b2ef1197?s=128

Agile Testers

April 08, 2017
Tweet

Transcript

  1. Testes Instrumentados: Por que são iguais e diferentes ao mesmo

    tempo dos testes funcionais? Agile Testers Conference 2017
  2. Oi, eu sou o Natan! • Desenvolvedor Android desde sempre(2015).

    • Me aventurei como QA durante quase 1 ano • Voltei pra Android de novo no final do ano passado. • Me engano jogando CS, dou aula de FIFA e Overwatch quando possível natanximenes29@gmail.com Natan Ximenes
  3. Testes Instrumentados Testes Funcionais Teste Funcional vs Teste Instrumentado Teste

    Funcional + Teste Instrumentado Estratégia SUMÁRIO
  4. Testes Instrumentados

  5. Se eu pudesse o definir em algumas palavras.. O teste

    instrumentado é focado nas possíveis interações com uma tela. Ou seja, o objetivo desse teste é apenas validar os estados que a mesma pode assumir de acordo com os inputs que ela receber.
  6. ...

  7. Beleza, mas .. Como assim?

  8. Beleza, mas .. Como assim?

  9. Indo mais a fundo O teste instrumentado.. Valida a visibilidade

    de itens, botões e qualquer outro tipo de componente visual da tela Valida o comportamento da tela em relação a inputs (de usuário ou de recebimento de dados) e outputs. É totalmente voltado para o contexto mobile (Android e iOS)
  10. Você reparou na flexão gramatical da palavra que destaquei nos

    últimos slides?
  11. None
  12. A palavra tela foi usada no singular até aqui, porque..

  13. O teste instrumentado pode ser considerado como Um “teste unitário”

    de tela
  14. Teste unitário de tela ?! ?!

  15. “Teste unitário” de tela O teste foca em todas as

    interações que uma tela pode fazer Qualquer dependencia de dados deve ser mockada Caso exista uma navegação de fluxo que possa ser desencadeada a partir dessa tela, a validação é feita apenas na sua borda, mockando a possível saída Qualquer tela pode ser inicializada sem a necessidade de navegar através de um fluxo até ela.
  16. Ferramentas

  17. Ferramentas KIF/UITesting

  18. Mundo instrumentado android Ferramenta maduras Linguagem nativa(Java/Kotlin)

  19. Mundo instrumentado iOS Ferramentas em caminho de evolução e aceitação

    Linguagem nativa(Objective-C/Swift) São chamados de UITest ao invés de Teste Instrumentado.
  20. Testes Funcionais

  21. Se eu pudesse o definir em algumas palavras.. Tem o

    objetivo de realizar a validação de aceitação de requisitos, regras de negócio e afins. Para isso, a arquitetura de testes das suas ferramentas são formadas por cenários, que normalmente navegam pelo software para realizar essas validações dentro de n telas para chegar no objetivo final de validação. Ou seja, é possível realizar a validação de todo um fluxo que um usuário faria.
  22. Ferramentas

  23. Ferramentas

  24. É agora, vamos resolver as diferenças Teste Instrumentado X Teste

    Funcional
  25. Teste Instrumentado Teste Funcional X

  26. Esqueçam as diferenças Teste Instrumentado + Teste Funcional For the

    whin !
  27. Teste Funcional + Teste Instrumentado Não use comparação exclusiva entre

    os dois (Pro Dev, só o teste instrumentado basta. Por QA, só o funcional é suficiente) Entenda as características de cada um Testes funcionais ajudam a garantir os objetivos de negócio num nível acima de abstração Testes instrumentados ajudam a garantir os objetivos de negócio num nível mais baixo de abstração
  28. Ok blz, mais um tipo de teste pra fazer..

  29. O segredo do sucesso: Estratégia

  30. Estratégia Evite AntiPatterns (Cupcake, Ice-Cream Cone, etc) Busque o equilíbrio

    entre o que pode ser testado em cada um dos tipos de teste. Fique atento a sobrecargas. Fique atento as estimativas. Não fique preso a papéis(QA, Dev Android). Todos devem colaborar para garantir a qualidade do produto.
  31. Concluindo..

  32. Testes funcionais e testes instrumentados são iguais no ponto de

    vista superficial do que fazem, ou seja os dois testam a interface de usuário. Porém, a forma que o fazem é o que os difere, mas não necessariamente os separa.
  33. None
  34. Dúvidas?

  35. Referências https://www.concretesolutions.com.br/2016/09/02/testes-android-espresso-1/ https://google.github.io/android-testing-support-library/docs/espresso/ http://calaba.sh/ http://appium.io/ http://www.seleniumhq.org/ https://github.com/kif-framework/KIF https://www.thoughtworks.com/insights/blog/introducing-software-testing-cupcake-anti-pattern https://watirmelon.blog/2012/01/31/introducing-the-software-testing-ice-cream-cone/ https://developer.apple.com/videos/play/wwdc2015/406/

    https://www.scrumalliance.org/community/articles/2013/2013-april/introducing-the-three-amigos
  36. www.concretesolutions.com.br Rio de Janeiro – Rua São José, 90 –

    cj. 2121 Centro – (21) 2240-2030 São Paulo - Av. Nações Unidas, 11.541 3º andar - Brooklin - (11) 4119-0449 Ajudamos empresas a criar produtos digitais de sucesso