Scrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes Automatizados
1. Melhorando sua Estratégia
de Testes Automatizados!
Stefan Teixeira!
stefanfk@gmail.com / stefanteixeira.com.br
2. Sobre o palestrante
Stefan Teixeira!
• QA Engineer @ Orga Systems!
• Bacharel em Ciência da Computação pela UFRJ!
• Finalizando MBA em Garantia de Qualidade de Software pela Escola
Politécnica da UFRJ!
• Mantém um blog técnico sobre testes: stefanteixeira.com.br!
• Certificado CTAL-TM / TA pelo ISQTB e CPRE-FL pelo IREB!
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
2
15. 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!
!
16. “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
17. 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!
‣ Link da palestra no InfoQ: http://goo.gl/
ScN6HH
19. 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
20. Testes de unidade!
!
• Por definição, testam componentes isolados!
• Como testamos a integração entre
componentes? Criando um teste que
navegue pela UI?
24. 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)
25. Testes na camada de serviço!
!
• Também chamados de Testes de
Integração, API Tests, etc.!
• Testar a aplicação sem depender da
interface (Web, Mobile, etc.)!
• Geralmente utilizados para BDD -> validar
critérios de aceite das user stories
43. “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