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

Cloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureCloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureGrupo de Testes Carioca
 
Charles Proxy, um canivete suíço para o dia a dia de desenvolvimento (testes)
Charles Proxy, um canivete suíço para o dia a dia de desenvolvimento (testes)Charles Proxy, um canivete suíço para o dia a dia de desenvolvimento (testes)
Charles Proxy, um canivete suíço para o dia a dia de desenvolvimento (testes)Grupo de Testes Carioca
 
Dezembro 2015 - Primeiros Passos em Automação de Testes
Dezembro 2015 - Primeiros Passos em Automação de Testes Dezembro 2015 - Primeiros Passos em Automação de Testes
Dezembro 2015 - Primeiros Passos em Automação de Testes Grupo de Testes Carioca
 
Automação de Testes de Aceitação em Sistemas Web
Automação de Testes de Aceitação em Sistemas WebAutomação de Testes de Aceitação em Sistemas Web
Automação de Testes de Aceitação em Sistemas WebRodrigo Veiga
 
Junho 2016 - Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em pythonJunho 2016 - Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em pythonGrupo de Testes Carioca
 
Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Pablo Ribeiro
 

Destaque (7)

Cloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureCloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows Azure
 
Charles Proxy, um canivete suíço para o dia a dia de desenvolvimento (testes)
Charles Proxy, um canivete suíço para o dia a dia de desenvolvimento (testes)Charles Proxy, um canivete suíço para o dia a dia de desenvolvimento (testes)
Charles Proxy, um canivete suíço para o dia a dia de desenvolvimento (testes)
 
Dezembro 2015 - Primeiros Passos em Automação de Testes
Dezembro 2015 - Primeiros Passos em Automação de Testes Dezembro 2015 - Primeiros Passos em Automação de Testes
Dezembro 2015 - Primeiros Passos em Automação de Testes
 
Automação de Testes de Aceitação em Sistemas Web
Automação de Testes de Aceitação em Sistemas WebAutomação de Testes de Aceitação em Sistemas Web
Automação de Testes de Aceitação em Sistemas Web
 
Julho 2016 - Microsoft Test Manager
Julho 2016 - Microsoft Test ManagerJulho 2016 - Microsoft Test Manager
Julho 2016 - Microsoft Test Manager
 
Junho 2016 - Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em pythonJunho 2016 - Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em python
 
Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )
 

Semelhante a Dezembro 2015 - 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 Dezembro 2015 - 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
 

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