SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
www.atsistemas.com
From user stories to Automated Acceptance Tests with BDD
Eduardo Riol
I’m Eduardo Riol, QA & Testing Community Technical Leader in
atSistemas, where we are enthusiasts of Software Quality Assurance,
Tests Automation and Testing best practices.
I started as developer in Java and .NET environments more than a decade
ago, but I’ve been involved the last eight years in Software Quality, both
products and development processes oriented.
Currently my interests are focused in the integration of QA activities in
Agile and DevOps environments, technical debt control and BDD.
Lately I research about other topics like Security and Blockchain.
twitter.com/eduriol
github.com/eduriol
linkedin.com/in/eduriol
Who am I?
3
We are a dependable partner, with a long trajectory and a solid
future in the industry
of revenue in 2017
54,5 M€ estimated for
2018
Present in every
industry
Spanish capital
Presence in Madrid,
Barcelona, CĂĄdiz,
Zaragoza, A CoruĂąa,
Mallorca and Huelva
International vocation
And currently IT referent in Innovation
Expert Centers and cutting-edge
Technological Communities,
leaders in Digital Transformation
IT professionals
of proved Technical Solvency
growth in international
interannual billing at 2017
closure
atSistemas
45,6 M€
100%
1994Founded in
R&D
1000
16,5%
Houston, we have a problem!
“This is not what we asked for” Does that ring a bell?
Houston, we have a problem!
Chine
se
whisp
ers The Gossips, Norman Rockwell, 1948
“This is not what we asked for” Does that ring a bell?
We focused on developing software CORRECTLY…
Functional
testing Unit testing
Performance
testing
Integration
testing
Static analysis
Ethical
hacking
Process audits
UAT
… but do we develop the CORRECT software?
Features Used
The Standish Group estimate of features used in custom application development, 2014
Hardly Ever
50%
Often
20%
Infrequently
30%
Features Used
The Standish Group estimate of features used in custom application development, 2014
Hardly
Ever
50%
Often
20%
Infrequently
30%
… but do we develop the CORRECT software?
We don’t trust releases
Most of the time we don’t have an
acceptance tests suite robust and
complete enough to be trusted
We don’t trust releases
Lack of documentation
Individuals and interactions OVER processes and tools
Working software OVER comprehensive documentation
Customer collaboration OVER contract negotiation
Responding to change OVER following a plan
We are
uncovering better
ways of
developing
software by doing
it and helping
others do it.
Through this work
we have come to
value:
That is, while
there is value
in the items on
the right, we
value the items
on the left
more.
The Agile manifestoThe Agile manifesto
How often have you finished a project in which technical
documentation is up-to-date with what software really does?
Individuals and interactions OVER processes and tools
Working software OVER comprehensive documentation
Customer collaboration OVER contract negotiation
Responding to change OVER following a plan
We are uncovering
better ways of
developing
software by doing
it and helping
others do it.
Through this work
we have come to
value:
That is, while
there is value
in the items on
the right, we
value the items
on the left
more.
The Agile manifestoThe Agile manifesto
Lack of documentation
And collaboration within the team?
We have
Quality issues
Ain’t my problem,
Software Quality is
what testers should
care about, isn’t it?
Devs? I think those are the
guys in the 4th floor or
something
Dev people keep returning
unresolved bugs
And collaboration within the team?
We have
Quality issues
Ain’t my problem,
Software Quality is
what testers should
care about, isn’t it?
This problem starts from here
• Analysis
• Development
• Testing
• Operations
As separated phases, estimated
and planned from the beginning of
the project
This problem starts from here
As separated phases, estimated
and planned from the beginning of
the project
• Analysis
• Development
• Testing
• Operations
BDD: How Devs and Business collaborate
BDD is a collaboration model between Business users and
Development team…
… consisting of establishing conversations based in concrete
examples of the application use, with the objective of reducing
misconceptions and assumptions…
… discovering during the process the features that truly provide
value
• Examples describing a new feature are
translated to a simple and common language,
without ambiguities (for example Gherkin)
• Development team transforms these examples
to a series of executable specifications as
automated tests
• A software feature will be completed whenever
every specification executes correctly
BD
D
TDD
Write a failing test
N cycles
BDD: How Devs and Business collaborate
Then, what is (and what not) BDD?
• Writing requirements
in Gherkin language
• Automating tests with
Cucumber
• Documenting
functionalities after
programming them
• A collaboration model
• A discovering process
• Understanding
Business needs
• Describing software
with examples
What it is What it’s not
Three amigos
Business QA
Dev
Three amigos
1. PO talks with
Business about its
needs
2. The PO, a Dev and
a Tester meet to
elaborate scenarios
jointly
4. The scenarios
guide the dev and act
as automated tests
3. The tester
implements the
scenarios as
acceptance tests
5. Automated tests
provide feedback
about progress and
document the
application
A collaboration scenario
We want our application to
require a password with at least 8
characters, a number and a
capital letter
Don’t you mean you want
the application to require a
strong password?
Password strenght, xkcd, Randall Munroe
Password Security Accepta
ble?
secret Weak No
password Weak No
password1 Weak No
aBcdEfg1 Weak No
qwertY12 Weak No
dJeZDip1 Medium Yes
SeagullHedgehog Strong Yes
SeagullHedgehogC
atapult
Very
strong
Yes
A collaboration scenario
We want our application to
require a password with at least
8 characters, a number and a
capital letter
Don’t you mean you
want the application to
require a strong
password?
Discovering our Business
“In software development, ignorance is the constraint. You know a lot more about the
best way to build a particular solution after you’ve finished building it, but by then it’s
too late to take advantage of your knowledge.”
John Ferguson Smart, BDD in action, 2015
Implementing BDD: Describing scenarios
SCENARIO
Sending
Contact Form
Given John Doe enters contact form
And he fills the fields with his data and the
message
And accept legal clause
When he sends the query
Then the confirmation message is received
Given: Defines the context in which the
scenario is executed. In this step the starting
point for the example is established.
When: It’s the action that triggers the
example. It consists of an interaction with the
application, usually by a user, whose behavior
we want to validate.
Then: In this step the result expected by the
Business is defined, meaning the condition
that must be fulfilled for the scenario to be
considered correctly executed.
Implementing BDD: Automating scenarios
Scenario: Transfer money to a Savings account
Given my Checking account has a balance of 1000.00
And my Savings account has a balance of 2000.00
When I transfer 500.00 from my Checking account to my Savings account
Then I should have 500.00 in my Checking account
And I should have 2500.00 in my Savings account
Scenario: Transfer money to a Savings account
Given my Checking account has a balance of 1000.00
And my Savings account has a balance of 2000.00
When I transfer 500.00 from my Checking account to my Savings account
Then I should have 500.00 in my Checking account
And I should have 2500.00 in my Savings account
@Given(“^my (.*) account has a balance of (d+)$")
public void setupInitialAccount(AccountType accountType,
double amount) {
// Setup account
}
@When(“^I transfer (d+) from my (.*) account to my (.*) account$")
public void transferAmountBetweenAccounts(double amount, AccountType source, AccountType destination) {
// Perform action
}
@Then(“^I should have (d+) in my (.*) account$")
public void checkAccountAmount(double amount, AccountType accountType) {
// Assert amount
}
Implementing BDD: Automating scenarios
Exploratory
Testing
BDD levels: The Testing pyramid
UI
API / Services
Unit
Prevent errors / Provide value
UI (manual & automatic)
API / Services
Unit
Detect errors / Certify releases
Exploratory
Testing
BDD levels: The Testing pyramid
UI
API / Services
Unit
Prevent errors / Provide value
BDD in the software building process
Scenarios execution should be part of the software integration,
building and deployment process.
Each scenario should be able to be executed separately, without any
concrete order. There should be no dependency between scenarios.
Scenarios are a code asset to be maintained under version control
systems.
The software building and deployment process additionally becomes a
process for building and deploying documentation and reports.
Reports: feature readiness
A feature is considered
ready to be deployed in
production whenever its
scenarios execute
correctly.
Feature readiness
Your business does not care whether your tests pass or not. What they want to know is
if the functionality is ready to be deployed in production.
Reports: feature coverage
Feature coverage shows
the % of features with
every defined scenario
executing correctly.
Feature coverage
Warning!, BDD is not a silver bullet
Business implication: We need the stakeholders involved
since the beginning of the project.
BDD is thought for Agile: it is a collaboration model to
fostering an iterative discovering of the requirements.
BDD doesn’t like silos: if the organization works in
isolated silos and collaboration doesn’t flow, the
progressive clarification of goals disappears.
Risk of high cost in test maintenance: experience and
knowledge are required in order to design maintainable
functional specifications and implement them correctly.
Technologies for BDD
Nuestro catĂĄlogo de servicos
QA de GOBIERNO• Testing funcional
• Pruebas de Sistema
• Pruebas de Seguridad
• Pruebas de carga/rendimiento
• Análisis y control de la deuda técnica
• Definición y mejora de los procesos de
gobierno, ingenierĂ­a y calidad para la
TransformaciĂłn Digital
• Formación en buenas prácticas de
desarrollo
• Implantación de una Oficina de Calidad
AGILE QA
• Apoyo metodológico
• Servicios de automatización en el
marco de un proceso de Entrega
Continua
• Automatización de pruebas
QA OPERATIVO
www.atsistemas.com
902 888 902
GRACIAS
Madrid
Oficinas Centrales:
C/Valle de Alcudia 3, Ed. 2
28232 - Las Rozas - Madrid
SelecciĂłn y Recursos Humanos:
C/Acanto 22, Plta. 3
28045 - Madrid
C/Retama 7, Plta. 1
28045 - Madrid
Barcelona
Plaça de Catalunya 21, Plta. 2
08002 - Barcelona
CĂĄdiz
Edificio Jerez Parque Empresarial, C/ del Desarrollo 2, Plta. 1
11047 - Jerez de la Frontera - CĂĄdiz
Zaragoza
Centro TecnolĂłgico TIC XXI, C/Bari 57, Plataforma LogĂ­stica (PLA-ZA)
50197 - Zaragoza
A CoruĂąa
Edificio Mans PolĂ­gono de Pocomaco, Parcela D22
15190 - A CoruĂąa
Palma de Mallorca
Regus Palma PolĂ­gono de Son Castello, C/ Gremi de Sabaters 21, Plta. 2
07009 - Palma de Mallorca
Huelva
Parque CientĂ­fico TecnolĂłgico de Huelva, Edificio PCTH2000
21 110 - Aljaraque - Huelva

Weitere ähnliche Inhalte

Was ist angesagt?

BDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right SoftwareBDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right SoftwareJohn Ferguson Smart Limited
 
BDD in Action - building software that matters
BDD in Action - building software that mattersBDD in Action - building software that matters
BDD in Action - building software that mattersJohn Ferguson Smart Limited
 
Operational Costs of Technical Debt
Operational Costs of Technical DebtOperational Costs of Technical Debt
Operational Costs of Technical DebtKurt Andersen
 
Behavior driven development (bdd)
Behavior driven development (bdd)Behavior driven development (bdd)
Behavior driven development (bdd)Rohit Bisht
 
Hire Golang App Developers in India
Hire Golang App Developers in IndiaHire Golang App Developers in India
Hire Golang App Developers in IndiaPixel Crayons
 
TDD and BDD in Java 8 - what's in it for me?
TDD and BDD in Java 8 - what's in it for me?TDD and BDD in Java 8 - what's in it for me?
TDD and BDD in Java 8 - what's in it for me?John Ferguson Smart Limited
 
Meeting Strict Documentation Requirements in Agile
Meeting Strict Documentation Requirements in AgileMeeting Strict Documentation Requirements in Agile
Meeting Strict Documentation Requirements in AgileTechWell
 
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UXBehaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UXJohn Patterson
 
Scrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - ColomboScrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - ColomboNaveen Kumar Singh
 
An introduction to Behavior-Driven Development (BDD)
An introduction to Behavior-Driven Development (BDD)An introduction to Behavior-Driven Development (BDD)
An introduction to Behavior-Driven Development (BDD)Suman Guha
 
BDD in Action - Automated Web Testing with WebDriver and Serenity
BDD in Action - Automated Web Testing with WebDriver and SerenityBDD in Action - Automated Web Testing with WebDriver and Serenity
BDD in Action - Automated Web Testing with WebDriver and SerenityJohn Ferguson Smart Limited
 
It's Testing, Jim, but not as we know it - BDD for Testers
It's Testing, Jim, but not as we know it - BDD for TestersIt's Testing, Jim, but not as we know it - BDD for Testers
It's Testing, Jim, but not as we know it - BDD for TestersJohn Ferguson Smart Limited
 
CodeIT company presentation
CodeIT company presentationCodeIT company presentation
CodeIT company presentationSergiy Mavrov
 

Was ist angesagt? (16)

BDD: There's more to it than you think
BDD: There's more to it than you thinkBDD: There's more to it than you think
BDD: There's more to it than you think
 
BDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right SoftwareBDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right Software
 
BDD in Action - building software that matters
BDD in Action - building software that mattersBDD in Action - building software that matters
BDD in Action - building software that matters
 
Operational Costs of Technical Debt
Operational Costs of Technical DebtOperational Costs of Technical Debt
Operational Costs of Technical Debt
 
Behavior driven development (bdd)
Behavior driven development (bdd)Behavior driven development (bdd)
Behavior driven development (bdd)
 
Hire Golang App Developers in India
Hire Golang App Developers in IndiaHire Golang App Developers in India
Hire Golang App Developers in India
 
TDD and BDD in Java 8 - what's in it for me?
TDD and BDD in Java 8 - what's in it for me?TDD and BDD in Java 8 - what's in it for me?
TDD and BDD in Java 8 - what's in it for me?
 
BDD Anti-patterns
BDD Anti-patternsBDD Anti-patterns
BDD Anti-patterns
 
Meeting Strict Documentation Requirements in Agile
Meeting Strict Documentation Requirements in AgileMeeting Strict Documentation Requirements in Agile
Meeting Strict Documentation Requirements in Agile
 
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UXBehaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
 
Scrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - ColomboScrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - Colombo
 
An introduction to Behavior-Driven Development (BDD)
An introduction to Behavior-Driven Development (BDD)An introduction to Behavior-Driven Development (BDD)
An introduction to Behavior-Driven Development (BDD)
 
BDD in Action - Automated Web Testing with WebDriver and Serenity
BDD in Action - Automated Web Testing with WebDriver and SerenityBDD in Action - Automated Web Testing with WebDriver and Serenity
BDD in Action - Automated Web Testing with WebDriver and Serenity
 
It's Testing, Jim, but not as we know it - BDD for Testers
It's Testing, Jim, but not as we know it - BDD for TestersIt's Testing, Jim, but not as we know it - BDD for Testers
It's Testing, Jim, but not as we know it - BDD for Testers
 
CodeIT company presentation
CodeIT company presentationCodeIT company presentation
CodeIT company presentation
 
3D Engineering Services
3D Engineering Services3D Engineering Services
3D Engineering Services
 

Ähnlich wie Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol

Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Building In Quality: The Beauty Of Behavior Driven Development (BDD)Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Building In Quality: The Beauty Of Behavior Driven Development (BDD)Synerzip
 
5YearsOfExperience_Shivdeep_Salesforce_Developer
5YearsOfExperience_Shivdeep_Salesforce_Developer5YearsOfExperience_Shivdeep_Salesforce_Developer
5YearsOfExperience_Shivdeep_Salesforce_Developershivdeep gupta
 
Behaviour driven development aka bdd
Behaviour driven development aka bddBehaviour driven development aka bdd
Behaviour driven development aka bddPrince Gupta
 
Specification-by-Example: A Cucumber Implementation
Specification-by-Example: A Cucumber ImplementationSpecification-by-Example: A Cucumber Implementation
Specification-by-Example: A Cucumber ImplementationTechWell
 
Intro to TDD & BDD
Intro to TDD & BDDIntro to TDD & BDD
Intro to TDD & BDDdevObjective
 
ITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous IntegrationITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous IntegrationOrtus Solutions, Corp
 
2015 in tothebox-introtddbdd
2015 in tothebox-introtddbdd2015 in tothebox-introtddbdd
2015 in tothebox-introtddbddColdFusionConference
 
www-valuecoders-com-blog-industry-news-why-should-you-hire-developers-from-va...
www-valuecoders-com-blog-industry-news-why-should-you-hire-developers-from-va...www-valuecoders-com-blog-industry-news-why-should-you-hire-developers-from-va...
www-valuecoders-com-blog-industry-news-why-should-you-hire-developers-from-va...JamesEddie2
 
BDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User StoriesBDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User StoriesSauce Labs
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptxAtish Narlawar
 
Designingapplswithnet
DesigningapplswithnetDesigningapplswithnet
DesigningapplswithnetDSK Chakravarthy
 
Our Experience in Banking and Financial Services
Our Experience in Banking and Financial ServicesOur Experience in Banking and Financial Services
Our Experience in Banking and Financial ServicesXebia IT Architects
 
Arx mindbusinessportfolio
Arx mindbusinessportfolioArx mindbusinessportfolio
Arx mindbusinessportfoliopankaj joshi
 
4 Phases followed by the Android Application Development Company.pdf
4 Phases followed by the Android Application Development Company.pdf4 Phases followed by the Android Application Development Company.pdf
4 Phases followed by the Android Application Development Company.pdfJohn William
 
Bdd with Cucumber and Mocha
Bdd with Cucumber and MochaBdd with Cucumber and Mocha
Bdd with Cucumber and MochaAtish Narlawar
 
Projekt202 2014 Overview
Projekt202 2014 OverviewProjekt202 2014 Overview
Projekt202 2014 OverviewGKBaldwin
 

Ähnlich wie Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol (20)

Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD
 
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Building In Quality: The Beauty Of Behavior Driven Development (BDD)Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
 
5YearsOfExperience_Shivdeep_Salesforce_Developer
5YearsOfExperience_Shivdeep_Salesforce_Developer5YearsOfExperience_Shivdeep_Salesforce_Developer
5YearsOfExperience_Shivdeep_Salesforce_Developer
 
Behaviour driven development aka bdd
Behaviour driven development aka bddBehaviour driven development aka bdd
Behaviour driven development aka bdd
 
Cloud Developer Resume Jhon-Arzu-Gil
Cloud Developer Resume Jhon-Arzu-Gil Cloud Developer Resume Jhon-Arzu-Gil
Cloud Developer Resume Jhon-Arzu-Gil
 
Specification-by-Example: A Cucumber Implementation
Specification-by-Example: A Cucumber ImplementationSpecification-by-Example: A Cucumber Implementation
Specification-by-Example: A Cucumber Implementation
 
BVDs and Your Data - Combined to Drive Success
BVDs and Your Data - Combined to Drive SuccessBVDs and Your Data - Combined to Drive Success
BVDs and Your Data - Combined to Drive Success
 
Intro to TDD & BDD
Intro to TDD & BDDIntro to TDD & BDD
Intro to TDD & BDD
 
ITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous IntegrationITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous Integration
 
2015 in tothebox-introtddbdd
2015 in tothebox-introtddbdd2015 in tothebox-introtddbdd
2015 in tothebox-introtddbdd
 
www-valuecoders-com-blog-industry-news-why-should-you-hire-developers-from-va...
www-valuecoders-com-blog-industry-news-why-should-you-hire-developers-from-va...www-valuecoders-com-blog-industry-news-why-should-you-hire-developers-from-va...
www-valuecoders-com-blog-industry-news-why-should-you-hire-developers-from-va...
 
BDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User StoriesBDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User Stories
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 
Designingapplswithnet
DesigningapplswithnetDesigningapplswithnet
Designingapplswithnet
 
Our Experience in Banking and Financial Services
Our Experience in Banking and Financial ServicesOur Experience in Banking and Financial Services
Our Experience in Banking and Financial Services
 
Arx mindbusinessportfolio
Arx mindbusinessportfolioArx mindbusinessportfolio
Arx mindbusinessportfolio
 
Narayanan Doraiswamy Resume
Narayanan Doraiswamy ResumeNarayanan Doraiswamy Resume
Narayanan Doraiswamy Resume
 
4 Phases followed by the Android Application Development Company.pdf
4 Phases followed by the Android Application Development Company.pdf4 Phases followed by the Android Application Development Company.pdf
4 Phases followed by the Android Application Development Company.pdf
 
Bdd with Cucumber and Mocha
Bdd with Cucumber and MochaBdd with Cucumber and Mocha
Bdd with Cucumber and Mocha
 
Projekt202 2014 Overview
Projekt202 2014 OverviewProjekt202 2014 Overview
Projekt202 2014 Overview
 

Mehr von atSistemas

Agile itsm con atlassian
Agile itsm con atlassianAgile itsm con atlassian
Agile itsm con atlassianatSistemas
 
Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital atSistemas
 
Webinar 5 net5-2021
Webinar 5 net5-2021Webinar 5 net5-2021
Webinar 5 net5-2021atSistemas
 
Webinar Speed Up Academy: Acelera la incorporaciĂłn de talento.
Webinar Speed Up Academy: Acelera la incorporaciĂłn de talento.Webinar Speed Up Academy: Acelera la incorporaciĂłn de talento.
Webinar Speed Up Academy: Acelera la incorporaciĂłn de talento.atSistemas
 
Webinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureWebinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureatSistemas
 
El futuro del trabajo en equipo
El futuro del trabajo en equipoEl futuro del trabajo en equipo
El futuro del trabajo en equipoatSistemas
 
La tecnologĂ­a al servicio de la agilidad empresarial
La tecnologĂ­a al servicio de la agilidad empresarialLa tecnologĂ­a al servicio de la agilidad empresarial
La tecnologĂ­a al servicio de la agilidad empresarialatSistemas
 
TransformaciĂłn Agile
TransformaciĂłn AgileTransformaciĂłn Agile
TransformaciĂłn AgileatSistemas
 
TransformaciĂłn cultural
TransformaciĂłn culturalTransformaciĂłn cultural
TransformaciĂłn culturalatSistemas
 
Technical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWSTechnical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWSatSistemas
 
Blockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel MartínezBlockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel MartínezatSistemas
 
Blockchain Spain - NĂŠstor GĂĄndara
Blockchain Spain - NĂŠstor GĂĄndaraBlockchain Spain - NĂŠstor GĂĄndara
Blockchain Spain - NĂŠstor GĂĄndaraatSistemas
 
Blockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis GozaloBlockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis GozaloatSistemas
 
Blockchain Spain - RamĂłn AbruĂąa
Blockchain Spain - RamĂłn AbruĂąaBlockchain Spain - RamĂłn AbruĂąa
Blockchain Spain - RamĂłn AbruĂąaatSistemas
 
Blockchain Spain - Santiago Chamat
Blockchain Spain - Santiago ChamatBlockchain Spain - Santiago Chamat
Blockchain Spain - Santiago ChamatatSistemas
 
Blockchain Spain - Antonio GĂłmez
Blockchain Spain - Antonio GĂłmezBlockchain Spain - Antonio GĂłmez
Blockchain Spain - Antonio GĂłmezatSistemas
 
Blockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel RojasBlockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel RojasatSistemas
 
Blockchain Spain - AndrĂŠs SĂĄnchez
Blockchain Spain - AndrĂŠs SĂĄnchezBlockchain Spain - AndrĂŠs SĂĄnchez
Blockchain Spain - AndrĂŠs SĂĄnchezatSistemas
 
Blockchain Spain II EdiciĂłn - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II EdiciĂłn - Autoridad Portuaria de Cartagena, Ilboc, RepsolBlockchain Spain II EdiciĂłn - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II EdiciĂłn - Autoridad Portuaria de Cartagena, Ilboc, RepsolatSistemas
 
Blockchain Spain II EdiciĂłn - Juan Manuel MartĂ­nez
Blockchain Spain II EdiciĂłn - Juan Manuel MartĂ­nezBlockchain Spain II EdiciĂłn - Juan Manuel MartĂ­nez
Blockchain Spain II EdiciĂłn - Juan Manuel MartĂ­nezatSistemas
 

Mehr von atSistemas (20)

Agile itsm con atlassian
Agile itsm con atlassianAgile itsm con atlassian
Agile itsm con atlassian
 
Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital
 
Webinar 5 net5-2021
Webinar 5 net5-2021Webinar 5 net5-2021
Webinar 5 net5-2021
 
Webinar Speed Up Academy: Acelera la incorporaciĂłn de talento.
Webinar Speed Up Academy: Acelera la incorporaciĂłn de talento.Webinar Speed Up Academy: Acelera la incorporaciĂłn de talento.
Webinar Speed Up Academy: Acelera la incorporaciĂłn de talento.
 
Webinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureWebinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en Azure
 
El futuro del trabajo en equipo
El futuro del trabajo en equipoEl futuro del trabajo en equipo
El futuro del trabajo en equipo
 
La tecnologĂ­a al servicio de la agilidad empresarial
La tecnologĂ­a al servicio de la agilidad empresarialLa tecnologĂ­a al servicio de la agilidad empresarial
La tecnologĂ­a al servicio de la agilidad empresarial
 
TransformaciĂłn Agile
TransformaciĂłn AgileTransformaciĂłn Agile
TransformaciĂłn Agile
 
TransformaciĂłn cultural
TransformaciĂłn culturalTransformaciĂłn cultural
TransformaciĂłn cultural
 
Technical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWSTechnical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWS
 
Blockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel MartínezBlockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel Martínez
 
Blockchain Spain - NĂŠstor GĂĄndara
Blockchain Spain - NĂŠstor GĂĄndaraBlockchain Spain - NĂŠstor GĂĄndara
Blockchain Spain - NĂŠstor GĂĄndara
 
Blockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis GozaloBlockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis Gozalo
 
Blockchain Spain - RamĂłn AbruĂąa
Blockchain Spain - RamĂłn AbruĂąaBlockchain Spain - RamĂłn AbruĂąa
Blockchain Spain - RamĂłn AbruĂąa
 
Blockchain Spain - Santiago Chamat
Blockchain Spain - Santiago ChamatBlockchain Spain - Santiago Chamat
Blockchain Spain - Santiago Chamat
 
Blockchain Spain - Antonio GĂłmez
Blockchain Spain - Antonio GĂłmezBlockchain Spain - Antonio GĂłmez
Blockchain Spain - Antonio GĂłmez
 
Blockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel RojasBlockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel Rojas
 
Blockchain Spain - AndrĂŠs SĂĄnchez
Blockchain Spain - AndrĂŠs SĂĄnchezBlockchain Spain - AndrĂŠs SĂĄnchez
Blockchain Spain - AndrĂŠs SĂĄnchez
 
Blockchain Spain II EdiciĂłn - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II EdiciĂłn - Autoridad Portuaria de Cartagena, Ilboc, RepsolBlockchain Spain II EdiciĂłn - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II EdiciĂłn - Autoridad Portuaria de Cartagena, Ilboc, Repsol
 
Blockchain Spain II EdiciĂłn - Juan Manuel MartĂ­nez
Blockchain Spain II EdiciĂłn - Juan Manuel MartĂ­nezBlockchain Spain II EdiciĂłn - Juan Manuel MartĂ­nez
Blockchain Spain II EdiciĂłn - Juan Manuel MartĂ­nez
 

KĂźrzlich hochgeladen

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

KĂźrzlich hochgeladen (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol

  • 1. www.atsistemas.com From user stories to Automated Acceptance Tests with BDD Eduardo Riol
  • 2. I’m Eduardo Riol, QA & Testing Community Technical Leader in atSistemas, where we are enthusiasts of Software Quality Assurance, Tests Automation and Testing best practices. I started as developer in Java and .NET environments more than a decade ago, but I’ve been involved the last eight years in Software Quality, both products and development processes oriented. Currently my interests are focused in the integration of QA activities in Agile and DevOps environments, technical debt control and BDD. Lately I research about other topics like Security and Blockchain. twitter.com/eduriol github.com/eduriol linkedin.com/in/eduriol Who am I?
  • 3. 3 We are a dependable partner, with a long trajectory and a solid future in the industry of revenue in 2017 54,5 M€ estimated for 2018 Present in every industry Spanish capital Presence in Madrid, Barcelona, CĂĄdiz, Zaragoza, A CoruĂąa, Mallorca and Huelva International vocation And currently IT referent in Innovation Expert Centers and cutting-edge Technological Communities, leaders in Digital Transformation IT professionals of proved Technical Solvency growth in international interannual billing at 2017 closure atSistemas 45,6 M€ 100% 1994Founded in R&D 1000 16,5%
  • 4. Houston, we have a problem! “This is not what we asked for” Does that ring a bell?
  • 5. Houston, we have a problem! Chine se whisp ers The Gossips, Norman Rockwell, 1948 “This is not what we asked for” Does that ring a bell?
  • 6. We focused on developing software CORRECTLY… Functional testing Unit testing Performance testing Integration testing Static analysis Ethical hacking Process audits UAT
  • 7. … but do we develop the CORRECT software? Features Used The Standish Group estimate of features used in custom application development, 2014 Hardly Ever 50% Often 20% Infrequently 30%
  • 8. Features Used The Standish Group estimate of features used in custom application development, 2014 Hardly Ever 50% Often 20% Infrequently 30% … but do we develop the CORRECT software?
  • 10. Most of the time we don’t have an acceptance tests suite robust and complete enough to be trusted We don’t trust releases
  • 11. Lack of documentation Individuals and interactions OVER processes and tools Working software OVER comprehensive documentation Customer collaboration OVER contract negotiation Responding to change OVER following a plan We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: That is, while there is value in the items on the right, we value the items on the left more. The Agile manifestoThe Agile manifesto
  • 12. How often have you finished a project in which technical documentation is up-to-date with what software really does? Individuals and interactions OVER processes and tools Working software OVER comprehensive documentation Customer collaboration OVER contract negotiation Responding to change OVER following a plan We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: That is, while there is value in the items on the right, we value the items on the left more. The Agile manifestoThe Agile manifesto Lack of documentation
  • 13. And collaboration within the team? We have Quality issues Ain’t my problem, Software Quality is what testers should care about, isn’t it?
  • 14. Devs? I think those are the guys in the 4th floor or something Dev people keep returning unresolved bugs And collaboration within the team? We have Quality issues Ain’t my problem, Software Quality is what testers should care about, isn’t it?
  • 15. This problem starts from here • Analysis • Development • Testing • Operations As separated phases, estimated and planned from the beginning of the project
  • 16. This problem starts from here As separated phases, estimated and planned from the beginning of the project • Analysis • Development • Testing • Operations
  • 17. BDD: How Devs and Business collaborate BDD is a collaboration model between Business users and Development team… … consisting of establishing conversations based in concrete examples of the application use, with the objective of reducing misconceptions and assumptions… … discovering during the process the features that truly provide value
  • 18. • Examples describing a new feature are translated to a simple and common language, without ambiguities (for example Gherkin) • Development team transforms these examples to a series of executable specifications as automated tests • A software feature will be completed whenever every specification executes correctly BD D TDD Write a failing test N cycles BDD: How Devs and Business collaborate
  • 19. Then, what is (and what not) BDD? • Writing requirements in Gherkin language • Automating tests with Cucumber • Documenting functionalities after programming them • A collaboration model • A discovering process • Understanding Business needs • Describing software with examples What it is What it’s not
  • 21. Three amigos 1. PO talks with Business about its needs 2. The PO, a Dev and a Tester meet to elaborate scenarios jointly 4. The scenarios guide the dev and act as automated tests 3. The tester implements the scenarios as acceptance tests 5. Automated tests provide feedback about progress and document the application
  • 22. A collaboration scenario We want our application to require a password with at least 8 characters, a number and a capital letter Don’t you mean you want the application to require a strong password?
  • 23. Password strenght, xkcd, Randall Munroe Password Security Accepta ble? secret Weak No password Weak No password1 Weak No aBcdEfg1 Weak No qwertY12 Weak No dJeZDip1 Medium Yes SeagullHedgehog Strong Yes SeagullHedgehogC atapult Very strong Yes A collaboration scenario We want our application to require a password with at least 8 characters, a number and a capital letter Don’t you mean you want the application to require a strong password?
  • 24. Discovering our Business “In software development, ignorance is the constraint. You know a lot more about the best way to build a particular solution after you’ve finished building it, but by then it’s too late to take advantage of your knowledge.” John Ferguson Smart, BDD in action, 2015
  • 25. Implementing BDD: Describing scenarios SCENARIO Sending Contact Form Given John Doe enters contact form And he fills the fields with his data and the message And accept legal clause When he sends the query Then the confirmation message is received Given: Defines the context in which the scenario is executed. In this step the starting point for the example is established. When: It’s the action that triggers the example. It consists of an interaction with the application, usually by a user, whose behavior we want to validate. Then: In this step the result expected by the Business is defined, meaning the condition that must be fulfilled for the scenario to be considered correctly executed.
  • 26. Implementing BDD: Automating scenarios Scenario: Transfer money to a Savings account Given my Checking account has a balance of 1000.00 And my Savings account has a balance of 2000.00 When I transfer 500.00 from my Checking account to my Savings account Then I should have 500.00 in my Checking account And I should have 2500.00 in my Savings account
  • 27. Scenario: Transfer money to a Savings account Given my Checking account has a balance of 1000.00 And my Savings account has a balance of 2000.00 When I transfer 500.00 from my Checking account to my Savings account Then I should have 500.00 in my Checking account And I should have 2500.00 in my Savings account @Given(“^my (.*) account has a balance of (d+)$") public void setupInitialAccount(AccountType accountType, double amount) { // Setup account } @When(“^I transfer (d+) from my (.*) account to my (.*) account$") public void transferAmountBetweenAccounts(double amount, AccountType source, AccountType destination) { // Perform action } @Then(“^I should have (d+) in my (.*) account$") public void checkAccountAmount(double amount, AccountType accountType) { // Assert amount } Implementing BDD: Automating scenarios
  • 28. Exploratory Testing BDD levels: The Testing pyramid UI API / Services Unit Prevent errors / Provide value
  • 29. UI (manual & automatic) API / Services Unit Detect errors / Certify releases Exploratory Testing BDD levels: The Testing pyramid UI API / Services Unit Prevent errors / Provide value
  • 30. BDD in the software building process Scenarios execution should be part of the software integration, building and deployment process. Each scenario should be able to be executed separately, without any concrete order. There should be no dependency between scenarios. Scenarios are a code asset to be maintained under version control systems. The software building and deployment process additionally becomes a process for building and deploying documentation and reports.
  • 31. Reports: feature readiness A feature is considered ready to be deployed in production whenever its scenarios execute correctly. Feature readiness Your business does not care whether your tests pass or not. What they want to know is if the functionality is ready to be deployed in production.
  • 32. Reports: feature coverage Feature coverage shows the % of features with every defined scenario executing correctly. Feature coverage
  • 33. Warning!, BDD is not a silver bullet Business implication: We need the stakeholders involved since the beginning of the project. BDD is thought for Agile: it is a collaboration model to fostering an iterative discovering of the requirements. BDD doesn’t like silos: if the organization works in isolated silos and collaboration doesn’t flow, the progressive clarification of goals disappears. Risk of high cost in test maintenance: experience and knowledge are required in order to design maintainable functional specifications and implement them correctly.
  • 35. Nuestro catĂĄlogo de servicos QA de GOBIERNO• Testing funcional • Pruebas de Sistema • Pruebas de Seguridad • Pruebas de carga/rendimiento • AnĂĄlisis y control de la deuda tĂŠcnica • DefiniciĂłn y mejora de los procesos de gobierno, ingenierĂ­a y calidad para la TransformaciĂłn Digital • FormaciĂłn en buenas prĂĄcticas de desarrollo • ImplantaciĂłn de una Oficina de Calidad AGILE QA • Apoyo metodolĂłgico • Servicios de automatizaciĂłn en el marco de un proceso de Entrega Continua • AutomatizaciĂłn de pruebas QA OPERATIVO
  • 36. www.atsistemas.com 902 888 902 GRACIAS Madrid Oficinas Centrales: C/Valle de Alcudia 3, Ed. 2 28232 - Las Rozas - Madrid SelecciĂłn y Recursos Humanos: C/Acanto 22, Plta. 3 28045 - Madrid C/Retama 7, Plta. 1 28045 - Madrid Barcelona Plaça de Catalunya 21, Plta. 2 08002 - Barcelona CĂĄdiz Edificio Jerez Parque Empresarial, C/ del Desarrollo 2, Plta. 1 11047 - Jerez de la Frontera - CĂĄdiz Zaragoza Centro TecnolĂłgico TIC XXI, C/Bari 57, Plataforma LogĂ­stica (PLA-ZA) 50197 - Zaragoza A CoruĂąa Edificio Mans PolĂ­gono de Pocomaco, Parcela D22 15190 - A CoruĂąa Palma de Mallorca Regus Palma PolĂ­gono de Son Castello, C/ Gremi de Sabaters 21, Plta. 2 07009 - Palma de Mallorca Huelva Parque CientĂ­fico TecnolĂłgico de Huelva, Edificio PCTH2000 21 110 - Aljaraque - Huelva