behavior driven development - live webinar

29
What is BDD? August 20 th , 2014

Upload: belatrixsoftware

Post on 02-Dec-2014

173 views

Category:

Software


0 download

DESCRIPTION

Multiple technologies, changing requirements, challenging reality ... The number of factors, that affect the performance of software teams, is constantly growing. Moreover, there are so many different roles in a project (Developers, Testers, Leaders, Managers, Product Owners) and reaching a clear communication between them is even more difficult. Behavior-Driven Development (BDD) is an answer to all those challenges. Belatrix experts Luis Raed, Sr. Developer at Belatrix Software, and Mauricio Besse, Project Leader at Belatrix Software analyzed the BDD approach, its practical application and benefits for software development and QA teams. You can watch the recording here: https://www.youtube.com/watch?v=NldOrd_4N08&feature=youtu.be

TRANSCRIPT

Page 1: Behavior Driven Development - Live Webinar

What is BDD?

August 20th, 2014

Page 2: Behavior Driven Development - Live Webinar

PANELISTS

Luis RaedSenior Developer

Mauricio BesséProject Leader

Page 3: Behavior Driven Development - Live Webinar

BDD

Concept

A new process that helps to manage software development projects efficiently.

Page 4: Behavior Driven Development - Live Webinar

TOPICS

• History• Definition• Language example• Implementation example• Benefits• Statistics• Q&A

Page 5: Behavior Driven Development - Live Webinar

HISTORY

• Waterfall• Agile

Page 6: Behavior Driven Development - Live Webinar

DEFINITION

Page 7: Behavior Driven Development - Live Webinar

LANGUAGE EXAMPLE

User Story: As a registered user, I want to login in order to access to Home page. If the username or password are invalid, I will stay in login page and the system will show an error message.

Task: Validate username and password. If they are valid, redirect the user to Home page, otherwise stay in the page and show an error message.

Page 8: Behavior Driven Development - Live Webinar

Scenario: Valid loginGiven The user is in Login page And the user enters a valid username

And the user enters a valid passwordWhen the user logs inThen the user is redirected to Home page

GHERKIN

Page 9: Behavior Driven Development - Live Webinar

OTHER SCENARIOSScenario: Enter an invalid password Given The user is in Login page And the user enters a valid username

And the user enters an invalid password When the user logs in Then the user is redirected to the Login page And the system shows the following message: "Invalid Username or Password. Please, check the values and try again". Scenario: Enter an invalid username Given The user is in Login page And the user enters an invalid username

And the user enters a valid password When the user logs in Then the user is redirected to the Login page And the system shows the following message: "Invalid Username or Password. Please, check the values and try again". Scenario: Enter an invalid username and an invalid password Given The user is in Login page And the user enters an invalid username

And the user enters an invalid password When the user logs in Then the user is redirected to the Login page And the system shows the following message: "Invalid Username or Password. Please, check the values and try again".

Page 10: Behavior Driven Development - Live Webinar

IMPLEMENTATION

Initial stateFirst approachBDD Process

Page 11: Behavior Driven Development - Live Webinar

INITIAL STATE

Page 12: Behavior Driven Development - Live Webinar

FIRST APPROACH

• Communication• Collaboration• Quality issues• Regression Analysis• Traceability of requirements

Page 13: Behavior Driven Development - Live Webinar

BDD PROCESS

Page 14: Behavior Driven Development - Live Webinar

ISSUE TRACKER

Page 15: Behavior Driven Development - Live Webinar

FAILING SCENARIO

Page 16: Behavior Driven Development - Live Webinar

CODING PHASE

1. Write failing unit test2. Write code to make the test pass3. Refactor

Page 17: Behavior Driven Development - Live Webinar

PASSING SCENARIOS

Page 18: Behavior Driven Development - Live Webinar

REFACTOR CODE

Page 19: Behavior Driven Development - Live Webinar

BENEFITS

• Live documentation• Better product understanding• Reduction of communication barriers• Improvement of quality software• Stakeholder’s expectations achieved

Page 20: Behavior Driven Development - Live Webinar

LIVE DOCUMENTATIONScenario: Enter an invalid password Given The user is in Login page And the user enter a valid username

And the user enter an invalid password When the user logs in Then the user is redirected to the Login page And the system shows the following message: "Invalid Username or Password. Please, check the values and try again". Scenario: Enter an invalid username Given The user is in Login page And the user enter an invalid username

And the user enter a valid password When the user logs in Then the user is redirected to the Login page And the system shows the following message: "Invalid Username or Password. Please, check the values and try again".

Page 21: Behavior Driven Development - Live Webinar

BETTER PRODUCT UNDERSTANDING

Page 22: Behavior Driven Development - Live Webinar

REDUCE COMMUNICATION BARRIERS

Page 23: Behavior Driven Development - Live Webinar

ENCOURAGE QUALITY SOFTWARE

Page 24: Behavior Driven Development - Live Webinar

MATCH STAKEHOLDER EXPECTATIONS

Page 25: Behavior Driven Development - Live Webinar

REGRESSION REPORT

Page 26: Behavior Driven Development - Live Webinar

STATISTICS

Page 27: Behavior Driven Development - Live Webinar

CONCLUSION

1. Increasing the chances of success of the project.2. Improving communication, collaboration and software quality.3. Concentrating on key features for stakeholders.4. Using a common and effective language.

Page 28: Behavior Driven Development - Live Webinar

THANK YOU

Luis [email protected]

Mauricio Bessé[email protected]

Page 29: Behavior Driven Development - Live Webinar