Transformando os pepinos
           do cliente no código de
          testes da aplicação com
                  Cucumber

...
Sobre Urubatan

Trabalho com desenvolvimento desde 1997, já desenvolvi
  sistemas em diversas linguagens, como Delphi, C, ...
O cliente tem um problema a resolver
Descobrindo os problemas
Reuniões com o cliente        Cenários de uso do
                                sistema


Defini...
Behavior Driven Development
Cenário: Login

Scenario: Login of existent user
    Given I am on the login page
    When I provide valid credentials
   ...
Pensando melhor na feature
Feature Login
Feature: Login
  In order to make some money
  As the service provider
  I want existing users to be able to...
Tudo faz parte de um conjunto
Qual o ferramental completo?

•   Integração continua
•   Testes de aceitação automatizados
•   Relatório dos testes
•   D...
Ciclo de implementação
1.   Montar o backlog de features a serem implementadas
2.   Priorizar as features
3.   Pegar uma d...
Exemplo com Ruby on Rails
1.   Criar uma aplicação Rails
2.   Configurar o suporte ao cucumber
3.   Criar features
4.   Ex...
Geração espontânea de testes
Exemplo Web com Java
1. Criar um projeto Web Dinâmico com eclipse (ou outra
   IDE Java)
2. Copiar a pasta features do pro...
Automação do browser

require 'capybara'
require 'capybara/dsl'
include Capybara
Capybara.current_driver = :selenium
Capyb...
Executar o cucumber

cucumber featureslogin.feature
http://www.urubatan.com.br   rodrigo@urubatan.com.br
Referências

•   Meu livro - http://livro.urubatan.com.br
•   Meu blog - http://www.urubatan.com.br
•   Cucumber - http://...
Próximos SlideShares
Carregando em…5
×

pepinos do cliente no código de testes da aplicação com OSS

2.697 visualizações

Publicada em

Slides da palestra que apresentei no FISL 2010 sobre BDD, Cucumber, Rails, Ruby, Java e mais um pouco.
Os videos utilizados podem ser encontrados em:
http://vimeo.com/13523947
http://vimeo.com/13524790

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.697
No SlideShare
0
A partir de incorporações
0
Número de incorporações
773
Ações
Compartilhamentos
0
Downloads
17
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

pepinos do cliente no código de testes da aplicação com OSS

  1. 1. Transformando os pepinos do cliente no código de testes da aplicação com Cucumber Rodrigo Urubatan http://www.urubatan.com.br rodrigo@urubatan.com.br
  2. 2. Sobre Urubatan Trabalho com desenvolvimento desde 1997, já desenvolvi sistemas em diversas linguagens, como Delphi, C, C++, PHP, ASP, ColdFusion, Assembly, Leather, Java e Ruby. Atualmente trabalho com pesquisa e desenvolvimento na HP, utilizando principalmente Java, e com Ruby em outros projetos e cursos. Alem de ser o autor do livro "Ruby On Rails: Desenvolvimento fácil e Rápido de aplicações web"
  3. 3. O cliente tem um problema a resolver
  4. 4. Descobrindo os problemas Reuniões com o cliente Cenários de uso do sistema Definição do Project Backlog Agile Business Analysis User Stories Lista do que deve ser feito
  5. 5. Behavior Driven Development
  6. 6. Cenário: Login Scenario: Login of existent user Given I am on the login page When I provide valid credentials And I press "Login" Then I should be redirected to "the home page"
  7. 7. Pensando melhor na feature
  8. 8. Feature Login Feature: Login In order to make some money As the service provider I want existing users to be able to access the system Scenario: Login of existent user Given I am on the login page When I provide valid credentials And I press "Login" Then I should be redirected to "the home page" Scenario: Login of inexistent user Given I am on the login page When I provide invalid credentials And I press "Login" Then I should be redirected to "the login page"
  9. 9. Tudo faz parte de um conjunto
  10. 10. Qual o ferramental completo? • Integração continua • Testes de aceitação automatizados • Relatório dos testes • Deploy automatico
  11. 11. Ciclo de implementação 1. Montar o backlog de features a serem implementadas 2. Priorizar as features 3. Pegar uma das features para implementar 4. Escrever os cenários/Testes de aceitação para a feature 5. Executar os cenários 6. Escrever código o suficiente para um cenário/teste passar 7. Executar os cenários novamente 8. Repetir passos 6 e 7 até que todos os cenários estejam passando
  12. 12. Exemplo com Ruby on Rails 1. Criar uma aplicação Rails 2. Configurar o suporte ao cucumber 3. Criar features 4. Executar os testes 5. Implementar as features 6. Executar os testes 7. Repetir passos 4 a 6 até que o sistema esteja pronto 8. Ver passo a passo neste video: http://vimeo.com/13523947
  13. 13. Geração espontânea de testes
  14. 14. Exemplo Web com Java 1. Criar um projeto Web Dinâmico com eclipse (ou outra IDE Java) 2. Copiar a pasta features do projeto Rails 3. Configurar cucumber para testar aplicação Java 4. Executar cucumber 5. Implementar Login 6. Executar cucumber 7. Implementar cadastro de usuários 8. Executar cucumber 9. Ver exemplo neste link: http://vimeo.com/13524790
  15. 15. Automação do browser require 'capybara' require 'capybara/dsl' include Capybara Capybara.current_driver = :selenium Capybara.app_host = 'http://www.google.com' Capybara.run_server = false visit('/')
  16. 16. Executar o cucumber cucumber featureslogin.feature
  17. 17. http://www.urubatan.com.br rodrigo@urubatan.com.br
  18. 18. Referências • Meu livro - http://livro.urubatan.com.br • Meu blog - http://www.urubatan.com.br • Cucumber - http://wiki.github.com/aslakhellesoy/cucumber • Capybara- http://github.com/jnicklas/capybara • WebDriver - http://code.google.com/p/selenium/wiki/RubyBindings • Watir - http://watir.com/ • Watircuke - http://github.com/nofxx/watircuke • Rails – http://rubyonrails.org • ASP.NET MVC - http://www.asp.net/mvc • http://vimeo.com/13524790 • http://vimeo.com/13523947

×