vr dev summit 2016 - primeiros passos em automação de testes

51
Primeiros Passos em Automação de Testes Stefan Teixeira @stefan_teixeira [email protected] stefanteixeira.com.br stefanteixeira.com

Upload: stefan-teixeira

Post on 13-Apr-2017

717 views

Category:

Technology


0 download

TRANSCRIPT

Primeiros Passos em Automação de Testes

Stefan Teixeira @stefan_teixeira

[email protected] 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: [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

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

[email protected] stefanteixeira.com.br

stefanteixeira.com