SlideShare a Scribd company logo
TA in een BDD context
Christian Bos | 03–03–2021
Even voorstellen…
Christian Bos
Test automation developer
• 3+ jaar bij Immune-it
• > 10 jaar bij Sogeti
• Test automation specialist && trainer
• Java && Python developer
• (Agile) coach && test specialist
Hoe we het normaal eigenlijk doen…
• In elke stap zit een vertaalslag
• Elke discipline zijn ‘eigen waarheid’
(code vs documentatie)
“Maatregelen”
• Test-Driven Development (TDD)
• eerst een test schrijven, deze laten falen
• daarna pas code applicatie schrijven
• Test Automation
• automatisering van de testuitvoer
• Continuous Integration en Delivery (CI/CD)
• automatische pipelines
• scheduling van nightly builds en regressietest
• DevOps
• ontwikkelteam (dev) vs beheerteam (ops)
Samenwerken en communiceren…
Hoe het zou kunnen gaan…
• Gezamenlijk beeld van en
consensus over requirements en
implementatie
• Vastleggen requirements in
leesbare taal
• Deze vastlegging is de ‘enige
waarheid’
Specification by example
• Duidelijke en leesbare beschrijving (kort)
• alleen (droge) tekst vaak niet duidelijk genoeg
• beschrijven van ‘key examples’ (edge-cases)
• voorkomen van slechte aannames
• Geen aparte testbasis (oracle) voor TA
• voorbeelden in specificatie zijn uitvoerbaar
• rapportage 1 op 1 tegen specificaties
• Documentatie altijd up-to-date
Voordelen en uitdagingen van BDD
Voordelen
• BDD bevordert samenwerking en
communicatie (consensus)
• Shift-left mogelijk door vroegtijdig
betrekken tester(s)
• Bevordert kwaliteits-mindset (TDD)
Uitdagingen
• Vereist goede samenwerking en
communicatie
• Veronderstelt Agile werkwijze
• Lijkt langzamer te gaan
Gherkin
• given (precondities)
• when (actie)
• then (uitkomst)
• and
• but
• korte scenario’s
• beschrijving van systeemgedrag
• Leesbaar voor iedereen (niet technisch)
Gherkin – do’s & don’ts
Gherkin – do’s & don’ts
DO
• één scenario, één ‘behaviour’
• in derde persoon tegenwoordige tijd
• definieer de context
• scenario vertelt de intentie van de
feature
DON’T
• procedurele stappen beschrijven
• implementatie beschrijven
• configuratiewaarden
• grote scenario’s met (te) veel stappen
Opzet TA script
• Data-driven script
• veel testcases (gevoed vanuit data file)
• relatief slecht leesbare rapportage (for-loops)
• positief vs negatief testen
• Keyword-driven script
• specifieke keywords voor teststappen en assertions
• technische benaming keywords
• Process-driven script
• high-level keywords
• naamgeving keywords scenario-gebaseerd
• complexiteit weg-geabstraheerd in keywords
business-scenario’s (e2e)
detail-functionaliteit
Randvoorwaarden (TA)
• Test(automatiserings)strategie
• wees heel kritisch: wat wel en vooral wat niet automatiseren
• kies juiste insteek bij automatiseren (details vs overall-proces testen)
• durf bestaande testcases weg te gooien!
• Gedeelde TA-strategie
• Stakeholders zijn betrokken bij alle TA inspanningen
• QA is verantwoordelijkheid van het gehele team
• hoe rapporteren (maak logging en rapportage leesbaar en herleidbaar)
Randvoorwaarden (proces)
• Agile requirementsproces
• gezamenlijk communiceren (consensus)
• acceptatiecriteria
• Test-driven development (TDD)
• developers schrijven liever code dan tests ☺
• Continuous integration en deployment (CI/CD)
• run testcases gescheduled
• checkin git gebruiken als trigger voor TA

More Related Content

Similar to Test automation in een BDD context

ING : How top quality software and state-of-the-art technology leads to conti...
ING : How top quality software and state-of-the-art technology leads to conti...ING : How top quality software and state-of-the-art technology leads to conti...
ING : How top quality software and state-of-the-art technology leads to conti...
NLJUG
 

Similar to Test automation in een BDD context (20)

Robot framework en ci v2
Robot framework en ci v2Robot framework en ci v2
Robot framework en ci v2
 
Meetup DB testing met SoapUI en Robot Framework.pdf
Meetup DB testing met SoapUI en Robot Framework.pdfMeetup DB testing met SoapUI en Robot Framework.pdf
Meetup DB testing met SoapUI en Robot Framework.pdf
 
BPUG Seminar 2014 Rik Marselis - effectief testen in agile
BPUG Seminar 2014 Rik Marselis - effectief testen in agileBPUG Seminar 2014 Rik Marselis - effectief testen in agile
BPUG Seminar 2014 Rik Marselis - effectief testen in agile
 
Testen Onder Druk V1.2 Ex
Testen Onder Druk V1.2 ExTesten Onder Druk V1.2 Ex
Testen Onder Druk V1.2 Ex
 
TOPAAS Versie 2.0, een praktische inleiding
TOPAAS Versie 2.0, een praktische inleidingTOPAAS Versie 2.0, een praktische inleiding
TOPAAS Versie 2.0, een praktische inleiding
 
Asl bi sl metrics themasessie 2013 devops sogeti
Asl bi sl metrics themasessie 2013   devops sogetiAsl bi sl metrics themasessie 2013   devops sogeti
Asl bi sl metrics themasessie 2013 devops sogeti
 
Nearshore softwareontwikkeling - Technosoft
Nearshore softwareontwikkeling - TechnosoftNearshore softwareontwikkeling - Technosoft
Nearshore softwareontwikkeling - Technosoft
 
Workshop BI/DWH AGILE TESTING SNS Bank Dutch
Workshop BI/DWH AGILE TESTING SNS Bank DutchWorkshop BI/DWH AGILE TESTING SNS Bank Dutch
Workshop BI/DWH AGILE TESTING SNS Bank Dutch
 
Niet onderhoudbare software in 10 makkelijke stappen
Niet onderhoudbare software in 10 makkelijke stappenNiet onderhoudbare software in 10 makkelijke stappen
Niet onderhoudbare software in 10 makkelijke stappen
 
Agile, Continuous Delivery & DevOps in perspectief
Agile, Continuous Delivery & DevOps in perspectiefAgile, Continuous Delivery & DevOps in perspectief
Agile, Continuous Delivery & DevOps in perspectief
 
2008-06-23 - SDN - Kwaliteit van software, wat is dat nu eigenlijk?
2008-06-23 - SDN - Kwaliteit van software, wat is dat nu eigenlijk?2008-06-23 - SDN - Kwaliteit van software, wat is dat nu eigenlijk?
2008-06-23 - SDN - Kwaliteit van software, wat is dat nu eigenlijk?
 
Web applicatie van scratch
Web applicatie van scratchWeb applicatie van scratch
Web applicatie van scratch
 
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
 
DevOps presentatie
DevOps presentatieDevOps presentatie
DevOps presentatie
 
TestNet - Agile testautomatisering in de praktijk
TestNet - Agile testautomatisering in de praktijkTestNet - Agile testautomatisering in de praktijk
TestNet - Agile testautomatisering in de praktijk
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Fronteers Modern Testing
Fronteers Modern TestingFronteers Modern Testing
Fronteers Modern Testing
 
ING : How top quality software and state-of-the-art technology leads to conti...
ING : How top quality software and state-of-the-art technology leads to conti...ING : How top quality software and state-of-the-art technology leads to conti...
ING : How top quality software and state-of-the-art technology leads to conti...
 
Workshop BI/DWH AGILE TESTING Zwitserleven Dutch
Workshop BI/DWH AGILE TESTING Zwitserleven DutchWorkshop BI/DWH AGILE TESTING Zwitserleven Dutch
Workshop BI/DWH AGILE TESTING Zwitserleven Dutch
 
Als Het Goed Is Hoef Je Niet Te Testen Slide Share
Als Het Goed Is Hoef Je Niet Te Testen   Slide ShareAls Het Goed Is Hoef Je Niet Te Testen   Slide Share
Als Het Goed Is Hoef Je Niet Te Testen Slide Share
 

Recently uploaded

Recently uploaded (7)

What's New in FME 2024: belangrijkste functies te delen die uw operationele e...
What's New in FME 2024: belangrijkste functies te delen die uw operationele e...What's New in FME 2024: belangrijkste functies te delen die uw operationele e...
What's New in FME 2024: belangrijkste functies te delen die uw operationele e...
 
Inrichting van de FME Flow Server. Hoe creëer je een goed doordachte governan...
Inrichting van de FME Flow Server. Hoe creëer je een goed doordachte governan...Inrichting van de FME Flow Server. Hoe creëer je een goed doordachte governan...
Inrichting van de FME Flow Server. Hoe creëer je een goed doordachte governan...
 
Synergie tussen AGOL en FME. Opbouw van relaties tussen OTL-objecten en AWV L...
Synergie tussen AGOL en FME. Opbouw van relaties tussen OTL-objecten en AWV L...Synergie tussen AGOL en FME. Opbouw van relaties tussen OTL-objecten en AWV L...
Synergie tussen AGOL en FME. Opbouw van relaties tussen OTL-objecten en AWV L...
 
Van inschrijving tot CRM: Efficiënte Automatisering met FME Flow en Teamleade...
Van inschrijving tot CRM: Efficiënte Automatisering met FME Flow en Teamleade...Van inschrijving tot CRM: Efficiënte Automatisering met FME Flow en Teamleade...
Van inschrijving tot CRM: Efficiënte Automatisering met FME Flow en Teamleade...
 
Automatische lokalisatie van schematische tekeningen van spoorwegnetwerk door...
Automatische lokalisatie van schematische tekeningen van spoorwegnetwerk door...Automatische lokalisatie van schematische tekeningen van spoorwegnetwerk door...
Automatische lokalisatie van schematische tekeningen van spoorwegnetwerk door...
 
FME FlowAutomations: meer dan een keten van workspaces
FME FlowAutomations: meer dan een keten van workspacesFME FlowAutomations: meer dan een keten van workspaces
FME FlowAutomations: meer dan een keten van workspaces
 
Validatie en Extractie van BIM-modellen met FME en Cadac Control
Validatie en Extractie van BIM-modellen met FME en Cadac ControlValidatie en Extractie van BIM-modellen met FME en Cadac Control
Validatie en Extractie van BIM-modellen met FME en Cadac Control
 

Test automation in een BDD context

  • 1. TA in een BDD context Christian Bos | 03–03–2021
  • 2. Even voorstellen… Christian Bos Test automation developer • 3+ jaar bij Immune-it • > 10 jaar bij Sogeti • Test automation specialist && trainer • Java && Python developer • (Agile) coach && test specialist
  • 3. Hoe we het normaal eigenlijk doen… • In elke stap zit een vertaalslag • Elke discipline zijn ‘eigen waarheid’ (code vs documentatie)
  • 4. “Maatregelen” • Test-Driven Development (TDD) • eerst een test schrijven, deze laten falen • daarna pas code applicatie schrijven • Test Automation • automatisering van de testuitvoer • Continuous Integration en Delivery (CI/CD) • automatische pipelines • scheduling van nightly builds en regressietest • DevOps • ontwikkelteam (dev) vs beheerteam (ops)
  • 6. Hoe het zou kunnen gaan… • Gezamenlijk beeld van en consensus over requirements en implementatie • Vastleggen requirements in leesbare taal • Deze vastlegging is de ‘enige waarheid’
  • 7. Specification by example • Duidelijke en leesbare beschrijving (kort) • alleen (droge) tekst vaak niet duidelijk genoeg • beschrijven van ‘key examples’ (edge-cases) • voorkomen van slechte aannames • Geen aparte testbasis (oracle) voor TA • voorbeelden in specificatie zijn uitvoerbaar • rapportage 1 op 1 tegen specificaties • Documentatie altijd up-to-date
  • 8. Voordelen en uitdagingen van BDD Voordelen • BDD bevordert samenwerking en communicatie (consensus) • Shift-left mogelijk door vroegtijdig betrekken tester(s) • Bevordert kwaliteits-mindset (TDD) Uitdagingen • Vereist goede samenwerking en communicatie • Veronderstelt Agile werkwijze • Lijkt langzamer te gaan
  • 9. Gherkin • given (precondities) • when (actie) • then (uitkomst) • and • but • korte scenario’s • beschrijving van systeemgedrag • Leesbaar voor iedereen (niet technisch)
  • 10. Gherkin – do’s & don’ts
  • 11. Gherkin – do’s & don’ts DO • één scenario, één ‘behaviour’ • in derde persoon tegenwoordige tijd • definieer de context • scenario vertelt de intentie van de feature DON’T • procedurele stappen beschrijven • implementatie beschrijven • configuratiewaarden • grote scenario’s met (te) veel stappen
  • 12. Opzet TA script • Data-driven script • veel testcases (gevoed vanuit data file) • relatief slecht leesbare rapportage (for-loops) • positief vs negatief testen • Keyword-driven script • specifieke keywords voor teststappen en assertions • technische benaming keywords • Process-driven script • high-level keywords • naamgeving keywords scenario-gebaseerd • complexiteit weg-geabstraheerd in keywords business-scenario’s (e2e) detail-functionaliteit
  • 13. Randvoorwaarden (TA) • Test(automatiserings)strategie • wees heel kritisch: wat wel en vooral wat niet automatiseren • kies juiste insteek bij automatiseren (details vs overall-proces testen) • durf bestaande testcases weg te gooien! • Gedeelde TA-strategie • Stakeholders zijn betrokken bij alle TA inspanningen • QA is verantwoordelijkheid van het gehele team • hoe rapporteren (maak logging en rapportage leesbaar en herleidbaar)
  • 14. Randvoorwaarden (proces) • Agile requirementsproces • gezamenlijk communiceren (consensus) • acceptatiecriteria • Test-driven development (TDD) • developers schrijven liever code dan tests ☺ • Continuous integration en deployment (CI/CD) • run testcases gescheduled • checkin git gebruiken als trigger voor TA