SlideShare a Scribd company logo
1 of 22
Download to read offline
Robot Framework
en CI/CD
Christian Bos & Guido Demmenie | RF meetup 05-10-2020
Deel 1: definitie en context
Het eeuwige dilemma…
Software in productie…
DevOps
Hoe dan?
Continuous Integration/Deployment
Continuous Integration (CI)
Waarom CI?
• Code regelmatig integreren met codebase
• voorkomen (grote) merge problemen
• bugs snel detecteren (regressie)
• Snelle feedback loop
• keep the build fast
• minimaal 1x per dag per developer
• elke commit wordt gebuild (self-testing)
• Laatste stabiele versie
Samenvatting
Deel 2: TA en CI/CD
Wat betekent CI/CD voor testen?
• Continuous testing
• vaak dezelfde testcases uitvoeren (regressietesten)
• testen tijdens alle ‘faseovergangen’
• dezelfde testen in meerdere omgevingen (testdata)
• Wees kritisch: moet ik elke testcase runnen?
• zorg voor een goede test(automation)strategie!
• pesticide paradox
Wat betekent CI/CD voor testen?
• Gescheduled draaien van testen
• nightly build
• wijzigingen in code base (regressie)
• wijzigingen buiten eigen code
• Welke testcase run ik als eerste?
• grootste faalkans
• snelste testcase
Test(automatiserings)strategie
• Welke test worden (niet) geautomatiseerd?
• testdekking (coverage) – testontwerptechnieken!
• business- en technische risico’s (PRA)
• frequentie van uitvoeren
• Op welk niveau wordt iets getest?
• niet alles op GUI niveau!
• test automation pyramid
Test(automatiserings)strategie
• Wie is verantwoordelijk?
• Teamverantwoordelijkheid!
• afstemming met stakeholders
• hoe ziet rapportage eruit?
• Niet alles kan geautomatiseerd worden
• 100% TA moet nooit het doel zijn!
• exploratory testing
• Testcases schrijven voor defects/incidents?
Agile testing
Stappenplan voor CI…
1. Testautomatisering stabiel
• begin met een kleine set
• scripts leesbaar en onderhoudbaar (clean code)
• logging leesbaar en bij fouten behulpzaam
• kies juiste tool voor TA ☺
2. Versiebeheer
• TA scripts in een versiebeheer tool (git)
• branching strategie
• TA code bij SUT code? of apart?
Stappenplan voor CI…
3. Scheduling
• draai tests gescheduled (nightly build)
• bekijk ook dagelijks de resultaten!
• begin ook hier met een kleine set
4. Vergroot de test coverage
• voeg waardevolle (business value) testcases en controles toe
• splitsen jobs in CI tool
• meerdere omgevingen
• monitoring
Stappenplan voor CI…
5. Triggers
• laat git commits automatisch builden
• gebruik nieuwe build als trigger voor TA
6. Onderhoud
• bekijk periodiek (elke sprint) welke testcases nog werken
• wees ook kritisch: welke testcases kunnen weg?
• parallel draaien van testcases?
Tools voor CI
Tools voor CI
Deel 3: Demo Jenkins

More Related Content

Similar to Robot framework en ci v2

Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleHoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleSjoerd Hemminga
 
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 ShareBigBirdNL
 
Testen binnen dev ops DTC 2014
Testen binnen dev ops DTC 2014Testen binnen dev ops DTC 2014
Testen binnen dev ops DTC 2014Kaspar van Dam
 
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 DutchMarcus Drost
 
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 sogetiHarold van Heeringen
 
Testnet Presentatie: Testen = Monitoren
Testnet Presentatie: Testen = MonitorenTestnet Presentatie: Testen = Monitoren
Testnet Presentatie: Testen = MonitorenIde Koops
 
Techdays 2012 - Better code through reviews and tools
Techdays 2012 - Better code through reviews and toolsTechdays 2012 - Better code through reviews and tools
Techdays 2012 - Better code through reviews and toolsJesse Houwing
 
Web applicatie van scratch
Web applicatie van scratchWeb applicatie van scratch
Web applicatie van scratchHanzehogeschool
 
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleHoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleJeroen Reijn
 
2016 11-15 - nvrb - software betrouwbaarheid
2016 11-15 - nvrb - software betrouwbaarheid2016 11-15 - nvrb - software betrouwbaarheid
2016 11-15 - nvrb - software betrouwbaarheidJaap van Ekris
 
Correct toepassen van cryptografie - (ISC)2 NL - 10 juni 2014
Correct toepassen van cryptografie - (ISC)2 NL - 10 juni 2014Correct toepassen van cryptografie - (ISC)2 NL - 10 juni 2014
Correct toepassen van cryptografie - (ISC)2 NL - 10 juni 2014Luuk Danes
 
Testen van 1,3 miljoen regels mission critical code omzetten naar C++, hoe te...
Testen van 1,3 miljoen regels mission critical code omzetten naar C++, hoe te...Testen van 1,3 miljoen regels mission critical code omzetten naar C++, hoe te...
Testen van 1,3 miljoen regels mission critical code omzetten naar C++, hoe te...Jaap Kuilman
 
TestNet - Agile testautomatisering in de praktijk
TestNet - Agile testautomatisering in de praktijkTestNet - Agile testautomatisering in de praktijk
TestNet - Agile testautomatisering in de praktijkTest Tool Factory
 
Sdb Presentatie
Sdb PresentatieSdb Presentatie
Sdb Presentatiemenfey
 
Versiebeheer van database changes
Versiebeheer van database changesVersiebeheer van database changes
Versiebeheer van database changesArjen van Vliet
 
Automatisch testen van datawarehouses
Automatisch testen van datawarehousesAutomatisch testen van datawarehouses
Automatisch testen van datawarehousesmkompagne
 

Similar to Robot framework en ci v2 (20)

Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleHoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
 
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
 
Testen binnen dev ops DTC 2014
Testen binnen dev ops DTC 2014Testen binnen dev ops DTC 2014
Testen binnen dev ops DTC 2014
 
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
 
Perfect Patch
Perfect PatchPerfect Patch
Perfect Patch
 
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
 
Testnet Presentatie: Testen = Monitoren
Testnet Presentatie: Testen = MonitorenTestnet Presentatie: Testen = Monitoren
Testnet Presentatie: Testen = Monitoren
 
Techdays 2012 - Better code through reviews and tools
Techdays 2012 - Better code through reviews and toolsTechdays 2012 - Better code through reviews and tools
Techdays 2012 - Better code through reviews and tools
 
Web applicatie van scratch
Web applicatie van scratchWeb applicatie van scratch
Web applicatie van scratch
 
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB AlarmcentraleHoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale
 
2016 11-15 - nvrb - software betrouwbaarheid
2016 11-15 - nvrb - software betrouwbaarheid2016 11-15 - nvrb - software betrouwbaarheid
2016 11-15 - nvrb - software betrouwbaarheid
 
Correct toepassen van cryptografie - (ISC)2 NL - 10 juni 2014
Correct toepassen van cryptografie - (ISC)2 NL - 10 juni 2014Correct toepassen van cryptografie - (ISC)2 NL - 10 juni 2014
Correct toepassen van cryptografie - (ISC)2 NL - 10 juni 2014
 
Testen van 1,3 miljoen regels mission critical code omzetten naar C++, hoe te...
Testen van 1,3 miljoen regels mission critical code omzetten naar C++, hoe te...Testen van 1,3 miljoen regels mission critical code omzetten naar C++, hoe te...
Testen van 1,3 miljoen regels mission critical code omzetten naar C++, hoe te...
 
Integratiefase
IntegratiefaseIntegratiefase
Integratiefase
 
Integratiefase
IntegratiefaseIntegratiefase
Integratiefase
 
TestNet - Agile testautomatisering in de praktijk
TestNet - Agile testautomatisering in de praktijkTestNet - Agile testautomatisering in de praktijk
TestNet - Agile testautomatisering in de praktijk
 
H6 Realisatiefase
H6 RealisatiefaseH6 Realisatiefase
H6 Realisatiefase
 
Sdb Presentatie
Sdb PresentatieSdb Presentatie
Sdb Presentatie
 
Versiebeheer van database changes
Versiebeheer van database changesVersiebeheer van database changes
Versiebeheer van database changes
 
Automatisch testen van datawarehouses
Automatisch testen van datawarehousesAutomatisch testen van datawarehouses
Automatisch testen van datawarehouses
 

More from christiantester

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.pdfchristiantester
 
Robot framework en Browser Library
Robot framework en Browser LibraryRobot framework en Browser Library
Robot framework en Browser Librarychristiantester
 
Introductie robot framework
Introductie robot frameworkIntroductie robot framework
Introductie robot frameworkchristiantester
 
Rf meetup 20210412 robo_con
Rf meetup 20210412 robo_conRf meetup 20210412 robo_con
Rf meetup 20210412 robo_conchristiantester
 
Rf meetup 25feb2020 robo_con
Rf meetup 25feb2020 robo_conRf meetup 25feb2020 robo_con
Rf meetup 25feb2020 robo_conchristiantester
 

More from christiantester (9)

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
 
Robot framework en Browser Library
Robot framework en Browser LibraryRobot framework en Browser Library
Robot framework en Browser Library
 
Introductie robot framework
Introductie robot frameworkIntroductie robot framework
Introductie robot framework
 
Rf meetup 20210412 robo_con
Rf meetup 20210412 robo_conRf meetup 20210412 robo_con
Rf meetup 20210412 robo_con
 
Robo con 2021
Robo con 2021Robo con 2021
Robo con 2021
 
Cypress meetup v2
Cypress meetup v2Cypress meetup v2
Cypress meetup v2
 
Rf meetup 25feb2020 robo_con
Rf meetup 25feb2020 robo_conRf meetup 25feb2020 robo_con
Rf meetup 25feb2020 robo_con
 
Rest api testing
Rest api testingRest api testing
Rest api testing
 
Robocon @ Immune-it
Robocon @ Immune-itRobocon @ Immune-it
Robocon @ Immune-it
 

Robot framework en ci v2

  • 1. Robot Framework en CI/CD Christian Bos & Guido Demmenie | RF meetup 05-10-2020
  • 2. Deel 1: definitie en context
  • 9. Waarom CI? • Code regelmatig integreren met codebase • voorkomen (grote) merge problemen • bugs snel detecteren (regressie) • Snelle feedback loop • keep the build fast • minimaal 1x per dag per developer • elke commit wordt gebuild (self-testing) • Laatste stabiele versie
  • 11. Deel 2: TA en CI/CD
  • 12. Wat betekent CI/CD voor testen? • Continuous testing • vaak dezelfde testcases uitvoeren (regressietesten) • testen tijdens alle ‘faseovergangen’ • dezelfde testen in meerdere omgevingen (testdata) • Wees kritisch: moet ik elke testcase runnen? • zorg voor een goede test(automation)strategie! • pesticide paradox
  • 13. Wat betekent CI/CD voor testen? • Gescheduled draaien van testen • nightly build • wijzigingen in code base (regressie) • wijzigingen buiten eigen code • Welke testcase run ik als eerste? • grootste faalkans • snelste testcase
  • 14. Test(automatiserings)strategie • Welke test worden (niet) geautomatiseerd? • testdekking (coverage) – testontwerptechnieken! • business- en technische risico’s (PRA) • frequentie van uitvoeren • Op welk niveau wordt iets getest? • niet alles op GUI niveau! • test automation pyramid
  • 15. Test(automatiserings)strategie • Wie is verantwoordelijk? • Teamverantwoordelijkheid! • afstemming met stakeholders • hoe ziet rapportage eruit? • Niet alles kan geautomatiseerd worden • 100% TA moet nooit het doel zijn! • exploratory testing • Testcases schrijven voor defects/incidents?
  • 17. Stappenplan voor CI… 1. Testautomatisering stabiel • begin met een kleine set • scripts leesbaar en onderhoudbaar (clean code) • logging leesbaar en bij fouten behulpzaam • kies juiste tool voor TA ☺ 2. Versiebeheer • TA scripts in een versiebeheer tool (git) • branching strategie • TA code bij SUT code? of apart?
  • 18. Stappenplan voor CI… 3. Scheduling • draai tests gescheduled (nightly build) • bekijk ook dagelijks de resultaten! • begin ook hier met een kleine set 4. Vergroot de test coverage • voeg waardevolle (business value) testcases en controles toe • splitsen jobs in CI tool • meerdere omgevingen • monitoring
  • 19. Stappenplan voor CI… 5. Triggers • laat git commits automatisch builden • gebruik nieuwe build als trigger voor TA 6. Onderhoud • bekijk periodiek (elke sprint) welke testcases nog werken • wees ook kritisch: welke testcases kunnen weg? • parallel draaien van testcases?
  • 22. Deel 3: Demo Jenkins