SlideShare uma empresa Scribd logo
1 de 45
Baixar para ler offline
Globalcode – Open4education
Implementando uma Device Farm Android
Thialison Souza
QA Engineer na CargoX
Rafael Amaral
QA Engineer na Capco
Globalcode – Open4education
Um Pouco Sobre...
- QA Engineer na Capco
- Organizador do QA Sampa Meeting
- Apaixonado por viagens
- Adoro viajar para comer :p
@amaralrflRafael Amaral
Globalcode – Open4education
Um Pouco Sobre...
- QA Engineer na CargoX
- Organizador do QA Sampa Meeting
- Preciso de café para ter um bom desempenho
- Breve experiência na China
@thialison
github.com/Thialison
linkedin.com/in/thialison
Thialison Souza
Globalcode – Open4education
Agenda
• O que é uma Device Farm?
• Motivação
• Apresentando o STF
• Implementando sua Farm
• Mão na Massa
Globalcode – Open4education
O que é uma Farm de Devices?
Globalcode – Open4education
O que é uma Farm de Devices?
Globalcode – Open4education
O que é uma Farm de Devices?
É um serviço que possibilita:
• Interagir com diversos dispositivos;
Globalcode – Open4education
O que é uma Farm de Devices?
É um serviço que possibilita:
• Interagir com diversos dispositivos;
• Realizar testes manuais e automatizados;
Globalcode – Open4education
O que é uma Farm de Devices?
É um serviço que possibilita:
• Interagir com diversos dispositivos;
• Realizar testes manuais e automatizados;
• Reproduzir bugs;
Globalcode – Open4education
O que é uma Farm de Devices?
É um serviço que possibilita:
• Interagir com diversos dispositivos;
• Realizar testes manuais e automatizados;
• Reproduzir bugs;
• Dependendo da sua farm você pode ter suporte a Android
e iOS;
Globalcode – Open4education
O que é uma Farm de Devices?
É um serviço que possibilita:
• Interagir com diversos dispositivos;
• Realizar testes manuais e automatizados;
• Reproduzir bugs;
• Dependendo da sua farm você pode ter suporte a Android
e iOS;
• Ter acesso a logs e relatórios de execução.
Globalcode – Open4education
Motivação
• Diversos devices disponíveis;
Globalcode – Open4education
Motivação
• Diversos devices disponíveis;
• Maior controle e segurança no uso;
Globalcode – Open4education
Motivação
• Diversos devices disponíveis;
• Maior controle e segurança no uso;
• Inventário de dispositivos;
Globalcode – Open4education
Motivação
• Diversos devices disponíveis;
• Maior controle e segurança no uso;
• Inventário de dispositivos;
• Facilidade no acesso aos devices;
Globalcode – Open4education
Motivação
• Diversos devices disponíveis;
• Maior controle e segurança no uso;
• Inventário de dispositivos;
• Facilidade no acesso aos devices;
• Executar testes nos aparelhos.
Globalcode – Open4education
Opções de Farm
Globalcode – Open4education
Opções de Farm
Globalcode – Open4education
Opções de Farm
Globalcode – Open4education
Opções de Farm
Globalcode – Open4education
Globalcode – Open4education
STF - Smartphone Test Farm
Globalcode – Open4education
STF - Principais Funcionalidades
• Controle remoto de qualquer dispositivo do seu navegador;
Globalcode – Open4education
STF - Principais Funcionalidades
• Controle remoto de qualquer dispositivo do seu navegador;
• Suporta a digitação de texto do seu próprio teclado;
Globalcode – Open4education
STF - Principais Funcionalidades
• Controle remoto de qualquer dispositivo do seu navegador;
• Suporta a digitação de texto do seu próprio teclado;
• Instalação de .apk no device;
Globalcode – Open4education
STF - Principais Funcionalidades
• Controle remoto de qualquer dispositivo do seu navegador;
• Suporta a digitação de texto do seu próprio teclado;
• Instalação de .apk no device;
• Tirar Screenshots;
Globalcode – Open4education
STF - Principais Funcionalidades
• Controle remoto de qualquer dispositivo do seu navegador;
• Suporta a digitação de texto do seu próprio teclado;
• Instalação de .apk no device;
• Tirar Screenshots;
• adb connect;
Globalcode – Open4education
STF - Principais Funcionalidades
• Controle remoto de qualquer dispositivo do seu navegador;
• Suporta a digitação de texto do seu próprio teclado;
• Instalação de .apk no device;
• Tirar Screenshots;
• adb connect;
• Extração de logs.
Globalcode – Open4education
STF - Benefícios
• É Open Source;
Globalcode – Open4education
STF - Benefícios
• É Open Source;
• Suporta as versões 2.3.3 (SDK level 10) a 9.0 (SDK level
28);
Globalcode – Open4education
STF - Benefícios
• É Open Source;
• Suporta as versões 2.3.3 (SDK level 10) a 9.0 (SDK level
28);
• Possui uma interface Web;
Globalcode – Open4education
STF - Benefícios
• É Open Source;
• Suporta as versões 2.3.3 (SDK level 10) a 9.0 (SDK level
28);
• Possui uma interface Web;
• Permite gerenciar seu inventário de dispositivos.
Globalcode – Open4education
O que preciso para fazer uma
Farm com o STF?
Hardware:
• 1 máquina utilizada como
servidor (Preferencialmente um
Mac/Ubuntu)
• 1 ou mais devices Android c/
cabos USB
• 1 Hub USB
Software:
• Node.js >= 6.9 ou < 10.0
• ADB
• Xcode + Command Line Tools (Mac)
• RethinkDB >= 2.2
• GraphicsMagick (para dimensionar
screenshots)
Globalcode – Open4education
Implementando sua Farm
• Acesse o Github do Openstf/stf: https://github.com/openstf/stf
• Siga os passos de instalação.
• Para Mac instale as dependências do projeto com o comando do HomeBrew:
• brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config
• Instalação do Xcode + configuração do Command Line Tools (Mac)
• Vá em Xcode > Preferences > Locations
• Selecione o Command Line Tools.
• Instalando o Openstf:
• npm install -g stf
Globalcode – Open4education
Implementando sua Farm
• Antes de utilizar a aplicação stf é necessário iniciar o rethinkdb, no terminal digite:
rethinkdb
• Agora você possui o ambiente configurado para iniciar o STF, no terminal digite:
• stf local
• Abra o Browser e insira o seguinte url:
• http://localhost:7100
Globalcode – Open4education
STF - Login
Informe seu Nome e
E-mail.
Esses dados serão salvos
no banco de Dados do
RethinkDB.
Globalcode – Open4education
STF - Home
Globalcode – Open4education
STF - Detalhes
Globalcode – Open4education
STF - Controle do device
Globalcode – Open4education
Globalcode – Open4education
STF - Hands On
Globalcode – Open4education
Próximos Passos
• Execução da automação no farm;
• Execução Paralela no farm;
• Criar job no Jenkins.
Globalcode – Open4education
Dúvidas?
Globalcode – Open4education
Referências
https://openstf.io/
https://github.com/openstf/stf
https://adtmag.com/blogs/dev-watch/2017/05/device-clouds.as
px
Implementando uma Device Farm Android com STF

Mais conteúdo relacionado

Semelhante a Implementando uma Device Farm Android com STF

WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015Adriano Schmidt
 
Criando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumCriando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumElias Nogueira
 
Alcançando qualidade de software através de entrega contínua
Alcançando qualidade de software através de entrega contínuaAlcançando qualidade de software através de entrega contínua
Alcançando qualidade de software através de entrega contínuaSamanta Cicilia
 
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosContinuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosSamanta Cicilia
 
TDC2016POA | Trilha Web - Realidade Virtual com WebVR
TDC2016POA | Trilha Web -  Realidade Virtual com WebVRTDC2016POA | Trilha Web -  Realidade Virtual com WebVR
TDC2016POA | Trilha Web - Realidade Virtual com WebVRtdc-globalcode
 
Criando uma grid para execução de teste automatizado funcional e e2e
Criando uma grid para execução de teste automatizado funcional e e2eCriando uma grid para execução de teste automatizado funcional e e2e
Criando uma grid para execução de teste automatizado funcional e e2eElias Nogueira
 
TDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua APITDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua APIEdlaine Zamora
 
Computação Física com Arduino/Program-ME e a Plataforma Java
Computação Física com Arduino/Program-ME e a Plataforma JavaComputação Física com Arduino/Program-ME e a Plataforma Java
Computação Física com Arduino/Program-ME e a Plataforma JavaDr. Spock
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começouJose Wilker
 
Testes para Android de ponta a ponta
Testes para Android de ponta a pontaTestes para Android de ponta a ponta
Testes para Android de ponta a pontaElias Nogueira
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouJose Wilker
 
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosTDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosStefan Teixeira
 
Minicurso Testes em .NET - Globalcode Vinicius Quaiato
Minicurso Testes em .NET - Globalcode Vinicius QuaiatoMinicurso Testes em .NET - Globalcode Vinicius Quaiato
Minicurso Testes em .NET - Globalcode Vinicius QuaiatoVinicius Quaiato
 
TDC2018SP | Trilha Mobile - Precisamos falar sobre Visual Studio App Center
TDC2018SP | Trilha Mobile - Precisamos falar sobre Visual Studio App CenterTDC2018SP | Trilha Mobile - Precisamos falar sobre Visual Studio App Center
TDC2018SP | Trilha Mobile - Precisamos falar sobre Visual Studio App Centertdc-globalcode
 
[DevOps Carioca] Continuous Delivery
[DevOps Carioca]  Continuous Delivery[DevOps Carioca]  Continuous Delivery
[DevOps Carioca] Continuous DeliverySamanta Cicilia
 
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horasSamanta Cicilia
 
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 appiumMaximiliano Alves
 

Semelhante a Implementando uma Device Farm Android com STF (20)

WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015
 
Criando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumCriando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com Appium
 
Alcançando qualidade de software através de entrega contínua
Alcançando qualidade de software através de entrega contínuaAlcançando qualidade de software através de entrega contínua
Alcançando qualidade de software através de entrega contínua
 
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosContinuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
 
TDC2016POA | Trilha Web - Realidade Virtual com WebVR
TDC2016POA | Trilha Web -  Realidade Virtual com WebVRTDC2016POA | Trilha Web -  Realidade Virtual com WebVR
TDC2016POA | Trilha Web - Realidade Virtual com WebVR
 
Criando uma grid para execução de teste automatizado funcional e e2e
Criando uma grid para execução de teste automatizado funcional e e2eCriando uma grid para execução de teste automatizado funcional e e2e
Criando uma grid para execução de teste automatizado funcional e e2e
 
Metralhando sua API
Metralhando sua APIMetralhando sua API
Metralhando sua API
 
TDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua APITDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua API
 
Computação Física com Arduino/Program-ME e a Plataforma Java
Computação Física com Arduino/Program-ME e a Plataforma JavaComputação Física com Arduino/Program-ME e a Plataforma Java
Computação Física com Arduino/Program-ME e a Plataforma Java
 
IC-Testes Invasao
IC-Testes InvasaoIC-Testes Invasao
IC-Testes Invasao
 
FISL14: Android sem gastarenergia
FISL14: Android sem gastarenergiaFISL14: Android sem gastarenergia
FISL14: Android sem gastarenergia
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começou
 
Testes para Android de ponta a ponta
Testes para Android de ponta a pontaTestes para Android de ponta a ponta
Testes para Android de ponta a ponta
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começou
 
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosTDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
 
Minicurso Testes em .NET - Globalcode Vinicius Quaiato
Minicurso Testes em .NET - Globalcode Vinicius QuaiatoMinicurso Testes em .NET - Globalcode Vinicius Quaiato
Minicurso Testes em .NET - Globalcode Vinicius Quaiato
 
TDC2018SP | Trilha Mobile - Precisamos falar sobre Visual Studio App Center
TDC2018SP | Trilha Mobile - Precisamos falar sobre Visual Studio App CenterTDC2018SP | Trilha Mobile - Precisamos falar sobre Visual Studio App Center
TDC2018SP | Trilha Mobile - Precisamos falar sobre Visual Studio App Center
 
[DevOps Carioca] Continuous Delivery
[DevOps Carioca]  Continuous Delivery[DevOps Carioca]  Continuous Delivery
[DevOps Carioca] Continuous Delivery
 
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horas
 
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
 

Implementando uma Device Farm Android com STF