Upgrade to Pro — share decks privately, control downloads, hide ads and more …

QCon Rio 2014 - Uso de Headless Browsers em Tes...

QCon Rio 2014 - Uso de Headless Browsers em Testes Automatizados

Short Talk apresentada no QCon Rio 2014, no dia 23/09.

Stefan Teixeira

September 23, 2014
Tweet

More Decks by Stefan Teixeira

Other Decks in Programming

Transcript

  1. Sobre o palestrante Stefan Teixeira! • QA Engineer @ Orga

    Systems! • Bacharel em Ciência da Computação pela UFRJ! • Finalizando MBA em Garantia de Qualidade de Software pela Escola Politécnica da UFRJ! • Mantém um blog técnico sobre testes: stefanteixeira.com.br! • Certificado CTAL-TM / TA pelo ISQTB e CPRE-FL pelo IREB! Contatos:! • E-mail: [email protected]! • Twitter: twitter.com/stefan_teixeira! • Facebook: facebook.com/stefan.teixeira! • LinkedIn: linkedin.com/in/stefanteixeira! • GitHub: github.com/stefanteixeira! • SlideShare: slideshare.net/stefanteixeira
  2. Foco de Testes pela UI! ! • Smoke Tests! •

    xBrowser Testing! • Visual Regression Testing
  3. Importância do tempo de build e feedback! • XP (Extreme

    Programming)! ‣ 10-minute build! ! • James Shore (The Art of Agile Development)! ‣ 10 or 15-minute build! !
  4. “That's about the right amount of time to stretch my

    legs, get some coffee, and talk over our work with my pairing partner.”! ! - James Shore, The Art of Agile Development
  5. “Subconjunto de todos os casos de testes definidos/ planejados que

    cobre as principais funcionalidades de um componente ou sistema, para averiguar as principais funções de um programa em funcionamento sem se preocupar com maiores detalhes.“! ! - Definição de Smoke Tests pelo ISTQB (International Software Testing Qualifications Board)
  6. Headless Browsers + CI! ! • Possível rodar os testes

    no próprio servidor de CI! • Setup simples! • Para projetos no GitHub, o Travis CI oferece suporte ao PhantomJS por default :)
  7. Importante!! ! Testar com um Headless Browser não substitui a

    necessidade de testar em browsers reais.
  8. • Selenium WebDriver! ‣ GhostDriver (PhantomJS)! ‣ HtmlUnitDriver (HtmlUnit)! •

    Capybara! ‣ Poltergeist (PhantomJS)! ‣ Celerity (HtmlUnit)! • CasperJS! ‣ PhantomJS! ‣ SlimerJS! • Zombie.js (+ Mocha / Jasmine)
  9. Ferramenta Browsers PhantomCSS PhantomJS Wraith PhantomJS, SlimerJS Depicted (dpxdt) PhantomJS

    CSS Critic Firefox, PhantomJS (experimental) Hardy.io Qualquer browser suportado pelo WebDriver (FF, Chrome, PhantomJS…) Huxley Qualquer browser suportado pelo WebDriver (FF, Chrome, PhantomJS…)