SlideShare a Scribd company logo
Behavior Driven Development with AngularJS & Jasmine
Behavior Driven Development with AngularJS & Jasmine
Behavior Driven Development with AngularJS & Jasmine
Behavior Driven Development with AngularJS & Jasmine
Behavior Driven Development with AngularJS & Jasmine
IASI, 10th May, 2014 
Behavior-Driven Development 
with 
& 
Remus Langu
Why should we 
be interested in BDD? 
Code 
Developer
Why should we 
be interested in BDD? 
Code 
Developer 
1 
Test 
Tester
Why should we 
be interested in BDD? 
Code 
Developer 
1 
Test 
Tester 
Bug 
2
Why should we 
be interested in BDD? 
Code 
Developer 
1 
Test 
Tester 
2 
3
Why should we 
be interested in BDD? 
Code 
Developer 
1 
Test 
Tester 
Bug 
3 
2 4
Why should we 
be interested in BDD? 
Code 
Developer 
1 
Test 
Tester 
3 5 
2 4
Why should we 
be interested in BDD? 
Code 
Developer 
1 
Test 
Tester 
3 5 
2 4 
Bug 
6 ....
The Ping-Pong Problem 
Code 
Developer 
Test 
Tester 
Ping 
Pong
Queuing Theory 
Feedback 
Testing 
Process 
Dev 
Process
Queuing Theory 
Feedback 
Testing 
Process 
Dev 
Testing 
Process
Test-First Development 
Developer 
Unit 
Test 
Code 
Failed 
Passed
Test-Driven Development 
Failed 
Unit 
Test Code 
Passed 
Design 
Refactor 
Developer 
Kent Beck
Behavior Driven Development with AngularJS & Jasmine
TDD Studies in Industry 
40-90 Defect Density 
15-35 Development Time
Related TDD Studies in Academia 
Study # programmers Quality effects Productivity 
effects 
Edwards¹ 
(Virginia Tech 2003) 
59 54% 
fewer defects 
N/A 
Kaufmann² 
(Bethel 2003) 
8 Improved 
information 
flow 
50% 
improvement 
Erdogmus³ 
(Torino 2005) 
35 no change 28% 
improvement 
1. “Rethinking Computer Science Education from a Test-first Perspective”, OOPSLA 
2. “Implications of test-driven development: a pilot study”, OOPSLA 
3. “On the Effectiveness of Test-first Approach to Programming”, IEEE Trans on SE
Projects developed with TDD 
Fit: Framework for Integrated Test 
MSBuild
Test-Driven Development 
Failed 
Unit 
Test Code 
Passed 
Design 
Refactor 
Developer
Behavior-Driven Development 
Failed 
Unit Test Code 
TDD 
Refactor Passed 
Design 
Feature 
Test 
Failed 
BDD 
Passed 
Dan North
BDD cuts the Costs from 
WATERFAILL 
Code 
CODING Test 
TESTING 
Req. 
ANALYSIS 
Bug 
Untestable 
Unwanted 
UML 
DESIGN
BDD cuts the Costs from 
WATERFAILL 
$$$ 
Time 
Cost of Change
BDD cuts the Costs from 
WATERFAILL 
$$$ 
Time 
Cost of Change
BDD cuts the Costs from 
WATERFAILL 
$$$ 
Time 
Cost of Change
Ubiquitous Language 
Tester 
Developer 
Business 
Analyst 
Customer 
Designer 
UI Designer 
DSL
How BDD transforms 
an Idea to Working Software 
Business 
Value 
Customer 
Vision 
Feature 
Sets 
Scenarios Stories 
Code 
UI 
Design 
DSL 
Tester 
Business 
Analyst 
UI Designer 
Domain 
Developer Expert
BDD Definition 
“BDD is a second-generation, 
outside-in, pull-based, multiple-stakeholder, 
multiple-scale, high-automation, 
agile methodology.”
BDD Overview 
TDD 
ATDD 
DDD 
NLP 
2nd Generation 
User Interaction Outside In 
Business Value 
MMFs 
Multiple Scale 
Pull-based 
Multiple Stakeholders 
High Automation 
Agile Methodology 
BDD
How do I do it as a Developer? 
Behavior-Driven Development 
DEMO 
with 
&
Conclusion 
Customer 
Failed 
BDD 
Passed 
Acceptance 
Test 
Tester 
Developer 
Unit Test Failed 
Code 
TDD 
Refactor Passed 
Design 
Business 
Analyst 
UI Designer
A network of 
PREMIUM people. 
REMUS LANGU 
Senior Software Engineer | Speaker | Trainer 
Husband | Father | Orthodox Christian 
RemusLangu@yahoo.com
Recommendations 
Dan North 
How to sell BDD to the business 
Liz Keogh 
Don't let your process hide your ignorance
IASI, 10th May, 2014 
THANK YOU 
Your questions are welcome
Behavior Driven Development with AngularJS & Jasmine
Gherkin 
Domain Specific Language Template 
Feature: Title - one line 
describing the story 
In order to [benefit] 
As a [role] 
I want to [feature] 
Scenario: Title 
Given [context] 
And [some more context]… 
When [an event occurs] 
Then [outcome] 
And [another outcome]…

More Related Content

PDF
Being Test-Driven: It's not really about testing
PDF
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
PPTX
Tdd 4 everyone full version
PDF
Big Ball of Mud: Software Maintenance Nightmares
PPTX
To document or not to document? An exploratory study on developers' motivatio...
PDF
Bdd for legacy system
PDF
Test driven development vs Behavior driven development
PDF
To document or not to document? An exploratory study on developers' motivatio...
Being Test-Driven: It's not really about testing
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Tdd 4 everyone full version
Big Ball of Mud: Software Maintenance Nightmares
To document or not to document? An exploratory study on developers' motivatio...
Bdd for legacy system
Test driven development vs Behavior driven development
To document or not to document? An exploratory study on developers' motivatio...

What's hot (20)

PDF
BBOM-AgilePT-2010
PPTX
Reducing Technical Debt
PDF
Code quality as a built-in process
PDF
Introduction to Test Driven Development
PPTX
Designing with tests
PPT
Behavior Driven Development Pros and Cons
PDF
Caring about Code Quality
KEY
Getting Comfortable with BDD
PPTX
IS3242 Case Presentation
 
PDF
Behavior Driven Development (BDD)
PDF
Impression from Geecon 2014
ODP
TDD - Test Driven Development
PDF
Improve your TDD skills
PDF
Clean Software Design - DevNot Summit Istanbul 2017
PDF
Global Day of Coderetreat'14 - Istanbul Event
PPTX
Test driven development(tdd)
PDF
The WHY behind TDD/BDD and the HOW with RSpec
PDF
BDD in Action – principles, practices and real-world application
PPT
PPTX
Extreme Programming (XP) for Dummies
BBOM-AgilePT-2010
Reducing Technical Debt
Code quality as a built-in process
Introduction to Test Driven Development
Designing with tests
Behavior Driven Development Pros and Cons
Caring about Code Quality
Getting Comfortable with BDD
IS3242 Case Presentation
 
Behavior Driven Development (BDD)
Impression from Geecon 2014
TDD - Test Driven Development
Improve your TDD skills
Clean Software Design - DevNot Summit Istanbul 2017
Global Day of Coderetreat'14 - Istanbul Event
Test driven development(tdd)
The WHY behind TDD/BDD and the HOW with RSpec
BDD in Action – principles, practices and real-world application
Extreme Programming (XP) for Dummies
Ad

Viewers also liked (19)

PDF
Jasmine BDD for Javascript
PDF
Jasmine - why JS tests don't smell fishy
PDF
BDD agile china2012_share
PDF
Robotlegs AS3 from Flash and the City 2010
PDF
The Dark Side of Single Page Applications
PDF
DEV.BG - Angular 1 and Jasmine (Unit Testing and TDD)
PDF
Unit Testing Guidelines
PDF
Test-Driven Development of AngularJS Applications
PPTX
Testing your Single Page Application
PPT
Jasmine - A BDD test framework for JavaScript
PPTX
TDD Basics with Angular.js and Jasmine
PPTX
Unit testing in JavaScript with Jasmine and Karma
PDF
Advanced Jasmine - Front-End JavaScript Unit Testing
PDF
Karma - JS Test Runner
PPT
Behavior Driven Development (BDD) and Agile Testing
PPTX
Black box testing or behavioral testing
PPTX
Behavior Driven Development
PPTX
Introduction to Angularjs
PDF
AngularJS Unit Testing w/Karma and Jasmine
Jasmine BDD for Javascript
Jasmine - why JS tests don't smell fishy
BDD agile china2012_share
Robotlegs AS3 from Flash and the City 2010
The Dark Side of Single Page Applications
DEV.BG - Angular 1 and Jasmine (Unit Testing and TDD)
Unit Testing Guidelines
Test-Driven Development of AngularJS Applications
Testing your Single Page Application
Jasmine - A BDD test framework for JavaScript
TDD Basics with Angular.js and Jasmine
Unit testing in JavaScript with Jasmine and Karma
Advanced Jasmine - Front-End JavaScript Unit Testing
Karma - JS Test Runner
Behavior Driven Development (BDD) and Agile Testing
Black box testing or behavioral testing
Behavior Driven Development
Introduction to Angularjs
AngularJS Unit Testing w/Karma and Jasmine
Ad

Similar to Behavior Driven Development with AngularJS & Jasmine (20)

PPTX
Topic tdd-and-bdd b4usolution
PPTX
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
PPTX
Gateway to Agile: XP and BDD
PDF
Inside Behavior Driven Development
PDF
How BDD enables True CI/CD
PPTX
Tdd and bdd
PDF
Introduction to TDD and BDD
PPTX
When to embrace Behavior Driven Development?
PDF
TDD vs BDD_ Which Development Approach is Best for Your Project.pdf
PPTX
Making the Move to Behavior Driven Development
PDF
Mastering BDD - Eran Kinsbruner Workshop Quest 2018
PDF
Making the Move to Behavior-Driven Development
PPT
Bdd with m spec
PPTX
Behavior Driven Development
PDF
TDD vs. BDD: A Practical Comparison for Modern Development Teams
PDF
Iakiv Kramarenko - Don't be fooled with BDD, automation engineer
PDF
Dont be fooled with BDD, automation engineer! ;)
PDF
Dont be fooled with BDD, automation engineer! ;)
PDF
TDD and BDD and ATDD
ODP
Introduction to BDD
Topic tdd-and-bdd b4usolution
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Gateway to Agile: XP and BDD
Inside Behavior Driven Development
How BDD enables True CI/CD
Tdd and bdd
Introduction to TDD and BDD
When to embrace Behavior Driven Development?
TDD vs BDD_ Which Development Approach is Best for Your Project.pdf
Making the Move to Behavior Driven Development
Mastering BDD - Eran Kinsbruner Workshop Quest 2018
Making the Move to Behavior-Driven Development
Bdd with m spec
Behavior Driven Development
TDD vs. BDD: A Practical Comparison for Modern Development Teams
Iakiv Kramarenko - Don't be fooled with BDD, automation engineer
Dont be fooled with BDD, automation engineer! ;)
Dont be fooled with BDD, automation engineer! ;)
TDD and BDD and ATDD
Introduction to BDD

More from Remus Langu (8)

PDF
Front end architecture
PDF
Handling variations in emerging designs
PDF
Training AngularJS & Ionic
PPTX
Single page applications with AngularJS
PPTX
Single page interface challenges in modern web applications
PPTX
Client side modularization for modern web applications
PPTX
Code qualities and practices to achieve them
PPTX
Comfortable code
Front end architecture
Handling variations in emerging designs
Training AngularJS & Ionic
Single page applications with AngularJS
Single page interface challenges in modern web applications
Client side modularization for modern web applications
Code qualities and practices to achieve them
Comfortable code

Recently uploaded (20)

PDF
Nekopoi APK 2025 free lastest update
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
L1 - Introduction to python Backend.pptx
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
AI in Product Development-omnex systems
PDF
medical staffing services at VALiNTRY
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
System and Network Administraation Chapter 3
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Digital Strategies for Manufacturing Companies
PDF
top salesforce developer skills in 2025.pdf
PDF
Understanding Forklifts - TECH EHS Solution
Nekopoi APK 2025 free lastest update
ISO 45001 Occupational Health and Safety Management System
How to Choose the Right IT Partner for Your Business in Malaysia
L1 - Introduction to python Backend.pptx
How Creative Agencies Leverage Project Management Software.pdf
AI in Product Development-omnex systems
medical staffing services at VALiNTRY
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
System and Network Administraation Chapter 3
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Odoo Companies in India – Driving Business Transformation.pdf
Design an Analysis of Algorithms II-SECS-1021-03
Wondershare Filmora 15 Crack With Activation Key [2025
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Which alternative to Crystal Reports is best for small or large businesses.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
Digital Strategies for Manufacturing Companies
top salesforce developer skills in 2025.pdf
Understanding Forklifts - TECH EHS Solution

Behavior Driven Development with AngularJS & Jasmine

  • 6. IASI, 10th May, 2014 Behavior-Driven Development with & Remus Langu
  • 7. Why should we be interested in BDD? Code Developer
  • 8. Why should we be interested in BDD? Code Developer 1 Test Tester
  • 9. Why should we be interested in BDD? Code Developer 1 Test Tester Bug 2
  • 10. Why should we be interested in BDD? Code Developer 1 Test Tester 2 3
  • 11. Why should we be interested in BDD? Code Developer 1 Test Tester Bug 3 2 4
  • 12. Why should we be interested in BDD? Code Developer 1 Test Tester 3 5 2 4
  • 13. Why should we be interested in BDD? Code Developer 1 Test Tester 3 5 2 4 Bug 6 ....
  • 14. The Ping-Pong Problem Code Developer Test Tester Ping Pong
  • 15. Queuing Theory Feedback Testing Process Dev Process
  • 16. Queuing Theory Feedback Testing Process Dev Testing Process
  • 17. Test-First Development Developer Unit Test Code Failed Passed
  • 18. Test-Driven Development Failed Unit Test Code Passed Design Refactor Developer Kent Beck
  • 20. TDD Studies in Industry 40-90 Defect Density 15-35 Development Time
  • 21. Related TDD Studies in Academia Study # programmers Quality effects Productivity effects Edwards¹ (Virginia Tech 2003) 59 54% fewer defects N/A Kaufmann² (Bethel 2003) 8 Improved information flow 50% improvement Erdogmus³ (Torino 2005) 35 no change 28% improvement 1. “Rethinking Computer Science Education from a Test-first Perspective”, OOPSLA 2. “Implications of test-driven development: a pilot study”, OOPSLA 3. “On the Effectiveness of Test-first Approach to Programming”, IEEE Trans on SE
  • 22. Projects developed with TDD Fit: Framework for Integrated Test MSBuild
  • 23. Test-Driven Development Failed Unit Test Code Passed Design Refactor Developer
  • 24. Behavior-Driven Development Failed Unit Test Code TDD Refactor Passed Design Feature Test Failed BDD Passed Dan North
  • 25. BDD cuts the Costs from WATERFAILL Code CODING Test TESTING Req. ANALYSIS Bug Untestable Unwanted UML DESIGN
  • 26. BDD cuts the Costs from WATERFAILL $$$ Time Cost of Change
  • 27. BDD cuts the Costs from WATERFAILL $$$ Time Cost of Change
  • 28. BDD cuts the Costs from WATERFAILL $$$ Time Cost of Change
  • 29. Ubiquitous Language Tester Developer Business Analyst Customer Designer UI Designer DSL
  • 30. How BDD transforms an Idea to Working Software Business Value Customer Vision Feature Sets Scenarios Stories Code UI Design DSL Tester Business Analyst UI Designer Domain Developer Expert
  • 31. BDD Definition “BDD is a second-generation, outside-in, pull-based, multiple-stakeholder, multiple-scale, high-automation, agile methodology.”
  • 32. BDD Overview TDD ATDD DDD NLP 2nd Generation User Interaction Outside In Business Value MMFs Multiple Scale Pull-based Multiple Stakeholders High Automation Agile Methodology BDD
  • 33. How do I do it as a Developer? Behavior-Driven Development DEMO with &
  • 34. Conclusion Customer Failed BDD Passed Acceptance Test Tester Developer Unit Test Failed Code TDD Refactor Passed Design Business Analyst UI Designer
  • 35. A network of PREMIUM people. REMUS LANGU Senior Software Engineer | Speaker | Trainer Husband | Father | Orthodox Christian RemusLangu@yahoo.com
  • 36. Recommendations Dan North How to sell BDD to the business Liz Keogh Don't let your process hide your ignorance
  • 37. IASI, 10th May, 2014 THANK YOU Your questions are welcome
  • 39. Gherkin Domain Specific Language Template Feature: Title - one line describing the story In order to [benefit] As a [role] I want to [feature] Scenario: Title Given [context] And [some more context]… When [an event occurs] Then [outcome] And [another outcome]…