BDD with F# at DDD9
-
Upload
phillip-trelford -
Category
Technology
-
view
1.542 -
download
1
Transcript of BDD with F# at DDD9
BDD with F#Phillip Trelford
@ptrelfordhttp://trelford.com/blog
Jargon Buster
0FP = Functional Programming0 Immutable = Doesn’t change0 Idempotent = Free from side effects0DSL = Domain Specific Language 0BDD = Behaviour Driven Development
0Agile Acceptance Testing0Acceptance-Test Driven Development 0Story-Testing0Specification by Example
Fun and Profit
0 Introduction0Fun with F#
0 Intro -> Code -> What next0Profit with BDD
0 Intro -> Code -> What next0Summary0Q & A
Fun and Profit
F# BDD
Functional
Myth 1
“F# is a purely functional
programming language”
F# is more a mix of
F#
C#
OCamlPython
Code Samples
1: // Declare a local value (inferred type is string)2: let world = "world"3: 4: // Using '%s' format specifier to include string parameter
5: printfn "Hello %s!" world
Myth 2
“FP Will Solve Multi-Core”
Parallel Haskell
Myth 3
“C/C++ is always faster”
Performance
Applications
F#Explorative
Succinct
Language Orientated
Integrated
Concurrent
F# Books
Meet the F#ers
@rickysaurus
@tomaspetricek
@dmohl
Agile Manifesto
0 Individuals and interactions over processes and tools
0 Working software over comprehensive documentation
0 Customer collaboration over contract negotiation
0 Responding to change over following a plan
User Stories
Acceptance Test Scenario
Refunded items should be returned to stock0Given a customer buys a black jumper0And I have 3 black jumpers left in stock0When he returns the black jumper for a refund0Then I should have 4 black jumpers in stock
Behaviour Driven Development
“Acceptance criteria should be executable”- Dan North in Introducing BDD Article
BDD Frameworks
General .Net specific
0Concordion0Cucumber0 JBehave0 JSpec0RSpec (Ruby)
0NBehave0Racounteur0SpecFlow0StorEvil0TickSpec (F#)
TickSpec
Demo
BDD Books
Lifetime BDD Awards
@tastapod
@lunivore
@gojkoadzic
IT Alignment Trap
Q & A
Or contact me in confidence:0Twitter: @ptrelford0E-mail: phil(at)trelford.com0 In-person: http://meetup.com/FSharpLondon