BDE:Behavior DrivenEducationA Story of Learning RORDaniel Levenson
DISCLAIMER● This presentation is most likely not going to  teach you anything new● overview and reflection of my experienc...
DefinitionsTest Driven Development (TDD):(paraphrased from http://en.wikipedia.org/wiki/Test-driven_development)          ...
Path to Rails Enlightenment● Ruby● MVC● Object Relationships● Testing● Vim!
The hardest button tobuttonname the band?"Write the code you wish you had"  - Cuke GodWhat to write.
How to streamline thattranslation● Capture client-desired functionality in stories● The base of the pyramid
Pivotal Tracker● Scenarios as use cases  ○ Clients (sometime) know what they want, devs got to    know possible points of ...
Behavior Driven Education● loose definition: The process of learning  ROR (or any other high-level testable  language) thr...
Cucumber Workflow● Outside-In Cucumber Workflow  ○   create feature file      ■     touch features/viewing_career_matches....
BDE Advantages● Start with what you know!● english -> code, not what the hell does this  line do● bite-sized● green is goo...
BDE Disadvantages● Cucumber setup?    ○ bundle install cucumber●   Table, Scenario Outlines, Hooks    ○ tab bit more knowl...
Unrelatedly, Thank You!● Dan Levenson● smartlogicsolutions.com
Behavior Driven Education: A Story of Learning ROR
Behavior Driven Education: A Story of Learning ROR
Behavior Driven Education: A Story of Learning ROR
Upcoming SlideShare
Loading in …5
×

Behavior Driven Education: A Story of Learning ROR

292 views
213 views

Published on

Dan Levenson walks us through his path to Rails Enlightenment

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
292
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Behavior Driven Education: A Story of Learning ROR

  1. 1. BDE:Behavior DrivenEducationA Story of Learning RORDaniel Levenson
  2. 2. DISCLAIMER● This presentation is most likely not going to teach you anything new● overview and reflection of my experience learning web development ○ maybe some useful take home messages?!
  3. 3. DefinitionsTest Driven Development (TDD):(paraphrased from http://en.wikipedia.org/wiki/Test-driven_development) 1. Write a failing "automated unit test" 2. Write code to make this test past 3. Refactor - making sure that the test (and the rest of the suite) still passes 4. Repeat steps 1-3Behavior Driven Development (BDD):(paraphrased from http://en.wikipedia.org/wiki/Test-driven_development) "based on TDD" - greater emphasis on domain driven design - keyword: outside-in development
  4. 4. Path to Rails Enlightenment● Ruby● MVC● Object Relationships● Testing● Vim!
  5. 5. The hardest button tobuttonname the band?"Write the code you wish you had" - Cuke GodWhat to write.
  6. 6. How to streamline thattranslation● Capture client-desired functionality in stories● The base of the pyramid
  7. 7. Pivotal Tracker● Scenarios as use cases ○ Clients (sometime) know what they want, devs got to know possible points of entry● Why implementing in the first place ○ In order to ...● I am not good at remembering things, ○ pivotal is.
  8. 8. Behavior Driven Education● loose definition: The process of learning ROR (or any other high-level testable language) through outside-in integration testing● one clear implementation of BDE: ○ Starting with Cucumber
  9. 9. Cucumber Workflow● Outside-In Cucumber Workflow ○ create feature file ■ touch features/viewing_career_matches.feature ○ write some/all of the English language Gherkin statements that are necessary to do the feature ○ watch them turn orange! ■ cucumber features/viewing_career_matches.feature ● Orange --> Gherkin steps are undefined = no matching step definition ○ write step definitions one at a time (for starters) ■ step definitions should include assertions ○ watch them turn turn red! ■ no code you wish you had ○ start writing the code you wish you had
  10. 10. BDE Advantages● Start with what you know!● english -> code, not what the hell does this line do● bite-sized● green is good● instills importance of testing
  11. 11. BDE Disadvantages● Cucumber setup? ○ bundle install cucumber● Table, Scenario Outlines, Hooks ○ tab bit more knowledge required to use these features, but not required
  12. 12. Unrelatedly, Thank You!● Dan Levenson● smartlogicsolutions.com

×