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
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?