SlideShare une entreprise Scribd logo
1  sur  50
Testes
Automatizados de
Apps na Google
Cloud
/in/barbaracabral
Oi!
Bárbara Cabral
Apaixonada por Testes, Qualidade, Cultura Ágil e DevOps
+ 15 anos em TI
+ 8 anos Agile Testing
/in/barbaracabral
@barbarapcabral
2
E...
Projetos / Produtos
+ Unimed Florianópolis, Governo de SC,
Tractebel, Eletrosul, Celesc, Ceran, CPFL,
SSP-SC, Pleno Card, Clear Priority,
Lollapalooza, CPqD, Resultados Digitais,
Caixa Econômica Federal, Bravi,
Nexxera, TheAA e Amido (UK), Cogni,
Essentia Pharma, etc.
3
Comunidades
4
“O real valor das
comunidades é o poder
de fazer a diferença na
vida das pessoas, de
ajudar, influenciar, apoiar,
unir, ensinar e aprender.
5
Agenda
6
● Intro Google Cloud
● Firebase
● Bancos de Dados de Apps
○ Real-time Database
○ Firestore
● Tecnologias de Desenvolvimento
● Automação de Testes
● Ionic AppFlow
1.
Intro
Google Cloud
O feijão-com-arroz!
Google Cloud
● Máquinas virtuais & Ativos físicos
● Data-centers:
○ Região Central dos EUA
○ Europa Ocidental
○ Leste da Ásia.
● Acesso aos recursos por meio de serviços
● Cada projeto do GCP tem:
○ O nome, escolhido por você;
○ O código do projeto, fornecido por você ou
pelo GCP;
○ O número do projeto, fornecido pelo GCP.
8
1. Console
2. Interface para linhas
de comando
○ gcloud (orquestra
cloud em local)
○ gsutil (storage)
○ bq (big query)
3. Bibliotecas
Recursos: guias de início
rápido & referências
9
Componentes
2.
Firebase
Firebase is a mobile and web
application development platform
developed by Firebase, Inc. in 2011,
then acquired by Google in 2014.
Firebase kits (alguns)
11
1
A
nalytics
2
A
utenticação
3
Relatório
de
Erros
1Realtim
e
2
Storage
3
TestLab
Firebase panel
12
Firebase Auth
13
3.
Bancos de
Dados
● Real-time Database
● Firestore
Real-Time DB
- BD NoSQL
- Estrutura de dados simplificada
- Operações em tempo real
- Dados armazenados como JSON
- Sincronização Off-line (em cache)
- Integração com Firebase Auth
- Escalamento requer fragmentação do BD
- Difícil consultas com mais de 3 níveis
15
RealTime Database
16
Firestore
17
- Armazena dados como Coleções de
Documentos
- Tem recursos do Realtime Database
- Consultas mais avançadas e rápidas
- Dados complexos e hierárquicos mais
fáceis de organizar
- Consultas indexadas
- Escalonamento Automático
18
Firestore
4.
Tecnologias de
Desenvolvimento
O feijão-com-arroz!
Tecnologias utilizadas
Tecnologias utilizadas
Kit: Ionic 4 + Angular 8
Typescript + nodeJS
UI Toolkit
Mobile & Web
Integra com Angular & React
Simples criar um App
Command line interface
Ionic: cria estrutura inicial de Testes
- Protractor (E2E)
- Karma
- Jasmine
21
$ npm install -g @ionic/cli
$ ionic start myIonicApp sidemenu
$ ionic serve
#executa testes unitários
$ ionic test
#executa os testes com protractor
$ ionic e2e
#executa dentro da pasta e2e
$ cd e2e
$ protractor protractor.conf.js
Place your screenshot here
22
Página Home
Estrutura
do App
Place your screenshot here
23
Página Home
Side Menu
Estrutura
do App
Place your screenshot here
24
Página List
Estrutura
do App
Estrutura do App
25
Testes de UI (e2e)
Testes Unitários por página
Testes do App
5.
Automação de
Testes
O feijão-com-arroz!
Iniciando o Firebase
27
$ npm install -g firebase-tools
$ firebase login
$ firebase init
1. Instalar o Firestore
2. Exportar as credenciais do console do
Firebase
3. Importar as bibliotecas no App
Firestore (BD)
28
$ npm install angularfire2 firebase --save
1. Instalar o Firestore
2. Exportar as credenciais do console do
Firebase
Project Settings > General Settings > Your
Apps > Firebase SDK snippet > Config
3. Importar as bibliotecas no App
Firestore (BD)
29
1. Instalar o Firestore
2. Exportar as credenciais do console do
Firebase
3. Importar as bibliotecas no App
Onde ./credentias.ts é criado com as
firebaseConfigs (passo anterior)
Firestore (BD)
30
Testes
- Unitários
- API/Serviços
- End-to-end
●
31
Testes Unit
32https://angular.io/api/core/testing/
Jasmine
- BDD framework para testar
Javascript
- Não usa sintaxe gherkin
TestBed
- Configura e inicializa o
ambiente de testes do App
Testes Unitários appComponent.spec.js
33https://angular.io/api/core/testing/
Executando os Testes
34
$ npm test
35
Testes de UI (Protractor)
36
Testes de UI
37
Testes de UI
#instala o HTML Reporter
$ npm install protractor-beautiful-reporter --save-dev
#Executa os Testes
$ npm run e2e
6.
Ionic AppFlow
Ionic AppFlow
39
- Solução para Automação do workflow
- Automação de pipeline default
- Integra o com o codigo fonte no git
(github, gitlab, bitbucket)
- Automaticamente dispara o build
quando sobe código novo
40
Firebase Quality Tools
41
1. Crashlytics
Log de erros, agrupamento de falhas,
monitoramento
2. Performance
Tempos de resposta das requisições HTTP
- Trace de abertura do App
- Trace em primeiro e segundo plano
Firebase Quality Tools
42
4. TestLab
Usa dispositivos em execução no data center
do Google para testar seu App em
configurações que são usadas no mundo real.
- Executa testes do Espresso e do UI
Automator 2.0 em apps para Android
- Executa testes do XCTest em apps para iOS
Firebase Quality Tools
43
5. App Distribution
Facilita a distribuição dos seus aplicativos
para testadores confiáveis
- Envio de convites via email com instruções
- Feedbacks com antecedência e frequência
- Uso do Crashlytics para monitorar o uso
Referências
● Exemplo no repo
● Firebase
● Cloud Firestore
● Ionic Framework
● Crashlytics, TestLab, Performance
● Angular 8
● Angular Core Testing
● Protractor
● Jasmine + Karma
44
7.
Finalizando…
Um convite!
Compartilhe!
#solidariedade
#covid19
#jorndacolaborativa
#jornadatalks
47
Compartilhe!
#solidariedade
#covid19
#jorndacolaborativa
#jornadatalks
48
49
Livros da Comunidades
Obrigada!
Contato
● @barbarapcabral
● /in/barbaracabral
● barbaracabral@gmail.com 50

Contenu connexe

Similaire à [TheBugConference] Testes automatizados de aplicativos na google cloud

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
Eliane Collins
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM
Adriano Bertucci
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
Igor Abade
 

Similaire à [TheBugConference] Testes automatizados de aplicativos na google cloud (20)

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
 
Como desenvolver softwares utilizando tecnologias microsoft
Como desenvolver softwares utilizando tecnologias microsoftComo desenvolver softwares utilizando tecnologias microsoft
Como desenvolver softwares utilizando tecnologias microsoft
 
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
 
Scrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes Automatizados
Scrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes AutomatizadosScrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes Automatizados
Scrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes Automatizados
 
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 
Falando sobre DevOps no azure
Falando sobre DevOps no azureFalando sobre DevOps no azure
Falando sobre DevOps no azure
 
Treinamento Android Embarcado
Treinamento Android EmbarcadoTreinamento Android Embarcado
Treinamento Android Embarcado
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM
 
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
 
Titanium appacelerator
Titanium appaceleratorTitanium appacelerator
Titanium appacelerator
 
Robotium_Sikuli
Robotium_SikuliRobotium_Sikuli
Robotium_Sikuli
 
Ionic 2/3 + Firebase
Ionic 2/3 + FirebaseIonic 2/3 + Firebase
Ionic 2/3 + Firebase
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu SoftwareDevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
 
Interoperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeInteroperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente Mainframe
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
Cross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appiumCross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appium
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous Delivery
 

Plus de Bárbara Cabral da Conceição, CTFL

Plus de Bárbara Cabral da Conceição, CTFL (20)

Implementando indicadores com google apps script
Implementando indicadores com google apps scriptImplementando indicadores com google apps script
Implementando indicadores com google apps script
 
Saindo do zero com DevOps
Saindo do zero com DevOpsSaindo do zero com DevOps
Saindo do zero com DevOps
 
Testes de ui com docker DevFest2018 - GDG Floripa
Testes de ui com docker DevFest2018 - GDG FloripaTestes de ui com docker DevFest2018 - GDG Floripa
Testes de ui com docker DevFest2018 - GDG Floripa
 
Khomp testes complexos!
Khomp   testes complexos!Khomp   testes complexos!
Khomp testes complexos!
 
Agile trends 2018 - Usando Especificação por Exemplos para melhorar a eficáci...
Agile trends 2018 - Usando Especificação por Exemplos para melhorar a eficáci...Agile trends 2018 - Usando Especificação por Exemplos para melhorar a eficáci...
Agile trends 2018 - Usando Especificação por Exemplos para melhorar a eficáci...
 
[Testes] frameworks de testes end to-end baseados em node js
[Testes] frameworks de testes end to-end baseados em node js [Testes] frameworks de testes end to-end baseados em node js
[Testes] frameworks de testes end to-end baseados em node js
 
[Node js] frameworks de testes end to-end baseados em nodejs
[Node js] frameworks de testes end to-end baseados em nodejs [Node js] frameworks de testes end to-end baseados em nodejs
[Node js] frameworks de testes end to-end baseados em nodejs
 
O que é influência afinal?
O que é influência afinal?O que é influência afinal?
O que é influência afinal?
 
Introdução à Metodologias de Desenvolvimento Orientadas à Testes com Exemplos...
Introdução à Metodologias de Desenvolvimento Orientadas à Testes com Exemplos...Introdução à Metodologias de Desenvolvimento Orientadas à Testes com Exemplos...
Introdução à Metodologias de Desenvolvimento Orientadas à Testes com Exemplos...
 
O que Continuous delivery significa para QA
O que Continuous delivery significa para QAO que Continuous delivery significa para QA
O que Continuous delivery significa para QA
 
Carreira de QA
Carreira de QA Carreira de QA
Carreira de QA
 
Data driven quality - tdc2016
Data driven quality - tdc2016Data driven quality - tdc2016
Data driven quality - tdc2016
 
Agile Trends: Qualidade orientada a Dados
Agile Trends: Qualidade orientada a DadosAgile Trends: Qualidade orientada a Dados
Agile Trends: Qualidade orientada a Dados
 
Lean software testing
Lean software testing Lean software testing
Lean software testing
 
Overview de QA
Overview de QA Overview de QA
Overview de QA
 
UX testing - Onde podemos contribnuir?
UX testing - Onde podemos contribnuir?UX testing - Onde podemos contribnuir?
UX testing - Onde podemos contribnuir?
 
Apresentação testes white box
Apresentação testes white boxApresentação testes white box
Apresentação testes white box
 
Avaliação da Qualidade da Informação em empresa de TI
Avaliação da Qualidade da Informação em empresa de TIAvaliação da Qualidade da Informação em empresa de TI
Avaliação da Qualidade da Informação em empresa de TI
 
Data Quality Through Model Quality: A Quality Model for Measuring and Improvi...
Data Quality Through Model Quality: A Quality Model for Measuring and Improvi...Data Quality Through Model Quality: A Quality Model for Measuring and Improvi...
Data Quality Through Model Quality: A Quality Model for Measuring and Improvi...
 
Problemas de Qualidade da Informação e Abordagens Atuais
Problemas de Qualidade da Informação e Abordagens AtuaisProblemas de Qualidade da Informação e Abordagens Atuais
Problemas de Qualidade da Informação e Abordagens Atuais
 

[TheBugConference] Testes automatizados de aplicativos na google cloud