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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

BDD with F# at DDD9

1,521
views

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