Primeiros Passos em
Automação de Testes
Stefan Teixeira
@stefan_teixeira
stefanfk@gmail.com
stefanteixeira.com.br
stefanteixeira.com
About me
Stefan Teixeira
• 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
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
Mike Cohn - Succeeding With Agile
Cuidado!
Testes de UI são mais lentos!
Anti-patterns
Tempo de
feedback
E quando o feedback é
lento?
• Perda de confiança do time
E quando o feedback é
lento?
• Perda de confiança do time
• Time deixa de rodar os testes
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
• XP (Extreme Programming)
➡ 10-minute build
• 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
• Rodam MUITO rápido = feedback
mais rápido!
Testes de Unidade
• Rodam MUITO rápido = feedback
mais rápido!
• Ó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
• Boa quantidade e cobertura de
testes = menor necessidade de
testes exaustivos pela UI
• Te oferecerem segurança para
introduzir mudanças (safety net)
Cobertura de código: dicas
• “High coverage numbers are too
easy to reach with low quality
testing” (Martin Fowler)
Cobertura de código: dicas
• “High coverage numbers are too
easy to reach with low quality
testing” (Martin Fowler)
• Cobertura alta != bons testes
Cobertura de código: dicas
• “High coverage numbers are too
easy to reach with low quality
testing” (Martin Fowler)
• Cobertura alta != bons testes
• Você pode ter 100% de cobertura
sem nenhum assert nos testes!
Ferramentas
Testes no nível de Serviço
• Preencher o gap entre Unidade e
UI
Testes no nível de Serviço
• Preencher o gap entre Unidade e
UI
• Testar regras de negócio “abaixo”
da UI, sem depender da interface
(Web, Mobile, Desktop)
Testes no nível de Serviço
• Preencher o gap entre Unidade e
UI
• Testar regras de negócio “abaixo”
da UI, sem depender da interface
(Web, Mobile, Desktop)
• Subcutaneous Tests (Martin
Fowler)
Testes no nível de Serviço:
Tipos
• Testes de Componente /
Integração
Testes no nível de Serviço:
Tipos
• Testes de Componente /
Integração
• Testes de WebServices / APIs
Testes no nível de Serviço:
Tipos
• Testes de Componente /
Integração
• Testes de WebServices / APIs
• Testes de Contrato
Ferramentas
Testes pela UI
• Mais lentos/frágeis, feedback
lento
Testes pela UI
• Mais lentos/frágeis, feedback
lento
• Ponto de vista do usuário final
Testes pela UI
• Mais lentos/frágeis, feedback
lento
• Ponto de vista do usuário final
• Focar nos cenários mais
importantes
Testes pela UI: Tipos
• Cross Browser Testing
• Cross Browser Testing
• Headless Testing
Testes pela UI: Tipos
• Cross Browser Testing
• Headless Testing
• Visual Regression Testing
Testes pela UI: Tipos
Visual Regression Testing:
como é?
Ferramentas: xBrowser/
Headless Testing
Ferramentas: Mobile UI Testing
Ferramentas: Visual Regression
Testing
Hands-on
• Projeto de exemplo: https://
github.com/stefanteixeira/
primeiros-passos-automacao-
testes
• JUnit + REST-Assured + Selenium
Webdriver
Hands-on
Livros Recomendados
Obrigado!
Stefan Teixeira
@stefan_teixeira
stefanfk@gmail.com
stefanteixeira.com.br
stefanteixeira.com

Dezembro 2015 - Primeiros Passos em Automação de Testes