behavior driven development - live webinar
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.beTRANSCRIPT
![Page 1: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/1.jpg)
What is BDD?
August 20th, 2014
![Page 2: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/2.jpg)
PANELISTS
Luis RaedSenior Developer
Mauricio BesséProject Leader
![Page 3: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/3.jpg)
BDD
Concept
A new process that helps to manage software development projects efficiently.
![Page 4: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/4.jpg)
TOPICS
• History• Definition• Language example• Implementation example• Benefits• Statistics• Q&A
![Page 5: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/5.jpg)
HISTORY
• Waterfall• Agile
![Page 6: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/6.jpg)
DEFINITION
![Page 7: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/10.jpg)
IMPLEMENTATION
Initial stateFirst approachBDD Process
![Page 11: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/11.jpg)
INITIAL STATE
![Page 12: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/12.jpg)
FIRST APPROACH
• Communication• Collaboration• Quality issues• Regression Analysis• Traceability of requirements
![Page 13: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/13.jpg)
BDD PROCESS
![Page 14: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/14.jpg)
ISSUE TRACKER
![Page 15: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/15.jpg)
FAILING SCENARIO
![Page 16: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/16.jpg)
CODING PHASE
1. Write failing unit test2. Write code to make the test pass3. Refactor
![Page 17: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/17.jpg)
PASSING SCENARIOS
![Page 18: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/18.jpg)
REFACTOR CODE
![Page 19: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/21.jpg)
BETTER PRODUCT UNDERSTANDING
![Page 22: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/22.jpg)
REDUCE COMMUNICATION BARRIERS
![Page 23: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/23.jpg)
ENCOURAGE QUALITY SOFTWARE
![Page 24: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/24.jpg)
MATCH STAKEHOLDER EXPECTATIONS
![Page 25: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/25.jpg)
REGRESSION REPORT
![Page 26: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/26.jpg)
STATISTICS
![Page 27: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/27.jpg)
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 29: Behavior Driven Development - Live Webinar](https://reader036.vdocuments.mx/reader036/viewer/2022062615/547d7b52b4af9f6f738b474e/html5/thumbnails/29.jpg)