Upload
bankingt702sanskruti
View
109
Download
4
Tags:
Embed Size (px)
Citation preview
BDDBehavior Driven Development
How traditional projects fail
• Delivering Late or Over Budget
• Delivering the Wrong Thing
• Unstable in Production
• Costly to Maintain
Agile
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
Cost of going agile
• Outcome-Based Planning
• Streaming Requirements
• Evolving Design
• Changing Existing Code
• Frequent Code Integration
• Continual Regression Testing
• Frequent Production Releases
Three principles of BDD
• Enough is enough - Up-front planning, analysis, and design all have a diminishing return. We shouldn’t do less than we need to get started, but any more than that is wasted effort.
• Deliver stakeholder value - If you are doing something that isn’t either delivering value or increasing your ability to deliver value, stop doing it, and do something else instead.
• It’s all behavior - Whether at the code level, the application level, or beyond, we can use the same thinking and the same linguistic constructs to describe behavior at any level of granularity.
TDD vs BDD
• TDD tests what an object is…
• BDD tests what an object does…
Code Exercise
• Build a Set implementation n java with the following APIs-
• empty()
• size()
• add()
• contains()
• remove()
• Dynamic expansion
Specification Code
Test Runner
Eclipse perspective
empty( ) specification
Name of the test
Pre conditions
Expectation
empty( ) implementation
Just enough to pass test case!!!!
More specifications
Moreimplementation
BDDLifecycle