SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Testes em flutter -
Teoria e Workshop
prático
Fausto Blanco @ Banco BV
Fausto Blanco
Amazonense, Manauara ( Com coração nordestino )
~15 Anos de Mercado ( Back, Front, Mobile, Infra )
Administrador do Angular Brasil
Speaker, Mobile Platform Engineer, Security Engineer
Analista Sr @ Banco BV
Nossos temas hoje na parte teórica
O que são testes?
O que testar?
Quando testar?
Como testar?
Tipos de teste
Visão geral: O que são testes?
Testes são um processo de execução de casos de teste para verificar se o software funciona
conforme o esperado.
Os casos de teste são uma descrição de como o software deve ser testado.
O que testar?
Todos os aspectos do software devem ser testados, incluindo:
● Funcionalidade: O software faz o que foi projetado para fazer?
● Usabilidade: O software é fácil de usar?
● Desempenho: O software é rápido e responsivo?
● Segurança: O software é protegido contra ataques?
Quando testar?
Os testes devem ser realizados ao longo do processo de desenvolvimento de software.
Os testes no início do processo ajudam a identificar erros early on, evitando que eles se tornem
mais caros para corrigir posteriormente.
Como testar?
Existem várias técnicas de teste que podem ser utilizadas, incluindo:
● Teste manual: Os testes são executados por humanos.
● Teste automatizado: Os testes são executados por um computador.
Tipos de teste
Existem vários tipos de testes que podem ser realizados, incluindo:
● Teste de unidade: Testes de unidades individuais de código.
● Teste de integração: Testes de como as unidades de código se comunicam entre si.
● Teste de sistema: Testes de como todo o sistema funciona.
● Teste de aceitação: Testes realizados pelos usuários para verificar se o software atende às
suas necessidades.
Tipos de teste: Flutter
Existem vários tipos de testes que podem ser realizados, incluindo:
● Teste de unidade: Testes de unidades individuais de código. ( handless )
● Testes de Widget: Testes de Widgets individuais em código. ( handless )
● Teste de integração ( e2e ) : Testes de como as unidades de código se comunicam entre si. ( mobile )
● Teste de Ouro / Golden Test: Comparativo pixel perfect das telas. ( mobile )
● Teste de Desempenho/Performance: Checagem frame a frame se você está tendo perda de frames. ( mobile )
Pré prática: O que é Flutter?
Flutter é um framework de desenvolvimento de software para aplicativos móveis.
O Flutter é baseado em widgets, que são blocos de construção reutilizáveis que
podem ser usados para criar interfaces de usuário.
Flutter
Exercícios
Imagine a aplicação que você quer testar
App de mobilidade
App de Banco
App de Delivery
App de e-commerce
Como ele deve se
comportar em um
computador desktop
Como ele deve se
comportar em um
smartphone
Como ele deve se
comportar no modo
paisagem em um
smartphone
E se fosse rodar em
wearables
Ou em um tablet
Ou no modo
paisagem em um
tablet
E se for um wearable
redondo ?
E se for um wearable
quadrado ?
Prática 1
https://codelabs.developers.google.com/codelabs/flutter-app-testing
Prática 2
Vamos implementar um botão:
Regras:
● Tem que ter 1 temas diferentes ( Padrão )
● O botão tem que ter a possibilidade de ter icone
● O botão tem que ter 2 variantes para cada tema ( Outline e loading )
● O botão tem que ao estar em estado de loading não executar a ação de sua função
● Tudo tem que ser testado, manual e automaticamente
Bonus: Repositório
https://github.com/faustobdls/automation_test_workshop
Coverage
brew install lcov
npm install -g http-server
flutter test --coverage
genhtml coverage/lcov.info -o coverage/html
http-server coverage/html/
Prática 1
https://codelabs.developers.google.com/codelabs/flutter-app-testing
Obrigado!
https://linktr.ee/faustobdls

Mais conteúdo relacionado

Semelhante a Flutter teste workshop

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 - EATS Manaus 2014
Teste para dispositivos móveis - EATS Manaus 2014Teste para dispositivos móveis - EATS Manaus 2014
Teste para dispositivos móveis - EATS Manaus 2014Luana Lobão
 
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
 
Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016Bruno Maomeh
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IJoão Lourenço
 
2° Workshop de Testes em Uberlândia - Treinamento em Automação de Testes com ...
2° Workshop de Testes em Uberlândia - Treinamento em Automação de Testes com ...2° Workshop de Testes em Uberlândia - Treinamento em Automação de Testes com ...
2° Workshop de Testes em Uberlândia - Treinamento em Automação de Testes com ...João Júnior
 
Treinamento Appium - Introdução
Treinamento Appium - IntroduçãoTreinamento Appium - Introdução
Treinamento Appium - IntroduçãoAndré Salla
 
Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de softwareJoyce Bastos
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareCamilo de Melo
 
Kyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareKyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareFábio Nogueira de Lucena
 
Testes para aplicativos movéis
Testes para aplicativos movéisTestes para aplicativos movéis
Testes para aplicativos movéisLeandro Rodrigues
 

Semelhante a Flutter teste workshop (20)

Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
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
 
Teste para dispositivos móveis - EATS Manaus 2014
Teste para dispositivos móveis - EATS Manaus 2014Teste para dispositivos móveis - EATS Manaus 2014
Teste para dispositivos móveis - EATS Manaus 2014
 
DevQA: UI Testing , como fazer?
DevQA: UI Testing , como fazer?DevQA: UI Testing , como fazer?
DevQA: UI Testing , como fazer?
 
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
 
Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de software
Teste de software Teste de software
Teste de software
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
 
2° Workshop de Testes em Uberlândia - Treinamento em Automação de Testes com ...
2° Workshop de Testes em Uberlândia - Treinamento em Automação de Testes com ...2° Workshop de Testes em Uberlândia - Treinamento em Automação de Testes com ...
2° Workshop de Testes em Uberlândia - Treinamento em Automação de Testes com ...
 
Por que aplicações falham
Por que aplicações falham Por que aplicações falham
Por que aplicações falham
 
Palestra TDD Javou! #08 2016
Palestra TDD Javou! #08 2016Palestra TDD Javou! #08 2016
Palestra TDD Javou! #08 2016
 
Treinamento Appium - Introdução
Treinamento Appium - IntroduçãoTreinamento Appium - Introdução
Treinamento Appium - Introdução
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de software
 
App Inventor: Eu escolho você!
App Inventor: Eu escolho você!App Inventor: Eu escolho você!
App Inventor: Eu escolho você!
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Kyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareKyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de software
 
Testes para aplicativos movéis
Testes para aplicativos movéisTestes para aplicativos movéis
Testes para aplicativos movéis
 

Flutter teste workshop

  • 1. Testes em flutter - Teoria e Workshop prático Fausto Blanco @ Banco BV
  • 2. Fausto Blanco Amazonense, Manauara ( Com coração nordestino ) ~15 Anos de Mercado ( Back, Front, Mobile, Infra ) Administrador do Angular Brasil Speaker, Mobile Platform Engineer, Security Engineer Analista Sr @ Banco BV
  • 3. Nossos temas hoje na parte teórica O que são testes? O que testar? Quando testar? Como testar? Tipos de teste
  • 4. Visão geral: O que são testes? Testes são um processo de execução de casos de teste para verificar se o software funciona conforme o esperado. Os casos de teste são uma descrição de como o software deve ser testado.
  • 5. O que testar? Todos os aspectos do software devem ser testados, incluindo: ● Funcionalidade: O software faz o que foi projetado para fazer? ● Usabilidade: O software é fácil de usar? ● Desempenho: O software é rápido e responsivo? ● Segurança: O software é protegido contra ataques?
  • 6. Quando testar? Os testes devem ser realizados ao longo do processo de desenvolvimento de software. Os testes no início do processo ajudam a identificar erros early on, evitando que eles se tornem mais caros para corrigir posteriormente.
  • 7. Como testar? Existem várias técnicas de teste que podem ser utilizadas, incluindo: ● Teste manual: Os testes são executados por humanos. ● Teste automatizado: Os testes são executados por um computador.
  • 8. Tipos de teste Existem vários tipos de testes que podem ser realizados, incluindo: ● Teste de unidade: Testes de unidades individuais de código. ● Teste de integração: Testes de como as unidades de código se comunicam entre si. ● Teste de sistema: Testes de como todo o sistema funciona. ● Teste de aceitação: Testes realizados pelos usuários para verificar se o software atende às suas necessidades.
  • 9. Tipos de teste: Flutter Existem vários tipos de testes que podem ser realizados, incluindo: ● Teste de unidade: Testes de unidades individuais de código. ( handless ) ● Testes de Widget: Testes de Widgets individuais em código. ( handless ) ● Teste de integração ( e2e ) : Testes de como as unidades de código se comunicam entre si. ( mobile ) ● Teste de Ouro / Golden Test: Comparativo pixel perfect das telas. ( mobile ) ● Teste de Desempenho/Performance: Checagem frame a frame se você está tendo perda de frames. ( mobile )
  • 10. Pré prática: O que é Flutter? Flutter é um framework de desenvolvimento de software para aplicativos móveis. O Flutter é baseado em widgets, que são blocos de construção reutilizáveis que podem ser usados para criar interfaces de usuário.
  • 12. Exercícios Imagine a aplicação que você quer testar App de mobilidade App de Banco App de Delivery App de e-commerce
  • 13. Como ele deve se comportar em um computador desktop
  • 14. Como ele deve se comportar em um smartphone
  • 15. Como ele deve se comportar no modo paisagem em um smartphone
  • 16. E se fosse rodar em wearables
  • 17. Ou em um tablet
  • 18. Ou no modo paisagem em um tablet
  • 19. E se for um wearable redondo ?
  • 20. E se for um wearable quadrado ?
  • 22. Prática 2 Vamos implementar um botão: Regras: ● Tem que ter 1 temas diferentes ( Padrão ) ● O botão tem que ter a possibilidade de ter icone ● O botão tem que ter 2 variantes para cada tema ( Outline e loading ) ● O botão tem que ao estar em estado de loading não executar a ação de sua função ● Tudo tem que ser testado, manual e automaticamente
  • 24. Coverage brew install lcov npm install -g http-server flutter test --coverage genhtml coverage/lcov.info -o coverage/html http-server coverage/html/