SlideShare a Scribd company logo
1 of 51
Download to read offline
Software Development Done Right
How DUO started with
Continuous Delivery
and changed their way
of Testing
Kishen Simbhoedatpanday
CTO Xebia Test Automation
Xebia Test Automation
DUO
Technical implementation is easy
Selecting testing tools
BDD with Serenity
Changing mindset of people is harder
Moving away from Quality Assurance
BDD & Specification by Example
The consequences of
Continuous Delivery @ DUO
Testing is evolving
Agile Testing
Testers 1.0
Agile Testing
Testers 1.0
Agile Testing
Technical	
  
Unit	
  Tes-ng	
  
System	
  
Tes-ng	
  
User	
  
Acceptance	
  
Tes-ng	
  
Performance	
  
&	
  Security	
  
Tes-ng	
  
Testers 2.0
Agile Testing
Scrum fall
Todo	
   In	
  Progress	
   In	
  Test	
   Done	
  
Task	
  15	
   Task	
  13	
  
Task	
  14	
  
Task	
  3	
  
Task	
  4	
  
Task	
  5	
  
Task	
  6	
  
Task	
  7	
  
Task	
  8	
  
Task	
  9	
  
Task	
  10	
  
Task	
  11	
  
Task	
  12	
  
Task	
  1	
  
Task	
  2	
  
Agile Testing
Building features
Agile Testing
Agile Testing
Mom	
  to	
  her	
  son:	
  
“Son,	
  please	
  go	
  to	
  the	
  market	
  
and	
  buy	
  1	
  boKle	
  of	
  milk.	
  	
  
If	
  they	
  have	
  eggs,	
  bring	
  6	
  ”	
  
	
  
What	
  did	
  he	
  bring	
  home?	
  
When do you want to know
you have a problem?
Agile Testing
Agile Testing
Agile Testing
Testing 3.0
Agile Testing
The Ambassadors of Quality
Bridging the gap
Agile Testing
Mutual understanding with the whole business towards testing
Knowledge sharing is key to innovation
Coding Dojos
(Java)
Workshops
(BDD & Specification by
Example, Cucumber &
Serenity)
Selecting test-tools for each challenge in testing
Are testers still relevant?
Yes! but…
Agile Testing
Think Quality Assistance not
Assurance
Developers eating own dog food
Team takes responsibility in testing
Test Automation to support CD
Building Quality into the process
Agile Testing
BDD &
Specification by Example
Agile Testing
What is BDD?
BDD & Specification by Example
Process of driving desired behaviour of software
Explore
Discover
Define
Challenge requirements first
BDD & Specification by Example
Explore and Decide
BDD & Specification by Example
Test first with conversations
BDD & Specification by Example
What is it?
BDD & Specification by Example
Acceptance Tests
Scenario:	
  Search	
  for	
  ar5cles	
  by	
  keyword	
  
Given	
   I	
  want	
  to	
  buy	
  a	
  wool	
  scarf	
  
When	
   I	
  search	
  for	
  ‘wool’	
  
Then	
   I	
  should	
  see	
  ar-cles	
  related	
  to	
  wool	
  
BDD & Specification by Example
Free Delivery
We offer free delivery to the customer when the total price of the
Shopping Cart is equal or greater than 20,00 EUR
Acceptance Test with examples
When	
  products	
  ordered	
   Total	
  Price	
  in	
  €	
   Then	
  Delivery	
  costs	
  
1	
  Book	
   19,99	
   3,95	
  
2	
  Books	
   20,00	
   0,00	
  
1	
  Book	
   20,01	
   0,00	
  
1	
  Book,	
  1	
  Refrigerator	
  	
   799,99	
   ?	
  
BDD & Specification by Example
Specification pitfalls
1.  Too many AND
2.  Too many columns
3.  Getting stuck with Given
4.  Too abstract
BDD & Specification by Example
Pitfall 1: Too many AND
Given the admin page is open
When the user types John into the 'employee name'
and the user types 30000 into the 'salary'
and the user clicks 'Add'
Then the page reloads
And the user types Mike into the 'employee name'
BDD & Specification by Example
Pitfall 1: Too many AND
Focus on what you want to specify
Given employee ‘John’ has salary 300000
When HR opens salary overview of employees
Then employee ‘John’ has salary 300000
BDD & Specification by Example
Pitfall 2: Too many columns
Scenario Outline: View Salary
Given employee has name <FirstName>
And employee <FirstName> has last name <LastName>
And employee <FirstName> has salary <Salary>
And employee <FirstName> has ……
When HR opens salary overview of employees
Then employee <Name> has salary <Salary>
And ….
And ….
BDD & Specification by Example
FirstName	
   LastName	
   ….	
   ….	
   ….?	
   ….?	
   Salary?	
  
John	
   Doe	
   ….	
   ….	
   ….	
   ….	
   300000	
  
Jane	
   Doe	
   ….	
   ….	
   ….	
   ….	
   400000	
  
Pitfall 2: Too many columns
Focus on relevant input and output
Scenario Outline: View Salary
Given employee has name <FirstName>
And employee <FirstName> has salary <Salary>
When HR opens salary overview of employees
Then employee <Name> has salary <Salary>
BDD & Specification by Example
FirstName	
   LastName	
   Salary	
  
John	
   Doe	
   300000	
  
Jane	
   Doe	
   400000	
  
Pitfall 3: Getting stuck with Given
Scenario: Search phone book
Given ... eeeh …
I am on the online phone book
I click … eeeh ...
Pffff…. This is hard!
BDD & Specification by Example
Pitfall 3: Getting stuck with Given
Focus on the business value (Then) first
Given I see a search result for florist “Floral Designs”
When I click “View map” of the search result
Then I find the location “Floriststreet 123”
Blog: http://blog.xebia.com/2014/10/17/when-then-given/
BDD & Specification by Example
Pitfall 4: Too abstract
Scenario: Pay the rent
Given I have enough money to pay the rent
When I land on a spot to pay rent
Then I pay the rent of the spot
BDD & Specification by Example
Pitfall 4: Too abstract
Focus on the essence of the spec
Given my account has 500 dollars
When I land on a spot to pay rent of 50 dollars
Then my account has 450 dollars
BDD & Specification by Example
Specification pitfalls
1.  Too many AND
2.  Too many columns
3.  Getting stuck with Given
4.  Too abstract
BDD & Specification by Example
Selecting test-tools
for each challenge in testing
Agile Testing
Test Automation
Selecting test-tools for each challenge in testing
Test Automation is coding!
Selecting test-tools
Selecting test-tools for each challenge in testing
Don’t hire QA army
Do small POC’s
Pick tools that fit the development team
Advice a tool, but leave room for innovation
Make sure it fits into the CD pipeline
Return on investment
of Test Automation
Lowest ROI
Highest ROI
Chain	
  
Applica-on	
  
Unit	
  /	
  Components	
  
Selecting test-tools for each challenge in testing
What do you want to check?
Selecting test-tools for each challenge in testing
Chain	
  
Applica-on	
  
Unit	
  /	
  Components	
  
Cucumber, Serenity, WebDriver
JUnit, Mocking, etc.
Security and Performance Testing
Selecting test-tools for each challenge in testing
Putting security & performance
specialist in CD teams
Avoid separation
Involved / Support in selecting tools
Remove privileges
Try to prevent security and
performance issues
Security and Performance Testing
Selecting test-tools for each challenge in testing
Dynamic Application Security Testing
HP Webinspect, Zap Proxy
Static Application Security Testing
HP Fortify
Performance Testing
JMeter, Silk Performer
Whole Team Approach
Selecting test-tools for each challenge in testing
Achieving same goal
BDD with Serenity & Cucumber
Agile Testing
Separating What from How
BDD with Serenity & Cucumber
What
How
Separating What from How
BDD with Serenity & Cucumber
Capabilities, Features & Cucumber steps
Given Customer has Bol.com account
When Customer orders products with
total price > EUR 20
Then Customer gets free shipping
Serenity steps & Page objects
Open productpage
productpage.clickOrder()
Open shoppingcartpage
Verify shoppingcartpage.getFreeDelivery() is …
What
How
Test Automation
BDD with Serenity & Cucumber
Serenity Capability
Description of
the problem
Cucumber Feature File
Description of the solution with examples
Cucumber Step Definitions
Glue Code to make scenarios executable
Serenity Steps Library
Support code for:
-  Page Objects – Interaction with browser/pages
-  Automatic Screenshot after every Serenity Step
Scenario: …
Given …
When …
Then …
Scenario: …
Given …
When …
Then …
Scenario: …
Given …
When …
Then …What
How
Serenity Reporting
BDD with Serenity & Cucumber
BDD with Serenity & Cucumber
Serenity Reporting
Technical implementation is easy
Small POC’s, focus on CD pipeline and fast feedback
Changing mindset of people is harder
Quality is a team effort.
BDD breaks barriers between development, testing and requirements
The consequences of
Continuous Delivery @ DUO
Software Development Done Right
Thank you!
Xebia Test Automation
Kishen Simbhoedatpanday
CTO Xebia Test Automation
@KishenPanday
ksimbhoedatpanday@xebia.com

More Related Content

Similar to How DUO started with Continuous Delivery and changed their way of Testing

Expo qa from user stories to automated acceptance tests with bdd
Expo qa   from user stories to automated acceptance tests with bddExpo qa   from user stories to automated acceptance tests with bdd
Expo qa from user stories to automated acceptance tests with bddEduardo Riol
 
Modeling Requirements Using Examples
Modeling Requirements Using ExamplesModeling Requirements Using Examples
Modeling Requirements Using ExamplesExcella
 
Radical Quality From Toyota to Tech
Radical Quality From Toyota to TechRadical Quality From Toyota to Tech
Radical Quality From Toyota to TechFlavian Hautbois
 
Specification-by-Example: A Cucumber Implementation
Specification-by-Example: A Cucumber ImplementationSpecification-by-Example: A Cucumber Implementation
Specification-by-Example: A Cucumber ImplementationTechWell
 
Business process creative environment [repaired]
Business process   creative environment [repaired]Business process   creative environment [repaired]
Business process creative environment [repaired]KarynNarramore
 
[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...
[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...
[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...DevDay.org
 
How to convert visitors to customers
How to convert visitors to customersHow to convert visitors to customers
How to convert visitors to customersExperiments
 
Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)Anand Bagmar
 
How to Link Your Product to Business Outcomes by Intercom Sr PM
How to Link Your Product to Business Outcomes by Intercom Sr PMHow to Link Your Product to Business Outcomes by Intercom Sr PM
How to Link Your Product to Business Outcomes by Intercom Sr PMProduct School
 
What Is Good Performance Isqlug Jan 2010
What Is Good Performance Isqlug Jan 2010What Is Good Performance Isqlug Jan 2010
What Is Good Performance Isqlug Jan 2010sqlserver.co.il
 
Micro Object Testing
Micro Object TestingMicro Object Testing
Micro Object TestingESUG
 
Bcc exceed ste_cert
Bcc exceed ste_certBcc exceed ste_cert
Bcc exceed ste_certSusan L.
 
Guide for Quality Center (QC) Automation Tool
Guide for Quality Center (QC) Automation ToolGuide for Quality Center (QC) Automation Tool
Guide for Quality Center (QC) Automation ToolSubrat Srivastava
 
Neumont Presentation to Roles Class - 050108
Neumont Presentation to Roles Class - 050108Neumont Presentation to Roles Class - 050108
Neumont Presentation to Roles Class - 050108Tom Humbarger
 
#w-owasp-cld-sec-wkshp Owasp cloud security workshop
#w-owasp-cld-sec-wkshp Owasp cloud security workshop#w-owasp-cld-sec-wkshp Owasp cloud security workshop
#w-owasp-cld-sec-wkshp Owasp cloud security workshopOpen Security Summit
 

Similar to How DUO started with Continuous Delivery and changed their way of Testing (20)

Expo qa from user stories to automated acceptance tests with bdd
Expo qa   from user stories to automated acceptance tests with bddExpo qa   from user stories to automated acceptance tests with bdd
Expo qa from user stories to automated acceptance tests with bdd
 
Modeling Requirements Using Examples
Modeling Requirements Using ExamplesModeling Requirements Using Examples
Modeling Requirements Using Examples
 
Radical Quality From Toyota to Tech
Radical Quality From Toyota to TechRadical Quality From Toyota to Tech
Radical Quality From Toyota to Tech
 
Specification-by-Example: A Cucumber Implementation
Specification-by-Example: A Cucumber ImplementationSpecification-by-Example: A Cucumber Implementation
Specification-by-Example: A Cucumber Implementation
 
Business process creative environment [repaired]
Business process   creative environment [repaired]Business process   creative environment [repaired]
Business process creative environment [repaired]
 
[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...
[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...
[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...
 
How to convert visitors to customers
How to convert visitors to customersHow to convert visitors to customers
How to convert visitors to customers
 
Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)
 
How to Link Your Product to Business Outcomes by Intercom Sr PM
How to Link Your Product to Business Outcomes by Intercom Sr PMHow to Link Your Product to Business Outcomes by Intercom Sr PM
How to Link Your Product to Business Outcomes by Intercom Sr PM
 
What Is Good Performance Isqlug Jan 2010
What Is Good Performance Isqlug Jan 2010What Is Good Performance Isqlug Jan 2010
What Is Good Performance Isqlug Jan 2010
 
Micro Object Testing
Micro Object TestingMicro Object Testing
Micro Object Testing
 
Bcc exceed ste_cert
Bcc exceed ste_certBcc exceed ste_cert
Bcc exceed ste_cert
 
Guide for Quality Center (QC) Automation Tool
Guide for Quality Center (QC) Automation ToolGuide for Quality Center (QC) Automation Tool
Guide for Quality Center (QC) Automation Tool
 
Itp251 Chptr6
Itp251 Chptr6Itp251 Chptr6
Itp251 Chptr6
 
Double Loop
Double LoopDouble Loop
Double Loop
 
Neumont Presentation to Roles Class - 050108
Neumont Presentation to Roles Class - 050108Neumont Presentation to Roles Class - 050108
Neumont Presentation to Roles Class - 050108
 
BDD in Automation Testing
BDD in Automation TestingBDD in Automation Testing
BDD in Automation Testing
 
#w-owasp-cld-sec-wkshp Owasp cloud security workshop
#w-owasp-cld-sec-wkshp Owasp cloud security workshop#w-owasp-cld-sec-wkshp Owasp cloud security workshop
#w-owasp-cld-sec-wkshp Owasp cloud security workshop
 
Bdd Show and Tell
Bdd Show and TellBdd Show and Tell
Bdd Show and Tell
 
Act 333
Act 333Act 333
Act 333
 

More from Xebia Nederland BV

The 10 tip recipe for business model innovation
The 10 tip recipe for business model innovationThe 10 tip recipe for business model innovation
The 10 tip recipe for business model innovationXebia Nederland BV
 
Holacracy: een nieuwe bodem voor de Scrum taart
Holacracy: een nieuwe bodem voor de Scrum taartHolacracy: een nieuwe bodem voor de Scrum taart
Holacracy: een nieuwe bodem voor de Scrum taartXebia Nederland BV
 
Videoscribe je agile transitie
Videoscribe je agile transitieVideoscribe je agile transitie
Videoscribe je agile transitieXebia Nederland BV
 
Sketchnote je Product Backlog Items & Sprint Retrospectives
Sketchnote je Product Backlog Items & Sprint RetrospectivesSketchnote je Product Backlog Items & Sprint Retrospectives
Sketchnote je Product Backlog Items & Sprint RetrospectivesXebia Nederland BV
 
Why we need test automation, but it’s not the right question
Why we need test automation, but it’s not the right questionWhy we need test automation, but it’s not the right question
Why we need test automation, but it’s not the right questionXebia Nederland BV
 
Testen in de transitie naar continuous delivery
Testen in de transitie naar continuous deliveryTesten in de transitie naar continuous delivery
Testen in de transitie naar continuous deliveryXebia Nederland BV
 
Becoming an agile enterprise, focus on the test ingredient
Becoming an agile enterprise, focus on the test ingredientBecoming an agile enterprise, focus on the test ingredient
Becoming an agile enterprise, focus on the test ingredientXebia Nederland BV
 
Become a digital company - Case KPN / Xebia
Become a digital company - Case KPN / XebiaBecome a digital company - Case KPN / Xebia
Become a digital company - Case KPN / XebiaXebia Nederland BV
 
Building a Docker powered feature driven delivery pipeline at hoyhoy.nl
Building a Docker powered feature driven delivery pipeline at hoyhoy.nlBuilding a Docker powered feature driven delivery pipeline at hoyhoy.nl
Building a Docker powered feature driven delivery pipeline at hoyhoy.nlXebia Nederland BV
 
TestWorks Conf The magic of models for 1000% test automation - Machiel van de...
TestWorks Conf The magic of models for 1000% test automation - Machiel van de...TestWorks Conf The magic of models for 1000% test automation - Machiel van de...
TestWorks Conf The magic of models for 1000% test automation - Machiel van de...Xebia Nederland BV
 
TestWorks Conf Serenity BDD in action - John Ferguson Smart
TestWorks Conf Serenity BDD in action - John Ferguson SmartTestWorks Conf Serenity BDD in action - John Ferguson Smart
TestWorks Conf Serenity BDD in action - John Ferguson SmartXebia Nederland BV
 
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé MochtarTestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé MochtarXebia Nederland BV
 
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...Xebia Nederland BV
 

More from Xebia Nederland BV (20)

The 10 tip recipe for business model innovation
The 10 tip recipe for business model innovationThe 10 tip recipe for business model innovation
The 10 tip recipe for business model innovation
 
Scan je teams!
Scan je teams!Scan je teams!
Scan je teams!
 
Holacracy: een nieuwe bodem voor de Scrum taart
Holacracy: een nieuwe bodem voor de Scrum taartHolacracy: een nieuwe bodem voor de Scrum taart
Holacracy: een nieuwe bodem voor de Scrum taart
 
3* Scrum Master
3* Scrum Master3* Scrum Master
3* Scrum Master
 
Judo Strategy
Judo StrategyJudo Strategy
Judo Strategy
 
Agile en Scrum buiten IT
Agile en Scrum buiten ITAgile en Scrum buiten IT
Agile en Scrum buiten IT
 
Scrumban
ScrumbanScrumban
Scrumban
 
Creating the right products
Creating the right productsCreating the right products
Creating the right products
 
Videoscribe je agile transitie
Videoscribe je agile transitieVideoscribe je agile transitie
Videoscribe je agile transitie
 
Sketchnote je Product Backlog Items & Sprint Retrospectives
Sketchnote je Product Backlog Items & Sprint RetrospectivesSketchnote je Product Backlog Items & Sprint Retrospectives
Sketchnote je Product Backlog Items & Sprint Retrospectives
 
Why we need test automation, but it’s not the right question
Why we need test automation, but it’s not the right questionWhy we need test automation, but it’s not the right question
Why we need test automation, but it’s not the right question
 
Testen in de transitie naar continuous delivery
Testen in de transitie naar continuous deliveryTesten in de transitie naar continuous delivery
Testen in de transitie naar continuous delivery
 
Becoming an agile enterprise, focus on the test ingredient
Becoming an agile enterprise, focus on the test ingredientBecoming an agile enterprise, focus on the test ingredient
Becoming an agile enterprise, focus on the test ingredient
 
Become a digital company - Case KPN / Xebia
Become a digital company - Case KPN / XebiaBecome a digital company - Case KPN / Xebia
Become a digital company - Case KPN / Xebia
 
Building a Docker powered feature driven delivery pipeline at hoyhoy.nl
Building a Docker powered feature driven delivery pipeline at hoyhoy.nlBuilding a Docker powered feature driven delivery pipeline at hoyhoy.nl
Building a Docker powered feature driven delivery pipeline at hoyhoy.nl
 
Webinar Xebia & bol.com
Webinar Xebia & bol.comWebinar Xebia & bol.com
Webinar Xebia & bol.com
 
TestWorks Conf The magic of models for 1000% test automation - Machiel van de...
TestWorks Conf The magic of models for 1000% test automation - Machiel van de...TestWorks Conf The magic of models for 1000% test automation - Machiel van de...
TestWorks Conf The magic of models for 1000% test automation - Machiel van de...
 
TestWorks Conf Serenity BDD in action - John Ferguson Smart
TestWorks Conf Serenity BDD in action - John Ferguson SmartTestWorks Conf Serenity BDD in action - John Ferguson Smart
TestWorks Conf Serenity BDD in action - John Ferguson Smart
 
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé MochtarTestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
 
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
 

Recently uploaded

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

How DUO started with Continuous Delivery and changed their way of Testing

  • 1. Software Development Done Right How DUO started with Continuous Delivery and changed their way of Testing Kishen Simbhoedatpanday CTO Xebia Test Automation Xebia Test Automation
  • 2. DUO
  • 3. Technical implementation is easy Selecting testing tools BDD with Serenity Changing mindset of people is harder Moving away from Quality Assurance BDD & Specification by Example The consequences of Continuous Delivery @ DUO
  • 6. Testers 1.0 Agile Testing Technical   Unit  Tes-ng   System   Tes-ng   User   Acceptance   Tes-ng   Performance   &  Security   Tes-ng  
  • 8. Scrum fall Todo   In  Progress   In  Test   Done   Task  15   Task  13   Task  14   Task  3   Task  4   Task  5   Task  6   Task  7   Task  8   Task  9   Task  10   Task  11   Task  12   Task  1   Task  2   Agile Testing
  • 10. Agile Testing Mom  to  her  son:   “Son,  please  go  to  the  market   and  buy  1  boKle  of  milk.     If  they  have  eggs,  bring  6  ”     What  did  he  bring  home?  
  • 11. When do you want to know you have a problem? Agile Testing
  • 13. Testing 3.0 Agile Testing The Ambassadors of Quality
  • 14. Bridging the gap Agile Testing Mutual understanding with the whole business towards testing
  • 15. Knowledge sharing is key to innovation Coding Dojos (Java) Workshops (BDD & Specification by Example, Cucumber & Serenity) Selecting test-tools for each challenge in testing
  • 16. Are testers still relevant? Yes! but… Agile Testing Think Quality Assistance not Assurance Developers eating own dog food Team takes responsibility in testing Test Automation to support CD Building Quality into the process
  • 18. BDD & Specification by Example Agile Testing
  • 19. What is BDD? BDD & Specification by Example Process of driving desired behaviour of software Explore Discover Define
  • 20. Challenge requirements first BDD & Specification by Example
  • 21. Explore and Decide BDD & Specification by Example
  • 22. Test first with conversations BDD & Specification by Example
  • 23. What is it? BDD & Specification by Example
  • 24. Acceptance Tests Scenario:  Search  for  ar5cles  by  keyword   Given   I  want  to  buy  a  wool  scarf   When   I  search  for  ‘wool’   Then   I  should  see  ar-cles  related  to  wool   BDD & Specification by Example
  • 25. Free Delivery We offer free delivery to the customer when the total price of the Shopping Cart is equal or greater than 20,00 EUR Acceptance Test with examples When  products  ordered   Total  Price  in  €   Then  Delivery  costs   1  Book   19,99   3,95   2  Books   20,00   0,00   1  Book   20,01   0,00   1  Book,  1  Refrigerator     799,99   ?   BDD & Specification by Example
  • 26. Specification pitfalls 1.  Too many AND 2.  Too many columns 3.  Getting stuck with Given 4.  Too abstract BDD & Specification by Example
  • 27. Pitfall 1: Too many AND Given the admin page is open When the user types John into the 'employee name' and the user types 30000 into the 'salary' and the user clicks 'Add' Then the page reloads And the user types Mike into the 'employee name' BDD & Specification by Example
  • 28. Pitfall 1: Too many AND Focus on what you want to specify Given employee ‘John’ has salary 300000 When HR opens salary overview of employees Then employee ‘John’ has salary 300000 BDD & Specification by Example
  • 29. Pitfall 2: Too many columns Scenario Outline: View Salary Given employee has name <FirstName> And employee <FirstName> has last name <LastName> And employee <FirstName> has salary <Salary> And employee <FirstName> has …… When HR opens salary overview of employees Then employee <Name> has salary <Salary> And …. And …. BDD & Specification by Example FirstName   LastName   ….   ….   ….?   ….?   Salary?   John   Doe   ….   ….   ….   ….   300000   Jane   Doe   ….   ….   ….   ….   400000  
  • 30. Pitfall 2: Too many columns Focus on relevant input and output Scenario Outline: View Salary Given employee has name <FirstName> And employee <FirstName> has salary <Salary> When HR opens salary overview of employees Then employee <Name> has salary <Salary> BDD & Specification by Example FirstName   LastName   Salary   John   Doe   300000   Jane   Doe   400000  
  • 31. Pitfall 3: Getting stuck with Given Scenario: Search phone book Given ... eeeh … I am on the online phone book I click … eeeh ... Pffff…. This is hard! BDD & Specification by Example
  • 32. Pitfall 3: Getting stuck with Given Focus on the business value (Then) first Given I see a search result for florist “Floral Designs” When I click “View map” of the search result Then I find the location “Floriststreet 123” Blog: http://blog.xebia.com/2014/10/17/when-then-given/ BDD & Specification by Example
  • 33. Pitfall 4: Too abstract Scenario: Pay the rent Given I have enough money to pay the rent When I land on a spot to pay rent Then I pay the rent of the spot BDD & Specification by Example
  • 34. Pitfall 4: Too abstract Focus on the essence of the spec Given my account has 500 dollars When I land on a spot to pay rent of 50 dollars Then my account has 450 dollars BDD & Specification by Example
  • 35. Specification pitfalls 1.  Too many AND 2.  Too many columns 3.  Getting stuck with Given 4.  Too abstract BDD & Specification by Example
  • 36. Selecting test-tools for each challenge in testing Agile Testing
  • 37. Test Automation Selecting test-tools for each challenge in testing Test Automation is coding!
  • 38. Selecting test-tools Selecting test-tools for each challenge in testing Don’t hire QA army Do small POC’s Pick tools that fit the development team Advice a tool, but leave room for innovation Make sure it fits into the CD pipeline
  • 39. Return on investment of Test Automation Lowest ROI Highest ROI Chain   Applica-on   Unit  /  Components   Selecting test-tools for each challenge in testing
  • 40. What do you want to check? Selecting test-tools for each challenge in testing Chain   Applica-on   Unit  /  Components   Cucumber, Serenity, WebDriver JUnit, Mocking, etc.
  • 41. Security and Performance Testing Selecting test-tools for each challenge in testing Putting security & performance specialist in CD teams Avoid separation Involved / Support in selecting tools Remove privileges Try to prevent security and performance issues
  • 42. Security and Performance Testing Selecting test-tools for each challenge in testing Dynamic Application Security Testing HP Webinspect, Zap Proxy Static Application Security Testing HP Fortify Performance Testing JMeter, Silk Performer
  • 43. Whole Team Approach Selecting test-tools for each challenge in testing Achieving same goal
  • 44. BDD with Serenity & Cucumber Agile Testing
  • 45. Separating What from How BDD with Serenity & Cucumber What How
  • 46. Separating What from How BDD with Serenity & Cucumber Capabilities, Features & Cucumber steps Given Customer has Bol.com account When Customer orders products with total price > EUR 20 Then Customer gets free shipping Serenity steps & Page objects Open productpage productpage.clickOrder() Open shoppingcartpage Verify shoppingcartpage.getFreeDelivery() is … What How
  • 47. Test Automation BDD with Serenity & Cucumber Serenity Capability Description of the problem Cucumber Feature File Description of the solution with examples Cucumber Step Definitions Glue Code to make scenarios executable Serenity Steps Library Support code for: -  Page Objects – Interaction with browser/pages -  Automatic Screenshot after every Serenity Step Scenario: … Given … When … Then … Scenario: … Given … When … Then … Scenario: … Given … When … Then …What How
  • 48. Serenity Reporting BDD with Serenity & Cucumber
  • 49. BDD with Serenity & Cucumber Serenity Reporting
  • 50. Technical implementation is easy Small POC’s, focus on CD pipeline and fast feedback Changing mindset of people is harder Quality is a team effort. BDD breaks barriers between development, testing and requirements The consequences of Continuous Delivery @ DUO
  • 51. Software Development Done Right Thank you! Xebia Test Automation Kishen Simbhoedatpanday CTO Xebia Test Automation @KishenPanday ksimbhoedatpanday@xebia.com