Waarom CI?
• Coderegelmatig 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
Wat betekent CI/CDvoor 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/CDvoor 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 testworden (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 isverantwoordelijk?
• 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?
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?