Zo houd je overzicht over alle geplande treinen

Planningssysteem NS

Hoe maak je alle geplande treinritten van NS overzichtelijk? In Donna, het centrale planningssysteem van NS, werken dagelijks honderden planners met interfaces die talloze datastromen visueel maken. Eén van de DevOps teams van Donna ontwikkelt nieuwe grafische schermen. "Donna stuurt alles aan, alle treintijden komen hier vandaan," vertelt een tester uit het team. "Het systeem heeft een enorme impact."

"Alles op het scherm heeft een betekenis," legt de tester uit. "Je ziet per tijdstip waar de treinen rijden en hoe. Als er bijvoorbeeld werkzaamheden aan het spoor zijn, kunnen planners zien waar nog ruimte is om een nieuwe trein in te plannen." Het team werkt aan drie schermen in Donna: het TijdWegDiagram (TWD), het SpoorBezettingsDiagram (SBD) en het EmplacementsDiagram (EPD). "De nieuwe schermen zijn niet alleen technisch interessant, maar ook vernieuwend voor de organisatie. Dat vind ik zo leuk, je ziet twee werelden samensmelten. Voorheen leverden we vier keer per jaar één grote nieuwe versie van Donna op, nu werken we met kleine deelapplicaties en kunnen we elke seconde iets nieuws releasen. We kunnen veel sneller waarde leveren."

“Wat kunnen we automatiseren zodat we onze creativiteit optimaal kunnen inzetten?”

Testen in de praktijk

De nieuwe interfaces zijn visueel sterker en geven meer informatie voor de planners. Ondanks dat de nieuwe schermen nog in ontwikkeling zijn, kunnen de planners nu al profiteren van de technologie. "De eindgebruikers kunnen de schermen nu al gebruiken naast het huidige scherm. Met hun feedback maken we de applicatie steeds beter, ook middels gebruikerssessies. Wij ontwikkelen bijvoorbeeld vier varianten van één lijn, zij mogen kiezen. Zo vormen we het product écht samen. Het is zo gaaf om te zien dat al het werk dat wij erin stoppen nu bij de planner in gebruik is."

De nieuwe software wordt continu getest om aan hoge kwaliteitseisen te voldoen voor het bij de gebruikers terecht komt. Reactief én preventief, om bijvoorbeeld het geheugengebruik te monitoren. "Als DevOps team zijn wij verantwoordelijk voor de hele lifecycle van het product. Bij een storing krijgen we automatisch een melding en kunnen we binnen enkele minuten een fix klaarzetten." De testen worden zoveel mogelijk geautomatiseerd. "Bij elke codewijziging vindt automatisch een hele testsuite plaats. Testontwikkeling is inmiddels echt software development. Als je tien keer op een lijn moet klikken gaat dat nog, maar wat als je dat bij elke codewijziging moet doen? Dan ben je op dag drie helemaal op. Mensen zijn gewoon intelligenter. Die creativiteit willen we optimaal gebruiken: wat zijn nou scenario’s waar het mis kan gaan? En welke complexe gevallen kunnen we automatiseren?"

Complexe business logica in beeld

Aan de frontend maken Angular applicaties de data visueel voor de planners, aan de backend zorgen verschillende Spring Boot applicaties voor de integratie van alle data. Om de functionele (en visuele) werking en performance van zowel de front- als backend te verzekeren, gebruiken de testers populaire technieken als WebdriverIO, Applitools, WireMock, Rest Assured en Gatling.

"Die afwisseling maakt het zo fascinerend om hieraan te werken. Aan de ene kant ben je bezig met: "Hoe moet het er voor de planners uitzien op het scherm?" en aan de andere kant werk je met complexe business logica van treinen die naar het buitenland rijden en weer terug. Je werkt echt aan een groter geheel. En er komen steeds nieuwe technieken bij, dus je blijft uitgedaagd."

Samen verder

"Elke story pakken we gezamenlijk op, waarbij ik als testautomatiseerder verantwoordelijk ben voor de kwaliteit van de testen, het ontwikkelen en automatiseren ervan en de testopzet en strategie. We trekken alles uit de kast om ook remote goed samen te werken, ook met andere teams. Als een ander team iets kan hebben aan de code die ik schrijf, dan deel ik dat. Ook vanuit NS komen ideeën over nieuwe technieken. Dan merk je dat het een grote organisatie is, waar veel mogelijk is en waar mensen met je meedenken. Er is heel veel ruimte voor je eigen input. Zelfs als de planners al een bepaald idee hebben, proberen we als team toch verder te denken. Soms weet je niet wat er mogelijk is totdat je het ziet."

Planningssysteem voor treinen Donna

Jouw droombaan in je mailbox?

Mis nooit meer jouw ideale vacature met onze persoonlijke vacature alerts.