Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,055
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
14
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide






















































Transcript

  • 1. Ricardo Almeida BDD e CI
  • 2. Extreme Programming
  • 3. Comunicação Extreme Programming
  • 4. Comunicação Feedback Extreme Programming
  • 5. Comunicação Simplicidade Feedback Extreme Programming
  • 6. Comunicação Respeito Simplicidade Feedback Extreme Programming
  • 7. Comunicação Respeito Simplicidade Feedback Coragem Extreme Programming
  • 8. Test Driven Development
  • 9. Escreva um teste que falhe
  • 10. Implemente o necessário para passar
  • 11. Refatore: Eliminar duplicidade Melhorar o design
  • 12. TDD - Test First
  • 13. Pair Programming
  • 14. Não é fácil começar!
  • 15. Maior Produtividade com testes
  • 16. Behaviour Driven Development
  • 17. Comportamento do Software Behaviour Driven Development
  • 18. Comportamento do Software Behaviour Driven Development User Stories
  • 19. Comportamento do Software Ubiquitous Language Behaviour Driven Development User Stories
  • 20. Comportamento do Software Ubiquitous Language Behaviour Driven Development Entendimento do DONE! User Stories
  • 21. Comportamento do Software Ubiquitous Language Behaviour Driven Development Entendimento do Especificação DONE! User Stories
  • 22. Comportamento do Software Business Value Ubiquitous Language Behaviour Driven Development Entendimento do Especificação DONE! User Stories
  • 23. (XP) Acceptance Test Driven Development
  • 24. (BDD) Acceptance Test Driven Planning
  • 25. Funcionalidade: Pagar conta online Para reduzir meu tempo pagando contas Como um cliente do banco com conta ativa Desejo pagar minhas contas online Cenário: pagar uma conta Dado uma conta corrente com $50 E uma cobrança de Telefone no valor $37 Quando eu pago a conta de Telefone Então devo ter $13 de saldo E a conta de Telefone na lista de pagamentos recentes
  • 26. Capybara http://github.com/jnicklas/capybara.git
  • 27. Precisa testar JS?
  • 28. Chega de Click. Automatize!
  • 29. Blue Ridge JavaScript Testing Rails Plugin
  • 30. Integração Contínua
  • 31. Faz parte da cultura do time!
  • 32. Alertas de fail
  • 33. Alertas de fail
  • 34. Alertas de fail
  • 35. Alertas de fail CCMenu
  • 36. Alertas de fail
  • 37. Alertas de fail
  • 38. Integração Contínua • Membros das equipes precisam integrar seus trabalhos frequentemente. • Cada integração é validada por builds automáticos. • É necessário uma máquina separada para esse fim.
  • 39. Integração Contínua • A Suite de testes precisa ser rápida para se ter ter feedback
  • 40. Automatização
  • 41. Continuous Deployment
  • 42. Fail Fast
  • 43. Mas e na produção?
  • 44. Mailinator-Spec • http://github.com/technicalpickles/ mailinator-spec
  • 45. Cucumber Scout • http://github.com/jnewland/cucumber-scout/ Scenario: CPU usage is low When I get the metrics from the 'Server Overview' plugin on 'example.com' Then 'cpu_last_minute' should be less than 1
  • 46. Cucumber-Newrelic Scenario: Average Response time Given that my application is being monitored by New Relic Then my application's 'response time' should be less than 500 milliseconds • http://github.com/jnewland/cucumber- newrelic
  • 47. Cucumber-Nagios • http://github.com/auxesis/cucumber-nagios Scenario: test queue 2 Given I have a AMQP server on rabbit.github.com And I want to check on the fork queue Then it should have less than 400 messages Then it should have at least 5 consumers Then it should have less than 50 messages per consumer
  • 48. Integração Distríbuída http://github.com/brynary/testjour
  • 49. Signal
  • 50. Signal http://github.com/dcrec1/signal.git
  • 51. Inploy Receita: application = "signal" repository = 'git://github.com/dcrec1/signal.git' hosts = ['hooters', 'geni'] Comandos: inploy setup inploy http://github.com/dcrec1/inploy
  • 52. Deploy One-Click
  • 53. Testes Exploratórios
  • 54. Obrigado! Perguntas? @almeidaricardo github.com/ricardoalmeida manifestonaweb.wordpress.com