1º encontro do grupo de testes carioca - primeiros passos em automação de testes

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

Upload: stefan-teixeira

Post on 17-Feb-2017

1.033 views

Category:

Technology


0 download

TRANSCRIPT

Primeiros Passos em Automação de Testes

Stefan Teixeira @stefan_teixeira

[email protected] stefanteixeira.com.br

stefanteixeira.com

About meStefan 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: [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

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

[email protected] stefanteixeira.com.br

stefanteixeira.com