Your SlideShare is downloading. ×
0
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
BDD with F# at DDD9
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

BDD with F# at DDD9

1,553

Published on

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
1,553
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
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
  • Python = light, C# = OO, OCaml = Functional
  • http://www.texasmulticoretechnologies.com/technology/example/
  • http://blog.dannorth.net/introducing-bdd/
  • Transcript

    • 1. BDD with F#<br />Phillip Trelford<br />@ptrelford<br />http://trelford.com/blog<br />
    • 2. Jargon Buster<br />FP = Functional Programming<br />Immutable = Doesn’t change<br />Idempotent = Free from side effects<br />DSL = Domain Specific Language <br />BDD = Behaviour Driven Development <br />Agile Acceptance Testing<br />Acceptance-Test Driven Development <br />Story-Testing<br />Specification by Example<br />
    • 3. Fun and Profit<br />Introduction<br />Fun with F#<br />Intro -&gt; Code -&gt; What next<br />Profit with BDD<br />Intro -&gt; Code -&gt; What next<br />Summary<br />Q &amp; A<br />
    • 4. Fun and Profit<br />
    • 5. Functional<br />
    • 6. Myth 1<br />“F# is a purely functional programming language”<br />
    • 7. F# is more a mix of<br />
    • 8. Code Samples<br />1: // Declare a local value (inferred type is string)<br />2: letworld=&quot;world&quot;<br />3: <br />4: // Using &apos;%s&apos; format specifier to include string parameter<br />5: printfn&quot;Hello %s!&quot;world<br /> <br />
    • 9. Myth 2<br />“FP Will Solve Multi-Core”<br />
    • 10. Parallel Haskell<br />
    • 11. Myth 3<br />“C/C++ is always faster”<br />
    • 12. Performance<br />
    • 13. Applications<br />
    • 14. F# Books<br />
    • 15. Meet the F#ers<br />
    • 16. Agile Manifesto<br />Individuals and interactions over <br /> processes and tools<br />Working software over <br /> comprehensive documentation<br />Customer collaboration over <br /> contract negotiation<br />Responding to change over <br /> following a plan<br />
    • 17. User Stories<br />
    • 18. Acceptance Test Scenario<br />Refunded items should be returned to stock<br />Given a customer buys a black jumper<br />And I have 3 black jumpers left in stock<br />When he returns the blackjumper for a refund<br />Then I should have 4 black jumpers in stock<br />
    • 19. Behaviour Driven Development<br />“Acceptance criteria should be executable”<br /><ul><li>Dan North in Introducing BDD Article</li></li></ul><li>BDD Frameworks<br />General<br />.Net specific<br />Concordion<br />Cucumber<br />JBehave<br />JSpec<br />RSpec (Ruby)<br />NBehave<br />Racounteur<br />SpecFlow<br />StorEvil<br />TickSpec (F#)<br />
    • 20. TickSpec<br />
    • 21. Demo <br />
    • 22. BDD Books<br />
    • 23. Lifetime BDD Awards<br />
    • 24. IT Alignment Trap<br />
    • 25. Q &amp; A<br />Or contact me in confidence:<br />Twitter: @ptrelford<br />E-mail: phil(at)trelford.com<br />In-person: http://meetup.com/FSharpLondon<br />

    ×