TDC 2014 - Melhorando sua Estratégia de Testes Automatizados
-
Upload
stefan-teixeira -
Category
Technology
-
view
549 -
download
2
description
Transcript of TDC 2014 - Melhorando sua Estratégia de Testes Automatizados
Globalcode – Open4education
Melhorando sua Estratégia de Testes Automatizados
Stefan [email protected] / stefanteixeira.com.br
Globalcode – Open4education
Sobre o palestrante
Stefan TeixeiraQA Engineer @ Orga Systems
Bacharel em Ciência da Computação pela UFRJ
Cursando MBA em Garantia de Qualidade de Software na Escola Politécnica da UFRJ
Certificado CTAL-TA / CTAL-TM pelo ISTQB e CPRE-FL pelo IREB
Contatos:E-mail: [email protected]
Blog: stefanteixeira.com.br
Facebook: facebook.com/stefan.teixeira
LinkedIn: linkedin.com/in/stefanteixeira
Untappd: untappd.com/user/stefanteixeira
Globalcode – Open4education
Testes Automatizados
Globalcode – Open4education
Testes pela UI?
Globalcode – Open4education
Testes de unidade?
Globalcode – Open4education
Como as empresas começam a automatizar
testes?
Globalcode – Open4education
Ferramentas record-playback
Globalcode – Open4education
Ferramentas record-playback
Fácil criar testes novos
Não requerem skills de programação
Globalcode – Open4education
Mas seria uma pena se a gente...
Globalcode – Open4education
Ferramentas record-playback
...incluísse um campo novo?
...alterasse o id de um campo?
Globalcode – Open4education
E a médio/longo prazo...
Globalcode – Open4education
Ferramentas record-playback
Problemas!
Alto custo de manutenção
Testes lentos -> aumento do tempo de build e de feedback
Falsos negativos
Globalcode – Open4education
Ferramentas record-playback
E com o tempo de feedback lento...Perda de confiança do time
Time deixa de rodar os testes
Globalcode – Open4education
Falando sobre feedback...
Globalcode – Open4education
Importância do tempo de build e 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.”
Globalcode – Open4education
Importância do tempo de build e feedback
Dan Bodart
Palestra – “Crazy Fast Build Times – Or when 10 seconds starts to make you nervous”
Mostra formas de reduzir em até 10 vezes o tempo de build de uma aplicação
Globalcode – Open4education
E os testes de unidade?
Globalcode – Open4education
Testes de unidade
Boa quantidade e cobertura de testes -> menor necessidade de testes exaustivos pela UI
Rodam muito rápido -> feedback mais rápido
Muito efetivos para testar valores limite ou combinações de desvios no código
Globalcode – Open4education
Testes de unidade
Por definição, testam componentes isolados
Como testamos a integração entre eles? Criando um teste que navegue pela UI?
Globalcode – Open4education
Globalcode – Open4education
Pirâmide de Automação de Testes
Globalcode – Open4education
Pirâmide de Automação de Testes
Mike Cohn (Succeeding with Agile)
Globalcode – Open4education
Testes na camada de serviço
Preencher o gap entre unidade e UI
Testar regras de negócio “abaixo” da UI
Também chamados de Subcutaneous Tests (Martin Fowler)
Globalcode – Open4education
Testes na camada de serviço
Testar a aplicação sem depender da interface (web, android, iOS...)
Geralmente utilizados para testes com BDDValidar critérios de aceite das user stories
Globalcode – Open4education
Arquillian
arquillian.org
Globalcode – Open4education
Testes na UI
Globalcode – Open4education
Testes na UI
Smoke Tests
xBrowser Testing
Visual Regression Testing
Globalcode – Open4education
E quando automatizamos tudo pela UI?
Globalcode – Open4education
Globalcode – Open4education
Como evitar os problemas de testes pela UI?
Globalcode – Open4education
Page Objects
Globalcode – Open4education
Tratar código de teste como código de produção!
“What makes a clean test? Three things. Readability, readability, and readability.”
- “Uncle Bob” Martin – Clean Code
“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.”
- Martin Fowler – Refactoring: Improving the Design of Existing Code
Globalcode – Open4education
Headless Browsers
http://stefanteixeira.com.br/2014/05/11/headless-testing-com-ghostdriver/
Globalcode – Open4education
Headless Browsers
Frameworks e Runners
Selenium WebDriverGhostDriver
HtmlUnitDriver
CapybaraPoltergeist
Celerity
Globalcode – Open4education
BDD
Linguagem Gherkin (Given-When-Then)
Globalcode – Open4education
Paralelizar Testes
Globalcode – Open4education
Visual Regression Tests
Globalcode – Open4education
Globalcode – Open4education
Globalcode – Open4education
Usos
Validar valores de CSS
Comparar screenshots
Validar design responsivo
Globalcode – Open4education
Tools
Globalcode – Open4education
Obrigado!
Stefan Teixeira
stefanteixeira.com.br
br.linkedin.com/in/stefanteixeira