SlideShare a Scribd company logo
1 of 32
Download to read offline
Documentation
             vs
          Tests
      About tool Cucumber,
but not only for vegetarians

         Michał Czyż
<me>
1910
scenarios
@<estimation_number>

      •   @1   @2

      ●   @3   @5

          @8   @13
@<initials>




@bk    @mw          @rj
@m<number>   @i<number>
@_<status
>
@new, @removed,
@skipped
@__<place_id>::<compon
ent_id>

@__checkout__address_d
etails

@__checkout__address_d
etails::
         address_look_up
@m1 @mc
@__place_one::c_one
Feature: Sample feature

@i1 @2
Scenario: sample scenario
one

@i2 @1 @new
Scenario: sample scenario
#:::wireframe:
http://some_url
#:::page: place_one
#:::component: c_one
@m1 @mc
Feature: Sample feature

#:::estimation: 2
@i1
Scenario: sample scenario
one
@m1 @_spec

@m1 @_todo,@_backlog @mc

@m1
~@_done,@_qa,@_accepted

@m1, @m2, @m3 @new
Synchronization (remote
branches)

    1)
    stories_<latest>

    2)
    stories_<timestam
    p>
Part of bigger
ecosystem
./personas/product_own
         er.yml
include:
  - signed in user
  - registered user
about: represents the stakeholders and
the business
goals:
  - have control and overview of product
building ...
motiviations:
  - build great product
points_of_pain:
  - delays in delivery
@__login::sign_up
Feature: Sign up

In order to get access to protected
sections of the site
As a registered user
I want to sign up

 Scenario: Visitor signs up with invalid
data
  ...

 Scenario: Visitor signs up with valid data
  ...
feature "Homepage", %q{
  To update requirement for project
  product owner
  should be able to change feature content} do
  scenario "should show past event if no upcoming" do
   title, description = "Beer chess", "Happy drinking"
   at_time 1.month.ago do
     @website.has(:event, :title => title,
                             :description => description)
   end
   @user.visit(homepage)
   within "article.event" do
     @user.should_see(title, description)
     @user.should_see_translated("events.last_event")
   end
  end
# To update requirement for project
# product owner
# should be able to change feature content
## page: homepage
## developer: ps

feature "Homepage", :milestone => '0.1' do

 # Given one month ago event was entered
 # When user open homepage
 # Then she should see this event on top
 ## wireframe: http://justproto.com/....

 scenario "should show past event if no upcoming",
     :iteration => 'one', :status => 'done' do
?
Contact info:
Mail     michalczyz@gmail.com
Twitter cs3b


Tools and usefull resources:
      https://github.com/aslakhellesoy/cucumber/wiki
      https://github.com/cs3b/cucumber_fm
      http://demo.cucumber.fm/documentation/features

            https://github.com/cavalle/steak
            https://github.com/cs3b/steak_fm
Source of steak example
[28]        https://github.com/drugpl/drug-site/blob/master/spec/acceptance/homepage_spec.rb

Font:
http://www.fontsquirrel.com/fonts/TitilliumText

Pictures
[3,6]             http://www.selleo.com
[9,10]            selleo – Rafał Bromirski
[14,15,17,18]     http://demo.cucumber.fm
[20]              selleo – Rafał Bromirski
[23]                     from redmine
[24]       http://www.dreamstime.com/royalty-free-stock-photos-happy-with-laptop-image6621668
[26]       http://www.dreamstime.com/royalty-free-stock-image-steaks-on-the-grill-image5835086

More Related Content

What's hot

Checklist after site uploading
Checklist after site uploadingChecklist after site uploading
Checklist after site uploading
RayWilsonMD
 
5 Reasons To Love CodeIgniter
5 Reasons To Love CodeIgniter5 Reasons To Love CodeIgniter
5 Reasons To Love CodeIgniter
nicdev
 

What's hot (20)

Controller in AngularJS
Controller in AngularJSController in AngularJS
Controller in AngularJS
 
Angular directive filter and routing
Angular directive filter and routingAngular directive filter and routing
Angular directive filter and routing
 
Understanding angular js $rootscope and $scope
Understanding angular js $rootscope and $scopeUnderstanding angular js $rootscope and $scope
Understanding angular js $rootscope and $scope
 
Rails 2.3 and Rack - NHRuby Feb 2009
Rails 2.3 and Rack - NHRuby Feb 2009Rails 2.3 and Rack - NHRuby Feb 2009
Rails 2.3 and Rack - NHRuby Feb 2009
 
Inline
InlineInline
Inline
 
Built in filters
Built in filtersBuilt in filters
Built in filters
 
Intro to JavaScript: FUNdamentals (3/7/18)
Intro to JavaScript: FUNdamentals (3/7/18)Intro to JavaScript: FUNdamentals (3/7/18)
Intro to JavaScript: FUNdamentals (3/7/18)
 
HTML5 History
HTML5 HistoryHTML5 History
HTML5 History
 
Magento2 From Setup To Deployment. Automate Everything
Magento2 From Setup To Deployment. Automate EverythingMagento2 From Setup To Deployment. Automate Everything
Magento2 From Setup To Deployment. Automate Everything
 
React vs-angular-mobile
React vs-angular-mobileReact vs-angular-mobile
React vs-angular-mobile
 
Checklist after site uploading
Checklist after site uploadingChecklist after site uploading
Checklist after site uploading
 
How to catch query string in angular js
How to catch query string in angular jsHow to catch query string in angular js
How to catch query string in angular js
 
5 Reasons To Love CodeIgniter
5 Reasons To Love CodeIgniter5 Reasons To Love CodeIgniter
5 Reasons To Love CodeIgniter
 
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
 
Mvc - Titanium
Mvc - TitaniumMvc - Titanium
Mvc - Titanium
 
jQuery Intro
jQuery IntrojQuery Intro
jQuery Intro
 
Well
WellWell
Well
 
Intro to the Intersection Observer API - Tara Ojo
Intro to the Intersection Observer API - Tara OjoIntro to the Intersection Observer API - Tara Ojo
Intro to the Intersection Observer API - Tara Ojo
 
Intro to Rails Give Camp Atlanta
Intro to Rails Give Camp AtlantaIntro to Rails Give Camp Atlanta
Intro to Rails Give Camp Atlanta
 
Routes
RoutesRoutes
Routes
 

Viewers also liked (9)

Flexoplex
FlexoplexFlexoplex
Flexoplex
 
The Physical Library and Regeneration - Tony Durcan
The Physical Library and Regeneration - Tony DurcanThe Physical Library and Regeneration - Tony Durcan
The Physical Library and Regeneration - Tony Durcan
 
The Physical Library and Regeneration
The Physical Library and Regeneration The Physical Library and Regeneration
The Physical Library and Regeneration
 
The National Library of Scotland in the 21st Century
The National Library of Scotland in the 21st CenturyThe National Library of Scotland in the 21st Century
The National Library of Scotland in the 21st Century
 
Daniella Hyslop - Libraries Change Lives Designing the Third Space
Daniella Hyslop - Libraries Change Lives Designing the Third SpaceDaniella Hyslop - Libraries Change Lives Designing the Third Space
Daniella Hyslop - Libraries Change Lives Designing the Third Space
 
Giáo trình Illustrator cs6
Giáo trình Illustrator cs6Giáo trình Illustrator cs6
Giáo trình Illustrator cs6
 
Flexoplex
FlexoplexFlexoplex
Flexoplex
 
Perl 5.10 in 2010
Perl 5.10 in 2010Perl 5.10 in 2010
Perl 5.10 in 2010
 
Creating Edinburgh's Virtual Library
Creating Edinburgh's Virtual Library Creating Edinburgh's Virtual Library
Creating Edinburgh's Virtual Library
 

Similar to Documentation vs test about cucumber but not only for vegetarians

OSDC 2009 Rails Turtorial
OSDC 2009 Rails TurtorialOSDC 2009 Rails Turtorial
OSDC 2009 Rails Turtorial
Yi-Ting Cheng
 
Don't RTFM, WTFM - Open Source Documentation - German Perl Workshop 2010
Don't RTFM, WTFM - Open Source Documentation - German Perl Workshop 2010Don't RTFM, WTFM - Open Source Documentation - German Perl Workshop 2010
Don't RTFM, WTFM - Open Source Documentation - German Perl Workshop 2010
singingfish
 
OpenSocial Intro
OpenSocial IntroOpenSocial Intro
OpenSocial Intro
Pamela Fox
 

Similar to Documentation vs test about cucumber but not only for vegetarians (20)

Rails Plugins - Linux For You, March 2011 Issue
Rails Plugins - Linux For You, March 2011 IssueRails Plugins - Linux For You, March 2011 Issue
Rails Plugins - Linux For You, March 2011 Issue
 
[Londyn 2011] Beyond cucumber management with cucumber.fm
[Londyn 2011] Beyond cucumber management with cucumber.fm[Londyn 2011] Beyond cucumber management with cucumber.fm
[Londyn 2011] Beyond cucumber management with cucumber.fm
 
Writing Software not Code with Cucumber
Writing Software not Code with CucumberWriting Software not Code with Cucumber
Writing Software not Code with Cucumber
 
OSDC 2009 Rails Turtorial
OSDC 2009 Rails TurtorialOSDC 2009 Rails Turtorial
OSDC 2009 Rails Turtorial
 
Intro To Django
Intro To DjangoIntro To Django
Intro To Django
 
Rails GUI Development with Ext JS
Rails GUI Development with Ext JSRails GUI Development with Ext JS
Rails GUI Development with Ext JS
 
Django - Framework web para perfeccionistas com prazos
Django - Framework web para perfeccionistas com prazosDjango - Framework web para perfeccionistas com prazos
Django - Framework web para perfeccionistas com prazos
 
[PHP 也有 Day] 垃圾留言守城記 - 用 Laravel 阻擋 SPAM 留言的奮鬥史
[PHP 也有 Day] 垃圾留言守城記 - 用 Laravel 阻擋 SPAM 留言的奮鬥史[PHP 也有 Day] 垃圾留言守城記 - 用 Laravel 阻擋 SPAM 留言的奮鬥史
[PHP 也有 Day] 垃圾留言守城記 - 用 Laravel 阻擋 SPAM 留言的奮鬥史
 
Don't RTFM, WTFM - Open Source Documentation - German Perl Workshop 2010
Don't RTFM, WTFM - Open Source Documentation - German Perl Workshop 2010Don't RTFM, WTFM - Open Source Documentation - German Perl Workshop 2010
Don't RTFM, WTFM - Open Source Documentation - German Perl Workshop 2010
 
Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017
 
I've (probably) been using Google App Engine for a week longer than you have
I've (probably) been using Google App Engine for a week longer than you haveI've (probably) been using Google App Engine for a week longer than you have
I've (probably) been using Google App Engine for a week longer than you have
 
]project-open[ Workflow Developer Tutorial Part 3
]project-open[ Workflow Developer Tutorial Part 3]project-open[ Workflow Developer Tutorial Part 3
]project-open[ Workflow Developer Tutorial Part 3
 
Zotonic tutorial EUC 2013
Zotonic tutorial EUC 2013Zotonic tutorial EUC 2013
Zotonic tutorial EUC 2013
 
OpenSocial Intro
OpenSocial IntroOpenSocial Intro
OpenSocial Intro
 
Working Effectively With Legacy Code
Working Effectively With Legacy CodeWorking Effectively With Legacy Code
Working Effectively With Legacy Code
 
Remote Config REST API and Versioning
Remote Config REST API and VersioningRemote Config REST API and Versioning
Remote Config REST API and Versioning
 
Front End Development for Back End Developers - vJUG24 2017
Front End Development for Back End Developers - vJUG24 2017Front End Development for Back End Developers - vJUG24 2017
Front End Development for Back End Developers - vJUG24 2017
 
Implementation of GUI Framework part3
Implementation of GUI Framework part3Implementation of GUI Framework part3
Implementation of GUI Framework part3
 
Metrics-Driven Engineering
Metrics-Driven EngineeringMetrics-Driven Engineering
Metrics-Driven Engineering
 
Boston Computing Review - Ruby on Rails
Boston Computing Review - Ruby on RailsBoston Computing Review - Ruby on Rails
Boston Computing Review - Ruby on Rails
 

Recently uploaded

Recently uploaded (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Documentation vs test about cucumber but not only for vegetarians

  • 1. Documentation vs Tests About tool Cucumber, but not only for vegetarians Michał Czyż
  • 3.
  • 5. @<estimation_number> • @1 @2 ● @3 @5 @8 @13
  • 6. @<initials> @bk @mw @rj
  • 7. @m<number> @i<number>
  • 11. @m1 @mc @__place_one::c_one Feature: Sample feature @i1 @2 Scenario: sample scenario one @i2 @1 @new Scenario: sample scenario
  • 12. #:::wireframe: http://some_url #:::page: place_one #:::component: c_one @m1 @mc Feature: Sample feature #:::estimation: 2 @i1 Scenario: sample scenario one
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. @m1 @_spec @m1 @_todo,@_backlog @mc @m1 ~@_done,@_qa,@_accepted @m1, @m2, @m3 @new
  • 18.
  • 19.
  • 20. Synchronization (remote branches) 1) stories_<latest> 2) stories_<timestam p>
  • 22.
  • 23.
  • 24.
  • 25. ./personas/product_own er.yml include: - signed in user - registered user about: represents the stakeholders and the business goals: - have control and overview of product building ... motiviations: - build great product points_of_pain: - delays in delivery
  • 26. @__login::sign_up Feature: Sign up In order to get access to protected sections of the site As a registered user I want to sign up Scenario: Visitor signs up with invalid data ... Scenario: Visitor signs up with valid data ...
  • 27.
  • 28. feature "Homepage", %q{ To update requirement for project product owner should be able to change feature content} do scenario "should show past event if no upcoming" do title, description = "Beer chess", "Happy drinking" at_time 1.month.ago do @website.has(:event, :title => title, :description => description) end @user.visit(homepage) within "article.event" do @user.should_see(title, description) @user.should_see_translated("events.last_event") end end
  • 29. # To update requirement for project # product owner # should be able to change feature content ## page: homepage ## developer: ps feature "Homepage", :milestone => '0.1' do # Given one month ago event was entered # When user open homepage # Then she should see this event on top ## wireframe: http://justproto.com/.... scenario "should show past event if no upcoming", :iteration => 'one', :status => 'done' do
  • 30.
  • 31. ?
  • 32. Contact info: Mail michalczyz@gmail.com Twitter cs3b Tools and usefull resources: https://github.com/aslakhellesoy/cucumber/wiki https://github.com/cs3b/cucumber_fm http://demo.cucumber.fm/documentation/features https://github.com/cavalle/steak https://github.com/cs3b/steak_fm Source of steak example [28] https://github.com/drugpl/drug-site/blob/master/spec/acceptance/homepage_spec.rb Font: http://www.fontsquirrel.com/fonts/TitilliumText Pictures [3,6] http://www.selleo.com [9,10] selleo – Rafał Bromirski [14,15,17,18] http://demo.cucumber.fm [20] selleo – Rafał Bromirski [23] from redmine [24] http://www.dreamstime.com/royalty-free-stock-photos-happy-with-laptop-image6621668 [26] http://www.dreamstime.com/royalty-free-stock-image-steaks-on-the-grill-image5835086