behaviour driven development (bdd) with apex on force.com
DESCRIPTION
How do you known you're building the Force.com apps that business values the most? Behaviour Driven Development (BDD) has evolved to help developers create code that is self-documenting, has an automated test suite, and is open to change. This results in apps being much easier to adapt to the changes in your organization. Using features and scenarios, and a little neuro-linguistic programming, BDD also helps developers understand what business really wants the most. Not everything can be high priority! Join us to understand how to apply BDD to your Apex development to create clean code, and communicate effectively with business to build software that matters.TRANSCRIPT
Behaviour Driven Development With Apex on Force.comOr “Here Comes Pepino”
Carolina Ruiz Medina, FinancialForce.com, Principal Developer@carolenlanubePaul Battisson, Xactium Cloud Solutions, Technology Architect@pbattisson
Objectives1. What is Behaviour Driven Development? 2. Why should you care?3. How can we use Behaviour Driven Development with Apex?4. Some awesome links to some awesome things for you
awesome people
What is Behaviour Driven Development?• Animal/Vegetable/Mineral/Machine?• TDD = Test Driven Development• BDD = Behavior Driven Development• Specs define your tests which define your code• What?
“Old Skool”
Code is written to mirror Developer’s understanding of spec. - focus is on “How?”
Using BDD
Focus is on “What” to be implemented for the system. A shared understanding by discussing examples
Original Idea
Intelligent Discussion
Options
Step Definitions in Gherkin
Pepino!
Demo time!
Summary• Agree definitions• Implement Behavio(u)r Defintions interface
• Return strings containing the required code• See examples in repository
• Upload feature file• Download generated test class
What else/future stuff?• Multi-language• Auto-upload of class for you• Auto-run of tests• Build actions/ant commands/API
Paul Battisson Carolina Ruiz Medina
@pbattisson @carolenlanube
Github Repository - http://bit.ly/HD5viCDan North – Introducing BDD - http://bit.ly/h9ADGw
Cucumber – cukes.info