Deployen op vrijdagmiddag zonder stress
Bas Stoker // CINQ. Conferentie // 11 maart 2025
Testing Trophy • Bedacht door Kent. C. Dodds:
$ whoami Bas Stoker
• Full Stack Developer bij CINQ ICT • 20 jaar ervaring met software development • Enthousiast over nieuwe test-tools zoals Docker en Playwright
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
Randvoorwaarden End-2-End test • Test is zowel lokaal als in CI/CD-pipeline te draaien (Azure DevOps) • Geen afhankelijkheden van servers / test-omgevingen
Architectuur
Architectuur
fl
Voorbeeld testscript “Tijdscon ict”
Waar loop je in de praktijk tegenaan? • Naamgeving containers: Hostnames binnen vs. buiten het docker network • Opstarttijd containers tijdens development van testscripts
Logische naamgeving: Probleem
Logische naamgeving: Oplossing
Logische naamgeving: Oplossing
Logische naamgeving: Oplossing
Opstarttijd containers: Probleem
Opstarttijd containers: Oplossing • Daemon-proces voor Testcontainers • Afzonderlijk proces voor testscripts + Playwright Browser
Opstarttijd containers: Oplossing
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
Testcontainers • https://testcontainers.com
Playwright • Zit een goed team achter van Microsoft • Support voor MacOS, Windows en Linux • https://playwright.dev
Na deze presentatie weet je het antwoord hierop van ons frontend-team bij de NS.
Leer hoe wij Testcontainers, Playwright en Azure Devops hebben ingezet om dit te bereiken.