behavior driven development - live webinar

Post on 02-Dec-2014

174 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

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

What is BDD?

August 20th, 2014

PANELISTS

Luis RaedSenior Developer

Mauricio BesséProject Leader

BDD

Concept

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

TOPICS

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

HISTORY

• Waterfall• Agile

DEFINITION

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.

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

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".

IMPLEMENTATION

Initial stateFirst approachBDD Process

INITIAL STATE

FIRST APPROACH

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

BDD PROCESS

ISSUE TRACKER

FAILING SCENARIO

CODING PHASE

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

PASSING SCENARIOS

REFACTOR CODE

BENEFITS

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

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".

BETTER PRODUCT UNDERSTANDING

REDUCE COMMUNICATION BARRIERS

ENCOURAGE QUALITY SOFTWARE

MATCH STAKEHOLDER EXPECTATIONS

REGRESSION REPORT

STATISTICS

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.

THANK YOU

Luis Raedlraed@belatrixsf.com

Mauricio Bessémbesse@belatrixsf.com

top related