SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
UI AutoMonkey
Teste Automatizado iOS
Silas Marques
Analista deTeste de Software
br.linkedin.com/in/silasmarques
@silas_marques
bugs-busters.blogspot.com.br/
O que é o Instruments
É uma ferramenta que faz parte doconjuntodo XCode
• Utilizandoo Instruments é possível:
• examina comportamentosdoWi-Fi e Bluetooth
• realiza testede desempenho
• detectapossíveis problemasno uso dememória
• identifica maneiras de otimizaro app no consumodabateria
• e etc
1. Alterna entre código e
o log de execução do
teste
2. Criação/manutenção
do script de teste
3. Executar, gravar e
parar o teste
4. Gerenciar scripts de
teste
1
2
4
3
O que preciso saber
• A linguagem utilizada é o JavaScript
• Precisa do fonte do app
• O script é gravado navegando pelo app (no dispositivo ou simulador)
• Podemos utilizar Page Objects
• Podemos utilizar o Test Suite
O que é UI AutoMonkey
• É um script onde é executado no emulador ou no próprio dispositivo, uma
série de eventos aleatórios, como clique, toques, rotações etc. no aplicativo
• A vantagem do UI Automonkey é de estressar o aplicativo aleatoriamente
atrás de bugs que com o teste normal não iria encontrar (ou seria muito
cansativo e custoso)
• Nesse trecho de código, determinei a área onde os toques são possíveis
• Está configurado apenas para iPhone 5, 5s e 5c que tem o mesmo tamanho
de tela
• Essa é a funcionalidade de zoom na foto
• Aqui também determinei a área para dar o zoom na foto
Essa função trata a
orientação da foto (paisagem
ou retrato).
O script fica alternando a
orientação da foto simulando
um usuário.
Mas encontrei um grande problema.
Como os toques na tela são aleatórios, como executar a função somente quando a foto
for selecionada?
Fiz uma outra função que trata apenas da funcionalidade foto.
Nessa função verifico se o elemento fechar está visível na tela (que é um
elemento específico da foto).
Se tiver visível, executo a função fotoZoom e fotoOrientacao
Até agora, as funções criadas só executariam uma única vez.
Para "macaco" funcionar, fiz um outro script que faz o loop de quantas vezes
quero que o teste seja executado.
Obrigado

Mais conteúdo relacionado

Destaque

Trippuzzle - Projeto vencedor Imagine Cup 2009, Design
Trippuzzle - Projeto vencedor Imagine Cup 2009, DesignTrippuzzle - Projeto vencedor Imagine Cup 2009, Design
Trippuzzle - Projeto vencedor Imagine Cup 2009, DesignHenrique Perticarati
 
UXConfBR 2016 / Rodrigo Quaresma
UXConfBR 2016 / Rodrigo QuaresmaUXConfBR 2016 / Rodrigo Quaresma
UXConfBR 2016 / Rodrigo QuaresmaRodrigo Quaresma
 
Corra scrum master, corra para saber mais
Corra scrum master, corra para saber maisCorra scrum master, corra para saber mais
Corra scrum master, corra para saber maisRafael Barbosa Camargo
 
Aula 3 - Minicurso sobre Design Centrado no Usuário
Aula 3 - Minicurso sobre Design Centrado no UsuárioAula 3 - Minicurso sobre Design Centrado no Usuário
Aula 3 - Minicurso sobre Design Centrado no UsuárioErico Fileno
 
Aula 2 - Minicurso sobre Design Centrado no Usuário
Aula 2 - Minicurso sobre Design Centrado no UsuárioAula 2 - Minicurso sobre Design Centrado no Usuário
Aula 2 - Minicurso sobre Design Centrado no UsuárioErico Fileno
 
Workshop - Service Design
Workshop - Service DesignWorkshop - Service Design
Workshop - Service DesignErico Fileno
 
Ebai 2011 pratique_o_que_voce_prega
Ebai 2011 pratique_o_que_voce_pregaEbai 2011 pratique_o_que_voce_prega
Ebai 2011 pratique_o_que_voce_pregaLaura Lessa
 
Design Thinking e Jornadas do Cliente
Design Thinking e Jornadas do ClienteDesign Thinking e Jornadas do Cliente
Design Thinking e Jornadas do ClienteDTStartups
 
Interatividade - Projeto TV Digital - Social
Interatividade - Projeto TV Digital - SocialInteratividade - Projeto TV Digital - Social
Interatividade - Projeto TV Digital - SocialMarco Munhoz
 
Beyond Responsiveness - Prague 2012
Beyond Responsiveness - Prague 2012Beyond Responsiveness - Prague 2012
Beyond Responsiveness - Prague 2012Eric Reiss
 
A Arte de Materializar as Decisões de Negócios - #TheDevConf 2015
A Arte de Materializar as Decisões de Negócios - #TheDevConf 2015A Arte de Materializar as Decisões de Negócios - #TheDevConf 2015
A Arte de Materializar as Decisões de Negócios - #TheDevConf 2015Thiago Esser
 
Arquitetura da Informação sem Wireframe
Arquitetura da Informação sem WireframeArquitetura da Informação sem Wireframe
Arquitetura da Informação sem WireframeRodrigo Freese Gonzatto
 
Usabilidade & heurísticas para a todos guiar!
Usabilidade & heurísticas para a todos guiar!Usabilidade & heurísticas para a todos guiar!
Usabilidade & heurísticas para a todos guiar!Henrique Perticarati
 
The hybrids are coming (John Whalen)
The hybrids are coming (John Whalen)The hybrids are coming (John Whalen)
The hybrids are coming (John Whalen)uxpa-dc
 
Dark Patterns in UX
Dark Patterns in UXDark Patterns in UX
Dark Patterns in UXNomensa
 
Dark patterns - An Overview for Brand Owners
Dark patterns - An Overview for Brand OwnersDark patterns - An Overview for Brand Owners
Dark patterns - An Overview for Brand OwnersHarry Brignull
 

Destaque (20)

Trippuzzle - Projeto vencedor Imagine Cup 2009, Design
Trippuzzle - Projeto vencedor Imagine Cup 2009, DesignTrippuzzle - Projeto vencedor Imagine Cup 2009, Design
Trippuzzle - Projeto vencedor Imagine Cup 2009, Design
 
A ux do dia a dia
A ux do dia a diaA ux do dia a dia
A ux do dia a dia
 
UXConfBR 2016 / Rodrigo Quaresma
UXConfBR 2016 / Rodrigo QuaresmaUXConfBR 2016 / Rodrigo Quaresma
UXConfBR 2016 / Rodrigo Quaresma
 
Corra scrum master, corra para saber mais
Corra scrum master, corra para saber maisCorra scrum master, corra para saber mais
Corra scrum master, corra para saber mais
 
Aula 3 - Minicurso sobre Design Centrado no Usuário
Aula 3 - Minicurso sobre Design Centrado no UsuárioAula 3 - Minicurso sobre Design Centrado no Usuário
Aula 3 - Minicurso sobre Design Centrado no Usuário
 
Aula 2 - Minicurso sobre Design Centrado no Usuário
Aula 2 - Minicurso sobre Design Centrado no UsuárioAula 2 - Minicurso sobre Design Centrado no Usuário
Aula 2 - Minicurso sobre Design Centrado no Usuário
 
Workshop - Service Design
Workshop - Service DesignWorkshop - Service Design
Workshop - Service Design
 
Service Thinking
Service ThinkingService Thinking
Service Thinking
 
Ebai 2011 pratique_o_que_voce_prega
Ebai 2011 pratique_o_que_voce_pregaEbai 2011 pratique_o_que_voce_prega
Ebai 2011 pratique_o_que_voce_prega
 
Design Thinking e Jornadas do Cliente
Design Thinking e Jornadas do ClienteDesign Thinking e Jornadas do Cliente
Design Thinking e Jornadas do Cliente
 
TV + interatividade
TV + interatividadeTV + interatividade
TV + interatividade
 
Interatividade - Projeto TV Digital - Social
Interatividade - Projeto TV Digital - SocialInteratividade - Projeto TV Digital - Social
Interatividade - Projeto TV Digital - Social
 
Beyond Responsiveness - Prague 2012
Beyond Responsiveness - Prague 2012Beyond Responsiveness - Prague 2012
Beyond Responsiveness - Prague 2012
 
Segurança em P2P
Segurança em P2PSegurança em P2P
Segurança em P2P
 
A Arte de Materializar as Decisões de Negócios - #TheDevConf 2015
A Arte de Materializar as Decisões de Negócios - #TheDevConf 2015A Arte de Materializar as Decisões de Negócios - #TheDevConf 2015
A Arte de Materializar as Decisões de Negócios - #TheDevConf 2015
 
Arquitetura da Informação sem Wireframe
Arquitetura da Informação sem WireframeArquitetura da Informação sem Wireframe
Arquitetura da Informação sem Wireframe
 
Usabilidade & heurísticas para a todos guiar!
Usabilidade & heurísticas para a todos guiar!Usabilidade & heurísticas para a todos guiar!
Usabilidade & heurísticas para a todos guiar!
 
The hybrids are coming (John Whalen)
The hybrids are coming (John Whalen)The hybrids are coming (John Whalen)
The hybrids are coming (John Whalen)
 
Dark Patterns in UX
Dark Patterns in UXDark Patterns in UX
Dark Patterns in UX
 
Dark patterns - An Overview for Brand Owners
Dark patterns - An Overview for Brand OwnersDark patterns - An Overview for Brand Owners
Dark patterns - An Overview for Brand Owners
 

Semelhante a UI AutoMonkey - Teste Automatizado iOS

Treinamento Appium - Introdução
Treinamento Appium - IntroduçãoTreinamento Appium - Introdução
Treinamento Appium - IntroduçãoAndré Salla
 
Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!Ramon Ribeiro Rabello
 
Testes automatizados de interface no Android
Testes automatizados de interface no AndroidTestes automatizados de interface no Android
Testes automatizados de interface no AndroidCarlos Cavalcanti
 
MTC 2017 pirâmide de automação mobile de testes
MTC 2017   pirâmide de automação mobile de testesMTC 2017   pirâmide de automação mobile de testes
MTC 2017 pirâmide de automação mobile de testesWellington Avelino dos Santos
 
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
 
Por que automatizar testes de software?
Por que automatizar testes de software?Por que automatizar testes de software?
Por que automatizar testes de software?Samuel Lourenço
 
Novidades incríveis do Android em 2023
Novidades incríveis do Android em 2023Novidades incríveis do Android em 2023
Novidades incríveis do Android em 2023Nelson Glauber Leal
 
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
 
Testes Funcionais Orientado a Imagem - Sikuli
Testes Funcionais Orientado a Imagem - SikuliTestes Funcionais Orientado a Imagem - Sikuli
Testes Funcionais Orientado a Imagem - SikuliVanilton Pinheiro
 
Java: Introducao ao Swing
Java: Introducao ao SwingJava: Introducao ao Swing
Java: Introducao ao SwingArthur Emanuel
 
DevOps e Apps Mobile: Você realmente se importa?
DevOps e Apps Mobile: Você realmente se importa?DevOps e Apps Mobile: Você realmente se importa?
DevOps e Apps Mobile: Você realmente se importa?Letticia Nicoli
 
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 AutomatizadosStefan Teixeira
 
Testes remotos de usabilidade
Testes remotos de usabilidadeTestes remotos de usabilidade
Testes remotos de usabilidadeLuiz Agner
 
PHP Experience 2016 - [Palestra] Pirâmide de Testes
PHP Experience 2016 - [Palestra] Pirâmide de TestesPHP Experience 2016 - [Palestra] Pirâmide de Testes
PHP Experience 2016 - [Palestra] Pirâmide de TestesiMasters
 
PHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesPHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesDiana Ungaro Arnos
 

Semelhante a UI AutoMonkey - Teste Automatizado iOS (20)

Treinamento Appium - Introdução
Treinamento Appium - IntroduçãoTreinamento Appium - Introdução
Treinamento Appium - Introdução
 
JUnit Experience
JUnit ExperienceJUnit Experience
JUnit Experience
 
10102015164828
1010201516482810102015164828
10102015164828
 
Testes em Flutter.pdf
Testes em Flutter.pdfTestes em Flutter.pdf
Testes em Flutter.pdf
 
Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!
 
Testes automatizados de interface no Android
Testes automatizados de interface no AndroidTestes automatizados de interface no Android
Testes automatizados de interface no Android
 
MTC 2017 pirâmide de automação mobile de testes
MTC 2017   pirâmide de automação mobile de testesMTC 2017   pirâmide de automação mobile de testes
MTC 2017 pirâmide de automação mobile de testes
 
Xamarin UI Test e VS Mobile Center
Xamarin UI Test e VS Mobile CenterXamarin UI Test e VS Mobile Center
Xamarin UI Test e VS Mobile Center
 
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
 
Por que automatizar testes de software?
Por que automatizar testes de software?Por que automatizar testes de software?
Por que automatizar testes de software?
 
Novidades incríveis do Android em 2023
Novidades incríveis do Android em 2023Novidades incríveis do Android em 2023
Novidades incríveis do Android em 2023
 
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 ...
 
Testes Funcionais Orientado a Imagem - Sikuli
Testes Funcionais Orientado a Imagem - SikuliTestes Funcionais Orientado a Imagem - Sikuli
Testes Funcionais Orientado a Imagem - Sikuli
 
Java: Introducao ao Swing
Java: Introducao ao SwingJava: Introducao ao Swing
Java: Introducao ao Swing
 
DevOps e Apps Mobile: Você realmente se importa?
DevOps e Apps Mobile: Você realmente se importa?DevOps e Apps Mobile: Você realmente se importa?
DevOps e Apps Mobile: Você realmente se importa?
 
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
 
Testes remotos de usabilidade
Testes remotos de usabilidadeTestes remotos de usabilidade
Testes remotos de usabilidade
 
DevQA: UI Testing , como fazer?
DevQA: UI Testing , como fazer?DevQA: UI Testing , como fazer?
DevQA: UI Testing , como fazer?
 
PHP Experience 2016 - [Palestra] Pirâmide de Testes
PHP Experience 2016 - [Palestra] Pirâmide de TestesPHP Experience 2016 - [Palestra] Pirâmide de Testes
PHP Experience 2016 - [Palestra] Pirâmide de Testes
 
PHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesPHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de Testes
 

Último

Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 

Último (8)

Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 

UI AutoMonkey - Teste Automatizado iOS

  • 2. Silas Marques Analista deTeste de Software br.linkedin.com/in/silasmarques @silas_marques bugs-busters.blogspot.com.br/
  • 3. O que é o Instruments É uma ferramenta que faz parte doconjuntodo XCode • Utilizandoo Instruments é possível: • examina comportamentosdoWi-Fi e Bluetooth • realiza testede desempenho • detectapossíveis problemasno uso dememória • identifica maneiras de otimizaro app no consumodabateria • e etc
  • 4.
  • 5. 1. Alterna entre código e o log de execução do teste 2. Criação/manutenção do script de teste 3. Executar, gravar e parar o teste 4. Gerenciar scripts de teste 1 2 4 3
  • 6. O que preciso saber • A linguagem utilizada é o JavaScript • Precisa do fonte do app • O script é gravado navegando pelo app (no dispositivo ou simulador) • Podemos utilizar Page Objects • Podemos utilizar o Test Suite
  • 7.
  • 8. O que é UI AutoMonkey • É um script onde é executado no emulador ou no próprio dispositivo, uma série de eventos aleatórios, como clique, toques, rotações etc. no aplicativo • A vantagem do UI Automonkey é de estressar o aplicativo aleatoriamente atrás de bugs que com o teste normal não iria encontrar (ou seria muito cansativo e custoso)
  • 9.
  • 10. • Nesse trecho de código, determinei a área onde os toques são possíveis • Está configurado apenas para iPhone 5, 5s e 5c que tem o mesmo tamanho de tela
  • 11. • Essa é a funcionalidade de zoom na foto • Aqui também determinei a área para dar o zoom na foto
  • 12. Essa função trata a orientação da foto (paisagem ou retrato). O script fica alternando a orientação da foto simulando um usuário.
  • 13. Mas encontrei um grande problema. Como os toques na tela são aleatórios, como executar a função somente quando a foto for selecionada?
  • 14. Fiz uma outra função que trata apenas da funcionalidade foto. Nessa função verifico se o elemento fechar está visível na tela (que é um elemento específico da foto). Se tiver visível, executo a função fotoZoom e fotoOrientacao
  • 15.
  • 16.
  • 17.
  • 18. Até agora, as funções criadas só executariam uma única vez. Para "macaco" funcionar, fiz um outro script que faz o loop de quantas vezes quero que o teste seja executado.
  • 19.