Title: Behavior Driven Development - Live Webinar
1What is BDD?
August 20th, 2014
2PANELISTS
Luis Raed Senior Developer
Mauricio Bessé Project Leader
3BDD
- Concept
- A new process that helps to manage software
development projects efficiently.
4TOPICS
- History
- Definition
- Language example
- Implementation example
- Benefits
- Statistics
- QA
5HISTORY
6DEFINITION
7LANGUAGE 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.
8Gherkin
Scenario Valid login Given The user is in Login
page And the user enters a valid username And
the user enters a valid password When the user
logs in Then the user is redirected to Home page
9Other scenarios
Scenario 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".
10Implementation
- Initial state
- First approach
- BDD Process
11Initial state
12First approach
- Communication
- Collaboration
- Quality issues
- Regression Analysis
- Traceability of requirements
13BDD Process
14Issue Tracker
15Failing scenario
16Coding Phase
- Write failing unit test
- Write code to make the test pass
- Refactor
17Passing Scenarios
18REFACTOR CODE
19BENEFITS
- Live documentation
- Better product understanding
- Reduction of communication barriers
- Improvement of quality software
- Stakeholders expectations achieved
20LIVE DOCUMENTATION
Scenario 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".
21BETTER PRODUCT UNDERSTANDING
22REDUCE COMMUNICATION BARRIERS
23ENCOURAGE QUALITY SOFTWARE
24MATCH STAKEHOLDER EXPECTATIONS
25Regression Report
26Statistics
27Conclusion
- Increasing the chances of success of the project.
- Improving communication, collaboration and
software quality. - Concentrating on key features for stakeholders.
- Using a common and effective language.
28Thank you
Luis Raed lraed_at_belatrixsf.com
Mauricio Bessé mbesse_at_belatrixsf.com
29(No Transcript)