SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Testando aplicativos
em Flutter
AS AVENTURAS DE UM QA :
QA Lead - Go.K Digital
JHONATAS SANTOS MATOS
Caçando Bugs desde 2017
Apaixonado por tecnologia e Inovação
Entusiasta no Desenvolvimento Mobile
Formado em Análise e Desenvolvimento de Sistemas
Pós Graduando em Engenharia de Software
Por que testar ?
Curiosidade
Problema
Entendendo a Comunidade
Entendendo o Flutter
ÍNDICE
Testes Unitários
Testes de Widget
Testes de UI
Hands ON
1
2
3
4
5
6
7
8
9
Porque testar ?
Para garantir que o sistema atenda todos os requisitos conforme o cliente solicitou.

Testes unitários ajudam a documentar o seu código.

Testes automatizados ajudam na verificação de funcionalidades que necessitam
de testes contínuos e a monitorar e sinalizar problemas antigos.
Por que testar então ?
Mito sobre testes
Testes não podem dizer se seu produto
está livre de defeitos ou falhas.
Showcase Flutter
Curiosidade
Ruby + Appium
Curiosidade
Quando conseguimos mapear os elementos, é possível 

utilizar frameworks tradicionais de automação mobile.
Com o ambiente devidamente configurado, utilizamos
Ruby + Appium para executar nossos testes com êxito.
Você pode acessar o repositório e visualizar o projeto,
juntamente com o APK.
https://github.com/muriloOli/automacao_flutter
Curiosidade
Parar executar a automação funcional, é necessário
mapear elementos para que o “robô” da automação
possa executar o fluxo como se fosse o usuário
utilizando o aplicativo.
Mapear elementos
Problema
Comunidade Flutterando
Problema
“Testar ou não testar eis a questão”
Entendendo a comunidade
Como assim ? Não tem testes ?
Comunidade de testes
Entendendo a comunidade
COMO RESOLVER ISSO ?
1
2
3
Testes unitários
Testes de Widgets

Testes de UI
Entendendo o Flutter
Para testes unitários precisamos instalar apenas
uma dependência.
Testes Unitários
Se você estiver utilizando o editor de texto vscode,
ele “automagicamente” vai baixar e instalar o
pacote, se não, basta você ir pelo terminal até a
pasta onde se encontra o arquivo de
dependências pubspec.yaml, e executar o
comando:
Testes de widget, tem como objetivo verificar se ele
agirá da forma esperada.
Testes de Widget
Além disso, o widget testado poderá receber e
reagir a eventos do usuário, conseguirá instanciar
widgets filhos e simulará a construção da UI.
Precisamos importar apenas o flutter_test como
dependência de desenvolvimento.
WidgetTester: Responsável por toda a “simulação” do
seu widget, construção, gestos, etc.
Testes de Widget
pumpWidget(): Cria o widget e fala para
o WidgetTester construí-lo.
pump(): Reconstrói o widget depois de um
determinado período de tempo.
pumpAndSettle(): Reconstrói o widget até o último
frame/estado, essencial quando se está
Finder: Como o nome entrega, ele é responsável por
achar os widgets.
Testes de UI
Testes de UI, são testes utilizados para testar os
elementos gráficos do seu aplicativo.
Precisamos adicionar a dependência flutter_driver
que irá nos auxiliar nesse processo.
Testes de UI
E AGORA,
TÁ BOM ?
Testes de UI
Após a instalação dessa dependência, podemos
escrever nossos testes de forma ágil e trabalhar
com documentação utilizando gherkin.
Podemos adicionar mais uma dependência ao
nosso projeto, flutter_gherkin.
Então, criamos uma nova estrutura para os
nossos testes.
Testes de UI
AGORA SIM!
Let’s Codee !!!
HANDS ON !!!
D Ú V I D A S ?
QA Lead
Jhonatas Matos
Linkedin: https://www.linkedin.com/in/jhonatas-santos-matos/

Github: https://github.com/jhowsantos

Email Corporativo: jhonatas.matos@gok.digital

Email Pessoal: jhonatas.santos.matos@gmail.com

Mais conteúdo relacionado

Mais procurados

Qualidade em Aplicações Android - Automação de Testes Funcionais com Robotium
Qualidade em Aplicações Android - Automação de Testes Funcionais com  RobotiumQualidade em Aplicações Android - Automação de Testes Funcionais com  Robotium
Qualidade em Aplicações Android - Automação de Testes Funcionais com RobotiumElvírio Junior
 
Básico sobre Debugging com Java
Básico sobre Debugging com JavaBásico sobre Debugging com Java
Básico sobre Debugging com JavajesuinoPower
 
Como ensinei mais de 1000 testadores
Como ensinei mais de 1000 testadoresComo ensinei mais de 1000 testadores
Como ensinei mais de 1000 testadoresElias Nogueira
 
Testes com TestLink e Selenium
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e SeleniumAndré Thiago
 
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos - Let...
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos - Let...Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos - Let...
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos - Let...iMasters
 
PDC - Testes - Usando o Testlink
PDC - Testes - Usando o TestlinkPDC - Testes - Usando o Testlink
PDC - Testes - Usando o Testlinkslides_teltools
 
Teste de aplicações web com selenium
Teste de aplicações web com seleniumTeste de aplicações web com selenium
Teste de aplicações web com seleniumMayron Cachina
 
Automação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileAutomação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileElias 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 AndroidElias Nogueira
 
Testando aplicações Flex com Selenium
Testando aplicações Flex com SeleniumTestando aplicações Flex com Selenium
Testando aplicações Flex com SeleniumVictor Serta
 
WordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidade
WordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidadeWordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidade
WordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidadeWordCamp Floripa
 
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...Mayara Fernandes
 
Robot Framework no DevTests #34
Robot Framework no DevTests #34Robot Framework no DevTests #34
Robot Framework no DevTests #34Mayara Fernandes
 
Assespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkAssespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkMayara Fernandes
 
[Cocoaheads Conference:2018] Além de prints e breakpoints: truques para um De...
[Cocoaheads Conference:2018] Além de prints e breakpoints: truques para um De...[Cocoaheads Conference:2018] Além de prints e breakpoints: truques para um De...
[Cocoaheads Conference:2018] Além de prints e breakpoints: truques para um De...Juliana Chahoud
 

Mais procurados (20)

Qualidade em Aplicações Android - Automação de Testes Funcionais com Robotium
Qualidade em Aplicações Android - Automação de Testes Funcionais com  RobotiumQualidade em Aplicações Android - Automação de Testes Funcionais com  Robotium
Qualidade em Aplicações Android - Automação de Testes Funcionais com Robotium
 
Básico sobre Debugging com Java
Básico sobre Debugging com JavaBásico sobre Debugging com Java
Básico sobre Debugging com Java
 
Como ensinei mais de 1000 testadores
Como ensinei mais de 1000 testadoresComo ensinei mais de 1000 testadores
Como ensinei mais de 1000 testadores
 
Titanium
TitaniumTitanium
Titanium
 
Testes com TestLink e Selenium
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e Selenium
 
Automação de Testes
Automação de TestesAutomação de Testes
Automação de Testes
 
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos - Let...
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos - Let...Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos - Let...
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos - Let...
 
PDC - Testes - Usando o Testlink
PDC - Testes - Usando o TestlinkPDC - Testes - Usando o Testlink
PDC - Testes - Usando o Testlink
 
Teste de aplicações web com selenium
Teste de aplicações web com seleniumTeste de aplicações web com selenium
Teste de aplicações web com selenium
 
Selenium
SeleniumSelenium
Selenium
 
Automação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileAutomação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e Mobile
 
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
 
Testando aplicações Flex com Selenium
Testando aplicações Flex com SeleniumTestando aplicações Flex com Selenium
Testando aplicações Flex com Selenium
 
WordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidade
WordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidadeWordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidade
WordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidade
 
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
 
Robot Framework no DevTests #34
Robot Framework no DevTests #34Robot Framework no DevTests #34
Robot Framework no DevTests #34
 
Assespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkAssespro pr-workshop-robot framework
Assespro pr-workshop-robot framework
 
Selenium
SeleniumSelenium
Selenium
 
[Cocoaheads Conference:2018] Além de prints e breakpoints: truques para um De...
[Cocoaheads Conference:2018] Além de prints e breakpoints: truques para um De...[Cocoaheads Conference:2018] Além de prints e breakpoints: truques para um De...
[Cocoaheads Conference:2018] Além de prints e breakpoints: truques para um De...
 

Semelhante a Talk testes em flutter

Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Ramon Durães
 
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaAutomação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaGabriela Patuci
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontatdc-globalcode
 
Appinventor 120429141244-phpapp02
Appinventor 120429141244-phpapp02Appinventor 120429141244-phpapp02
Appinventor 120429141244-phpapp02Cesar Luis Teixeira
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Wennder Santos
 
Cloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureCloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureGrupo de Testes Carioca
 
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.pptxRoberto Nunes
 
Teste para dispositivos móveis apresentação pra ufam -eliane
Teste para dispositivos móveis   apresentação pra ufam -elianeTeste para dispositivos móveis   apresentação pra ufam -eliane
Teste para dispositivos móveis apresentação pra ufam -elianeEliane Collins
 
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
 
Android Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na CloudAndroid Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na CloudiMasters
 

Semelhante a Talk testes em flutter (20)

Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016
 
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaAutomação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
 
Android Aula 4
Android Aula 4Android Aula 4
Android Aula 4
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
 
Appinventor 120429141244-phpapp02
Appinventor 120429141244-phpapp02Appinventor 120429141244-phpapp02
Appinventor 120429141244-phpapp02
 
App Inventor
App InventorApp Inventor
App Inventor
 
App inventor
App inventorApp inventor
App inventor
 
Testes em Flutter.pdf
Testes em Flutter.pdfTestes em Flutter.pdf
Testes em Flutter.pdf
 
DevQA: UI Testing , como fazer?
DevQA: UI Testing , como fazer?DevQA: UI Testing , como fazer?
DevQA: UI Testing , como fazer?
 
SLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptxSLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptx
 
Apostilaandroidfatecnormal
ApostilaandroidfatecnormalApostilaandroidfatecnormal
Apostilaandroidfatecnormal
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
 
Cloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureCloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows Azure
 
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
 
Base2 Tecnologia
Base2 TecnologiaBase2 Tecnologia
Base2 Tecnologia
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste para dispositivos móveis apresentação pra ufam -eliane
Teste para dispositivos móveis   apresentação pra ufam -elianeTeste para dispositivos móveis   apresentação pra ufam -eliane
Teste para dispositivos móveis apresentação pra ufam -eliane
 
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
 
Framework Robotium
Framework RobotiumFramework Robotium
Framework Robotium
 
Android Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na CloudAndroid Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na Cloud
 

Talk testes em flutter

  • 1. Testando aplicativos em Flutter AS AVENTURAS DE UM QA :
  • 2. QA Lead - Go.K Digital JHONATAS SANTOS MATOS Caçando Bugs desde 2017 Apaixonado por tecnologia e Inovação Entusiasta no Desenvolvimento Mobile Formado em Análise e Desenvolvimento de Sistemas Pós Graduando em Engenharia de Software
  • 3. Por que testar ? Curiosidade Problema Entendendo a Comunidade Entendendo o Flutter ÍNDICE Testes Unitários Testes de Widget Testes de UI Hands ON 1 2 3 4 5 6 7 8 9
  • 4. Porque testar ? Para garantir que o sistema atenda todos os requisitos conforme o cliente solicitou.
 Testes unitários ajudam a documentar o seu código.
 Testes automatizados ajudam na verificação de funcionalidades que necessitam de testes contínuos e a monitorar e sinalizar problemas antigos. Por que testar então ? Mito sobre testes Testes não podem dizer se seu produto está livre de defeitos ou falhas.
  • 6. Ruby + Appium Curiosidade Quando conseguimos mapear os elementos, é possível 
 utilizar frameworks tradicionais de automação mobile. Com o ambiente devidamente configurado, utilizamos Ruby + Appium para executar nossos testes com êxito. Você pode acessar o repositório e visualizar o projeto, juntamente com o APK. https://github.com/muriloOli/automacao_flutter
  • 8. Parar executar a automação funcional, é necessário mapear elementos para que o “robô” da automação possa executar o fluxo como se fosse o usuário utilizando o aplicativo. Mapear elementos Problema
  • 10. “Testar ou não testar eis a questão” Entendendo a comunidade Como assim ? Não tem testes ?
  • 13. 1 2 3 Testes unitários Testes de Widgets
 Testes de UI Entendendo o Flutter
  • 14. Para testes unitários precisamos instalar apenas uma dependência. Testes Unitários Se você estiver utilizando o editor de texto vscode, ele “automagicamente” vai baixar e instalar o pacote, se não, basta você ir pelo terminal até a pasta onde se encontra o arquivo de dependências pubspec.yaml, e executar o comando:
  • 15. Testes de widget, tem como objetivo verificar se ele agirá da forma esperada. Testes de Widget Além disso, o widget testado poderá receber e reagir a eventos do usuário, conseguirá instanciar widgets filhos e simulará a construção da UI. Precisamos importar apenas o flutter_test como dependência de desenvolvimento.
  • 16. WidgetTester: Responsável por toda a “simulação” do seu widget, construção, gestos, etc. Testes de Widget pumpWidget(): Cria o widget e fala para o WidgetTester construí-lo. pump(): Reconstrói o widget depois de um determinado período de tempo. pumpAndSettle(): Reconstrói o widget até o último frame/estado, essencial quando se está Finder: Como o nome entrega, ele é responsável por achar os widgets.
  • 17. Testes de UI Testes de UI, são testes utilizados para testar os elementos gráficos do seu aplicativo. Precisamos adicionar a dependência flutter_driver que irá nos auxiliar nesse processo.
  • 20. Testes de UI Após a instalação dessa dependência, podemos escrever nossos testes de forma ágil e trabalhar com documentação utilizando gherkin. Podemos adicionar mais uma dependência ao nosso projeto, flutter_gherkin. Então, criamos uma nova estrutura para os nossos testes.
  • 24. D Ú V I D A S ?
  • 25. QA Lead Jhonatas Matos Linkedin: https://www.linkedin.com/in/jhonatas-santos-matos/ Github: https://github.com/jhowsantos Email Corporativo: jhonatas.matos@gok.digital
 Email Pessoal: jhonatas.santos.matos@gmail.com