behaviour driven development (bdd) with apex on force.com

15
Behaviour Driven Development With Apex on Force.com Or “Here Comes Pepino” Carolina Ruiz Medina, FinancialForce.com, Principal Developer @carolenlanube Paul Battisson, Xactium Cloud Solutions, Technology Architect @pbattisson

Upload: salesforce-developers

Post on 18-Dec-2014

74 views

Category:

Technology


2 download

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

Page 1: Behaviour Driven Development (BDD) With Apex on Force.com

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

Page 2: Behaviour Driven Development (BDD) With Apex on Force.com

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

Page 3: Behaviour Driven Development (BDD) With Apex on Force.com

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?

Page 4: Behaviour Driven Development (BDD) With Apex on Force.com

“Old Skool”

Code is written to mirror Developer’s understanding of spec. - focus is on “How?”

Page 5: Behaviour Driven Development (BDD) With Apex on Force.com

Using BDD

Focus is on “What” to be implemented for the system. A shared understanding by discussing examples

Page 6: Behaviour Driven Development (BDD) With Apex on Force.com

Original Idea

Page 7: Behaviour Driven Development (BDD) With Apex on Force.com

Intelligent Discussion

Page 8: Behaviour Driven Development (BDD) With Apex on Force.com

Options

Page 9: Behaviour Driven Development (BDD) With Apex on Force.com

Step Definitions in Gherkin

Page 10: Behaviour Driven Development (BDD) With Apex on Force.com

Pepino!

Page 11: Behaviour Driven Development (BDD) With Apex on Force.com

Demo time!

Page 12: Behaviour Driven Development (BDD) With Apex on Force.com

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

Page 13: Behaviour Driven Development (BDD) With Apex on Force.com

What else/future stuff?• Multi-language• Auto-upload of class for you• Auto-run of tests• Build actions/ant commands/API

Page 14: Behaviour Driven Development (BDD) With Apex on Force.com

Paul Battisson Carolina Ruiz Medina

@pbattisson @carolenlanube

Github Repository - http://bit.ly/HD5viCDan North – Introducing BDD - http://bit.ly/h9ADGw

Cucumber – cukes.info

Page 15: Behaviour Driven Development (BDD) With Apex on Force.com