Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Selenium Workshop

5 180 vues

Publié le

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.

Publié dans : Technologie

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!!

×