Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Selenium Workshop

4,528 views

Published on

Nessa apresentação abordamos a importância da automação de testes nos projetos de software, as melhores práticas de automação, as fases de testes e adicionamos exercícios 'mão na massa' no Selenium.

Selenium é uma ferramenta de automação de testes funcionais criada originalmente pela ThoughtWorks, e é hoje, uma das ferramentas de automação mais utilizadas no mundo.

Published in: Technology

Selenium Workshop

  1. 1. SELENIUM WORKSHOP ThoughtWorks Brasil Belo Horizonte - MG 1
  2. 2. AGENDA ! ! ▫︎Por que automação de testes? ▫︎Introdução ao Selenium ▫︎Entendendo o Selenium ▫︎Exercícios "mão na massa" 2
  3. 3. VANTAGENS DOS TESTES AUTOMATIZADOS ! ▫︎Evitar trabalho repetitivo ! ▫︎Geralmente mais rápido que teste manual ! ▫︎Feedback constante da aplicação ! ▫︎Simular a interação de um usuário real do sistema 3
  4. 4. VANTAGENS DOS TESTES AUTOMATIZADOS ▫︎Não é diretamente acoplada à implementação do código ! ▫︎Auxilia a encontrar bugs e erros de regressão ! ▫︎Fácil de ser implementado em diferentes plataformas e navegadores ! ▫︎Podemos encontrar inclusive problemas de hardware (memória e recursos) através da automação 4
  5. 5. DESVANTAGENS DOS TESTES AUTOMATIZADOS ! ▫︎Manutenção ! ▫︎Velocidade pode ser afetada ! ▫︎Fragilidade (depende de elementos da UI) ! ▫︎Vulnerabilidade - Os testes podem ficar instáveis se, por exemplo, algum componente em Javascript demorar para carregar. 5
  6. 6. NÃO!! 6 DEVO AUTOMATIZAR TUDO?
  7. 7. NÃO AUTOMATIZAR QUANDO: ! ▫︎Haverá mudanças consideráveis na interface do usuário em um futuro bem próximo ! ▫︎Muito pouco tempo para testar ! ▫︎Não é uma ação muito comum e previsível de ser realizada por um usuário real ! ▫︎Cenários extremamente complexos 7
  8. 8. QUADRANTES DO AGILE TESTING 8 Adaptada de: http://lisacrispin.com/2011/11/08/using-the-agile-testing-quadrants
  9. 9. PIRÂMIDE DE TESTE DE SOFTWARE 9 Adaptada de: http://watirmelon.com/2012/01/31/introducing-the-software-testing-ice-cream-cone
  10. 10. PIRÂMIDE INVERTIDA (SORVETE) DE TESTE DE SOFTWARE 10 Adaptado de: http://watirmelon.com/2012/01/31/introducing-the-software-testing-ice-cream-cone
  11. 11. INTRODUÇÃO AO SELENIUM ! ▫︎Iniciada em 2004 por um ThoughtWorker chamado Jason Huggins ! ▫︎Algum tempo depois, Simon Stewart do Google iniciou um projeto chamado WebDriver ! ▫︎Ambos projetos se uniram, dando origem ao Selenium- WebDriver (Selenium 2.0) 11
  12. 12. POR QUE SELENIUM? ! ▫︎Suporta várias linguagens: Java, Ruby, Python, JavaScript, etc… ! ▫︎Suporta vários browsers: Chrome, Firefox, Safari, IE, Opera, Headless, Android, iOS etc… ! ▫︎É open-source! 12
  13. 13. ALGUMAS OUTRAS VARIAÇÕES... ! ! ▫︎Selenium IDE: ferramenta record & playback apenas para testes simples/básicos. Não recomendado para automação séria! :) ! ▫︎Selenium-Grid: Útil para executar testes em paralelo em múltiplas máquinas remotas. 13
  14. 14. O QUE É DOM (DOCUMENT OBJECT MODEL) ? 14 ANTES DE COMEÇARMOS…
  15. 15. DOM - DATA OBJECT MODEL 15
  16. 16. COMO CAPTURAR ELEMENTOS NO DOM? ! ! ! ▫︎Chrome Dev Tools ! ▫︎Firebug 16
  17. 17. ALGUNS ELEMENTOS COMUNS... 17
  18. 18. ENTENDENDO O SELENIUM 18
  19. 19. ENTENDENDO O SELENIUM 19 Asserções
  20. 20. MÃO NA MASSA! 20
  21. 21. ATIVIDADES ! ▫︎Instalação e configuração (Eclipse + Selenium-WebDriver + JUnit + Hamcrest) ▫︎Automatizando do zero ▫︎https://github.com/ThoughtWorksInc/twseleniumworkshop/blob/master/test/ twseleniumworkshop/Exercicio1.java ▫︎https://github.com/ThoughtWorksInc/twseleniumworkshop/blob/master/test/ twseleniumworkshop/Exercicio2.java ▫︎https://github.com/ThoughtWorksInc/twseleniumworkshop/blob/master/test/ twseleniumworkshop/Exercicio3.java ▫︎https://github.com/ThoughtWorksInc/twseleniumworkshop/blob/master/test/ twseleniumworkshop/Exercicio4.java ▫︎https://github.com/ThoughtWorksInc/twseleniumworkshop/tree/master/test/ twseleniumworkshop/PageObject 21
  22. 22. PRÓXIMOS PASSOS ! ▫︎Page Object Design Pattern ! ▫︎Headless browser ! ▫︎Cucumber/BDD ! ▫︎Mobile (Android) 22
  23. 23. LIVROS/MATERIAIS RECOMENDADOS ! ▫︎Selenium: ▫︎Selenium API ▫︎Selenium WebDriver Practical Guide ▫︎Selenium Simplified ! ▫︎Teste de Software e outras ferramentas: ▫︎Agile Testing: A Practical Guide for Testers and Agile Teams ▫︎The Cucumber Book 23
  24. 24. 24 É isso aí, galera! Obrigado!!

×