Deployen op vrijdagmiddag zonder stress
Bas Stoker // CINQ. Conferentie // 11 maart 2025
Slide 2
Slide 3
Slide 4
Slide 5
Slide 6
Testing Trophy • Bedacht door Kent. C. Dodds:
Slide 7
Slide 8
$ whoami Bas Stoker
• Full Stack Developer bij CINQ ICT • 20 jaar ervaring met software development • Enthousiast over nieuwe test-tools zoals Docker en Playwright
Slide 9
Project: NS nieuwbouw BAM • Realtime bijsturen van al het materieel van de NS • Project met vier agile DevOps-teams • Microservices architectuur • Data-bronnen: • Planning • Mutaties vanuit verkeersleiding • GPS-updates
Slide 10
Slide 11
Randvoorwaarden End-2-End test • Test is zowel lokaal als in CI/CD-pipeline te draaien (Azure DevOps) • Geen afhankelijkheden van servers / test-omgevingen
Slide 12
Slide 13
Architectuur
Slide 14
Architectuur
Slide 15
fl
Voorbeeld testscript “Tijdscon ict”
Slide 16
Waar loop je in de praktijk tegenaan? • Naamgeving containers: Hostnames binnen vs. buiten het docker network • Opstarttijd containers tijdens development van testscripts
Slide 17
Logische naamgeving: Probleem
Slide 18
Logische naamgeving: Oplossing
Slide 19
Logische naamgeving: Oplossing
Slide 20
Logische naamgeving: Oplossing
Slide 21
Opstarttijd containers: Probleem
Slide 22
Opstarttijd containers: Oplossing • Daemon-proces voor Testcontainers • Afzonderlijk proces voor testscripts + Playwright Browser
Slide 23
Opstarttijd containers: Oplossing
Slide 24
Waarde end-2-end test • Extra vangnet, alle Use Cases zijn afgedekt • Snel updates van dependencies zoals Keycloak valideren • Genereren van documentatie die altijd up-to-date is • Chaos-testing uitvoeren m.b.v. Toxiproxy
Slide 25
Testcontainers • https://testcontainers.com
Slide 26
Playwright • Zit een goed team achter van Microsoft • Support voor MacOS, Windows en Linux • https://playwright.dev