Klant

De Nederlandse Spoorwegen richt zich op veilig, betaalbaar en makkelijk reizen per spoor in Nederland. De IT- afdeling RTSO (reisinformatie en IT Service Organisatie) verzorgt alle zogenaamde ‘comfort-IT’ in de treinstellen van de NS. Het software pakket OBIS verzorgt de distributie van alle data die uitgewisseld wordt tussen een treinstel en de ‘wall’, waar alle reisinformatie en bijsturing ontstaat. Het doel: de reiziger zo goed mogelijk op de hoogte te houden van de reis in de trein.

Sinds maart 2010 is het OBIS systeem ‘live’: de eerste integratie was in het intercity materieel, ook wel Koploper genoemd. Sindsdien volgde de andere treintypen, en is OBIS naast reisinformatie op TFT schermen en Wifi Access points ook uitgebreid met automatische omroepen (sprinters), integratie van CCTV en interne meetsystemen.

Vraag

NS is continu op weg met de reis van morgen, en het reisgedrag en planning van de klant is sinds 2010 aardig veranderd. Daarom zijn er verschillende projecten gaande die invloed hebben op het OBIS systeem, dat in wezen door vier ontwikkelteams wordt samengesteld. Elke drie weken is er een nieuwe release vanuit deze teams. Bij het Release en Acceptie Team (RAT) ligt de taak om de componenten op integratie en performance te testen, en uiteindelijk een succesvolle ketentest uit te voeren. Hierbij komt ook de embedding kijken: elk treintype heeft weer een andere hoofdleverancier, en meerdere sub-leveranciers.

 Oplossing

Om de software uitrol op het rijdende materieel te versnellen, heeft de NS in samenwerking met de leveranciers zogenaamde test ‘muren’ laten maken. Zo’n testmuur bevat alle schermen, wifi, speakers, sensoren, etc. die ook in een écht treinstel voorkomen. Het team zorgt middels SOAP UI en eigenhandige scripting ervoor dat er ritten gereden worden volgens de dienstregeling. Ook kunnen er testscenario’s uitgevoerd worden, die niet zo snel in een echte trein voorkomen. Denk hierbij aan de Alarmknoppen en het CCTV systeem.

Is de OBIS versie goed genoeg om uitgerold te worden? Dan volgt een statische trein-test, een echt treinstel waarop we een rit uit de echte dienstregeling ‘mocken’: we voeden de trein onder andere gps-posities en deursignalen, zodat er een volledige reisinfo-broadcast plaats kan vinden, zonder dat het treinstel rondrijd op het Nederlandse spoornet. Deze statische test levert al vaak veel bevindingen op, en bespaart de NS op de inzet van dynamische testtreinen.

Om alles goed afgedekt te hebben volgt dan vaak nog een dynamische test, vaak met passagiers, waarbij gelet wordt op de functionele werking van het systeem. Dit kan als het laatste vangnet worden gezien voordat er een nieuwe release de deur uit gaat.

Testen en Tweaken

Mijn taak is het onderhouden en tweaken van de testscripts, bijhouden van de regressietesten, maar ook het meedenken aan een continuous integration-oplossing. Bij deze laatste komt een stuk testautomatisering kijken middels Jenkins, soap ui, Ansible en diverse virtuele machines. Door de ketentesten op de CI-straat eerst te testen, kunnen we eerder functionele en technische mankementen ontdekken. Ook werken we aan draagbare oplossingen voor de statische tests, zodat we nog meer testen en analyses kunnen uitvoeren op de hardware in een stilstaande trein.

Shift Left

De CI-straat draag bij aan de algemene ‘shift-left’ beweging die momenteel gaande is binnen de afdeling OBIS.  Daarnaast is er ook op proces-vlak een beweging te zien. Middels het wekelijkse bevindingenoverleg, waar PO’s van de teams, System-team en de testers samenkomen kunnen bevindingen sneller hun weg vinden. We spelen daarmee in op de planning sessies voor teams, en kijken we wanneer welke bug wordt opgepakt. Hiermee leer ik ook meer over de samenstelling van OBIS, en kunnen we verbeteringen sneller doorvoeren vanuit de OBIS-fabriek.