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
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.