Primeiros Passos em
Automação de Testes
Stefan Teixeira
@stefan_teixeira
stefanfk@gmail.com
stefanteixeira.com.br
stefanteixeira.com
• QA Engineer @ M4U
• Entusiasta de Automação de Testes, Agile Testing e DevOps
• Blogs técnicos: stefanteixeira.com.br (pt-br) /
stefanteixeira.com (en)
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
Sobre
Vocês automatizam
testes?
Estágios iniciais de automação
Automação hardcore
Pirâmide de
Automação de Testes
Pirâmide de Automação de Testes
Cuidado! 💀
Testes de UI são mais lentos!
Anti-patterns
Tempo de
feedback
•Perda de confiança do time
E quando o feedback é lento?
E quando o feedback é lento?
•Perda de confiança do time
•Time deixa de rodar os testes
Importância do tempo de build/
feedback
•XP (Extreme Programming)
‣ 10-minute build
Importância do tempo de build/
feedback
•James Shore (The Art of Agile
Development)
‣ 10 or 15-minute build
“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
Testes de
Unidade
Testes de Unidade
•Rodam MUITO rápido ➤
feedback rápido!
Testes de Unidade
•Ótimos para testar valores
limite ou combinações de
desvios no código
Testes de Unidade
•Boa quantidade e cobertura de
testes ➤ menor necessidade de
testes exaustivos pela UI
Testes de Unidade
•Oferecem segurança para
introduzir mudanças (safety net)
Cobertura de
Código
“High coverage numbers are too
easy to reach with low quality
testing"
- Martin Fowler
Importante!
•Cobertura alta != bons testes
Importante!
•Cobertura alta != bons testes
•Você pode ter 100% de
cobertura sem nenhum assert
nos testes! 💩
Exemplos de ferramentas
Testes de
Serviço
Testes de Serviço
•Preencher gap entre unidade e
UI
Testes de Serviço
•Testar regras de negócio
“abaixo" da UI, sem depender
da interface (Web, Mobile,
Desktop)
Alguns tipos
•Testes de Componente /
Integração
Alguns tipos
•Testes de Componente /
Integração
•Testes de Webservices / APIs
Alguns tipos
•Testes de Componente /
Integração
•Testes de Webservices / APIs
•Testes de Contrato
Exemplos de ferramentas
Testes de UI
Testes de UI
•Mais lentos, frágeis, feedback
lento
Testes de UI
•Focar nos cenários mais
importantes da sua aplicação
Alguns tipos
•Cross Browser Testing
(xBrowser)
Alguns tipos
•Cross Browser Testing
(xBrowser)
•Headless Testing
Alguns tipos
•Cross Browser Testing
(xBrowser)
•Headless Testing
•Visual Regression Testing
Visual Regression Testing: como é? 🤔
Ferramentas: xBrowser/Headless
Testing
Ferramentas: Mobile UI Testing
Ferramentas: Visual Regression
Testing
Hands-on
Hands-on
•https://github.com/
stefanteixeira/primeiros-passos-
automacao-testes
•JUnit + REST Assured + Selenium
WebDriver
E quando o feedback é lento?Livros Recomendados
Obrigado!
Stefan Teixeira
@stefan_teixeira
stefanfk@gmail.com
stefanteixeira.com.br
stefanteixeira.com

VR Dev Summit 2016 - Primeiros Passos em Automação de Testes