Top Banner
http://www.urubatan.com.br [email protected] Transformando os pepinos do cliente no código de testes da aplicação com Cucumber Rodrigo Urubatan
18

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

May 25, 2015

Download

Technology

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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: pepinos do cliente no código de testes da aplicação com OSS

http://www.urubatan.com.br [email protected]

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

Cucumber

Rodrigo Urubatan

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

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"

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

O cliente tem um problema a resolver

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

Descobrindo os problemas

Reuniões com o cliente

Definição do Project

Backlog

Agile Business Analysis

User Stories

Lista do que deve ser feito

Cenários de uso do

sistema

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

Behavior Driven Development

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

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"

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

Pensando melhor na feature

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

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"

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

Tudo faz parte de um conjunto

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

Qual o ferramental completo?

• Integração continua

• Testes de aceitação automatizados

• Relatório dos testes

• Deploy automatico

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

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

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

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

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

Geração espontânea de testes

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

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

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

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('/')

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

Executar o cucumber

cucumber features\login.feature

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

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