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