Testando na nuvem a UI e o
JavaScript de sua aplicação
Stefan Teixeira
stefanfk@gmail.com / stefanteixeira.com.br
About me
Stefan Teixeira
• QA Engineer @ M4U
• Bacharel em Ciência da Computação pela UFRJ
• MBA em Garantia de Qualidade de Software pela Escola Politécnica da UFRJ
• Mantém blogs técnicos sobre testes: stefanteixeira.com.br (pt-br) /
stefanteixeira.com (en - ainda em construção :)
• Entusiasta de Testes Automatizados, Agile Testing e da cultura DevOps
Contatos:
• E-mail: stefanfk@gmail.com
• Twitter: twitter.com/stefan_teixeira
• Facebook: facebook.com/stefan.teixeira
• LinkedIn: linkedin.com/in/stefanteixeira
• GitHub: github.com/stefanteixeira
• SlideShare: slideshare.net/stefanteixeira
Vocês automatizam
testes?
(a) Não, testes são para os fracos
(b) Sim! Penso, logo automatizo
Pirâmide de
Automação de Testes
Pirâmide de Automação de Testes
(Mike Cohn - Succeeding With Agile)
Cuidado!
Testes de UI
Selenium WebDriver
➡ União de dois projetos:
• Selenium, iniciado por Jason Huggins
(ThoughtWorks) em 2004
• WebDriver, criado por Simon Stewart (Google)
➡ Framework mais utilizado para testes de UI
➡ Padrão W3C (http://www.w3.org/TR/webdriver/)
Fonte: http://pt.slideshare.net/ThoughtWorks/selenium-workshopbrasil-pdf
Fonte: http://pt.slideshare.net/ThoughtWorks/selenium-workshopbrasil-pdf
Testes de Unidade
Testes de Unidade para JS
+
OU OU
Karma
➡ Criado pelo Vojta Jína (da equipe do AngularJS)
➡ Executa os testes em browsers reais (testes de
unidade), o que permite identificar incompatibilidades
entre seu código/bibliotecas e browsers
➡ Feature de “watch” oferece feedback imediato dos
testes ao seus scripts
➡ Integração muito simples com bibliotecas de
cobertura de código (Istanbul) ou de mocks/stubs/spies
(Sinon.js)
Karma - Browsers suportados
Testes na Nuvem
Por que testar na nuvem?
➡ Não precisa se preocupar com infra-estrutura de
VMs para testes em múltiplos ambientes
➡ Serviços oferecem mais de 500 combinações de
browser/OS
➡ Setup simples
➡ Execuções em paralelo dão feedback mais
rápido (mas custam mais caro…)
Sauce Labs
BrowserStack
Mas é só para automação? E os
testes manuais?
Testes manuais
➡ Não! Ambos os serviços oferecem ambientes
para testes manuais
➡ BrowserStack já possui emuladores de
Windows Phone e a versão 0.11 do Microsoft
Edge (com Windows 10) exclusivamente para
testes manuais :)
Hands-on
Hands-on
• Exemplo Selenium https://github.com/
stefanteixeira/exemplo-selenium-nuvem
• Exemplo Karma https://github.com/
stefanteixeira/fav-organizer/tree/master/test/
unit
Obrigado!
Stefan Teixeira
stefanfk@gmail.com
stefanteixeira.com.br
@stefan_teixeira

Scrum Gathering Rio 2015 - Testando na nuvem a UI e o JavaScript de sua aplicação