SlideShare ist ein Scribd-Unternehmen logo

Testen hoch 10 - Für den Bahnverkehr der Zukunft

Testen von Software, die komplexe Situation real-time lösen muss, die auf unscharfen Regeln basiert und die Erfahrung, Intuition und Bauchgefühl ersetzen soll – ist das überhaupt möglich? Nach unseren Erfahrungen: "Nicht vollständig". Aber am Swiss Testing Day zeigten Roman Caspar und ich, wie wir versuchen, beim Testing das Optimale herauszuholen – für den Bahnverkehr der Zukunft

1 von 24
Downloaden Sie, um offline zu lesen
1
Roman Caspar, SBB
Christoph Wolf, SwissQ Consulting AG
Swiss Testing Day 2021
Testen hoch 10 -
Für den Bahnverkehr
der Zukunft
SBB – Testen hoch 10 – Für den Bahnverkehr der Zukunft – Swiss Testing Day 2021 2
Bahnverkehr der Zukunft
Rail Control System (RCS)
Real-Time Optimization (RTO)
Testen hoch 10 bei RTO
Erfolgsfaktoren
1. Automatisierte Unit-Tests
2. Manuelle Feature-Test
3. Release-Stabi
4. Systemtest
5. Abnahmetest
6. Testframework
7. Labortest
8. Live-Test
9. Pilot
10. Reproduktion von Situationen
Agenda
Bahnverkehr der
Zukunft
SBB – Testen hoch 10 – Für den Bahnverkehr der Zukunft – Swiss Testing Day 2021 4
Erhöhung Stabilität und
Robustheit des Fahrplans
Effizienzsteigerungen im
Kapazitätsmanagement und im
Bahnbetrieb insbesondere durch
Automatisierung
Steigerung Zufriedenheit der
Bahnkunden
SBB Infrastruktur: Schwerpunkte für die Zukunft (Auswahl)
Rail Control
System (RCS)
5
Betriebslage
+

Prognose
Fahrplan
6
Rail Control System

Recomendados

Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld
Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP UmfeldSelenium oder CBTA - Automatisierter Test von Weboberflächen im SAP Umfeld
Selenium oder CBTA - Automatisierter Test von Weboberflächen im SAP UmfeldChristoph Menke
 
Innovative Methoden zur Erhebung der Strassengüterverkehrsstatistik
Innovative Methoden zur Erhebung der StrassengüterverkehrsstatistikInnovative Methoden zur Erhebung der Strassengüterverkehrsstatistik
Innovative Methoden zur Erhebung der StrassengüterverkehrsstatistikParadigma Consulting
 
batbern43 Rail Control System: hochverfügbare Anwendungen für die Bahnproduktion
batbern43 Rail Control System: hochverfügbare Anwendungen für die Bahnproduktionbatbern43 Rail Control System: hochverfügbare Anwendungen für die Bahnproduktion
batbern43 Rail Control System: hochverfügbare Anwendungen für die BahnproduktionBATbern
 
Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017
Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017
Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017Torsten Kleiber
 
EPOSA auf der Agit2015
EPOSA auf der Agit2015EPOSA auf der Agit2015
EPOSA auf der Agit2015Robert Karas
 
Mehr Container an die (Modell-) Bahn!
Mehr Container an die (Modell-) Bahn!Mehr Container an die (Modell-) Bahn!
Mehr Container an die (Modell-) Bahn!gedoplan
 
OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...
OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...
OSMC 2009 | Verteilte Monitoring-Umgebungen unter Verwendung eines ESBs by Be...NETWAYS
 

Más contenido relacionado

Ähnlich wie Testen hoch 10 - Für den Bahnverkehr der Zukunft

RVK 3.0 - Die Regensburger Verbundklassifikation als Normdatei für Bibliothek...
RVK 3.0 - Die Regensburger Verbundklassifikation als Normdatei für Bibliothek...RVK 3.0 - Die Regensburger Verbundklassifikation als Normdatei für Bibliothek...
RVK 3.0 - Die Regensburger Verbundklassifikation als Normdatei für Bibliothek...Magnus Pfeffer
 
20150923 ausführbare spezifikation_automotiveforum
20150923 ausführbare spezifikation_automotiveforum20150923 ausführbare spezifikation_automotiveforum
20150923 ausführbare spezifikation_automotiveforumElmar Selbach
 
Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?GFU Cyrus AG
 
ICIS User Group - Oberflächentests mittels LCT deklarativ angehen
ICIS User Group - Oberflächentests mittels LCT deklarativ angehenICIS User Group - Oberflächentests mittels LCT deklarativ angehen
ICIS User Group - Oberflächentests mittels LCT deklarativ angehenKai Donato
 
KI und Predictive Maintenance am Beispiel von DB Cargo
KI und Predictive Maintenance am Beispiel von DB CargoKI und Predictive Maintenance am Beispiel von DB Cargo
KI und Predictive Maintenance am Beispiel von DB CargoInspirient
 
Hochverfügbares Verkehrsangebot in der Mobilitätswende - Strateg...
Hochverfügbares Verkehrsangebot in der Mobilitätswende -              Strateg...Hochverfügbares Verkehrsangebot in der Mobilitätswende -              Strateg...
Hochverfügbares Verkehrsangebot in der Mobilitätswende - Strateg...Markus Ossberger
 
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10Ralf Sigmund
 
Zeitnahe Reaktion auf Verordnungsänderungen mit Feature Toggles
Zeitnahe Reaktion auf Verordnungsänderungen mit Feature TogglesZeitnahe Reaktion auf Verordnungsänderungen mit Feature Toggles
Zeitnahe Reaktion auf Verordnungsänderungen mit Feature TogglesBATbern
 
Ucam x v2019.08 Release Notes (DE)
Ucam x v2019.08 Release Notes (DE)Ucam x v2019.08 Release Notes (DE)
Ucam x v2019.08 Release Notes (DE)ThomasDewitte4
 
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained...
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained...Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained...
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained...gedoplan
 
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric LippmannOSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric LippmannNETWAYS
 
APEX goes Unit testing
APEX goes Unit testingAPEX goes Unit testing
APEX goes Unit testingOliver Lemm
 
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?Philipp Grossenbacher
 
DWX 2016 - Load Testing mit Visual Studio richtig gemacht
DWX 2016 - Load Testing mit Visual Studio richtig gemachtDWX 2016 - Load Testing mit Visual Studio richtig gemacht
DWX 2016 - Load Testing mit Visual Studio richtig gemachtMarc Müller
 
DevCon-2013-PerformanceSkalierbarkeit_UweBessle
DevCon-2013-PerformanceSkalierbarkeit_UweBessleDevCon-2013-PerformanceSkalierbarkeit_UweBessle
DevCon-2013-PerformanceSkalierbarkeit_UweBessleUwe Bessle
 
Jax 2012-activiti-und-camel-presentation
Jax 2012-activiti-und-camel-presentationJax 2012-activiti-und-camel-presentation
Jax 2012-activiti-und-camel-presentationcamunda services GmbH
 
Schweizer BIM Kongress 2017: Referat von Heinz Ehrbar, DB Netz AG
Schweizer BIM Kongress 2017: Referat von Heinz Ehrbar, DB Netz AGSchweizer BIM Kongress 2017: Referat von Heinz Ehrbar, DB Netz AG
Schweizer BIM Kongress 2017: Referat von Heinz Ehrbar, DB Netz AGBauen digital Schweiz
 

Ähnlich wie Testen hoch 10 - Für den Bahnverkehr der Zukunft (20)

RVK 3.0 - Die Regensburger Verbundklassifikation als Normdatei für Bibliothek...
RVK 3.0 - Die Regensburger Verbundklassifikation als Normdatei für Bibliothek...RVK 3.0 - Die Regensburger Verbundklassifikation als Normdatei für Bibliothek...
RVK 3.0 - Die Regensburger Verbundklassifikation als Normdatei für Bibliothek...
 
20150923 ausführbare spezifikation_automotiveforum
20150923 ausführbare spezifikation_automotiveforum20150923 ausführbare spezifikation_automotiveforum
20150923 ausführbare spezifikation_automotiveforum
 
Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?
 
ICIS User Group - Oberflächentests mittels LCT deklarativ angehen
ICIS User Group - Oberflächentests mittels LCT deklarativ angehenICIS User Group - Oberflächentests mittels LCT deklarativ angehen
ICIS User Group - Oberflächentests mittels LCT deklarativ angehen
 
KI und Predictive Maintenance am Beispiel von DB Cargo
KI und Predictive Maintenance am Beispiel von DB CargoKI und Predictive Maintenance am Beispiel von DB Cargo
KI und Predictive Maintenance am Beispiel von DB Cargo
 
camunda BPM @ JUG München
camunda BPM @ JUG Münchencamunda BPM @ JUG München
camunda BPM @ JUG München
 
Hochverfügbares Verkehrsangebot in der Mobilitätswende - Strateg...
Hochverfügbares Verkehrsangebot in der Mobilitätswende -              Strateg...Hochverfügbares Verkehrsangebot in der Mobilitätswende -              Strateg...
Hochverfügbares Verkehrsangebot in der Mobilitätswende - Strateg...
 
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
 
Zeitnahe Reaktion auf Verordnungsänderungen mit Feature Toggles
Zeitnahe Reaktion auf Verordnungsänderungen mit Feature TogglesZeitnahe Reaktion auf Verordnungsänderungen mit Feature Toggles
Zeitnahe Reaktion auf Verordnungsänderungen mit Feature Toggles
 
Ucam x v2019.08 Release Notes (DE)
Ucam x v2019.08 Release Notes (DE)Ucam x v2019.08 Release Notes (DE)
Ucam x v2019.08 Release Notes (DE)
 
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained...
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained...Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained...
Java on Tracks - Modellbahnsteuerung mit JEE, MicroProfile und self-contained...
 
Eposa agit 2016
Eposa agit 2016Eposa agit 2016
Eposa agit 2016
 
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric LippmannOSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
 
APEX goes Unit testing
APEX goes Unit testingAPEX goes Unit testing
APEX goes Unit testing
 
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
 
DWX 2016 - Load Testing mit Visual Studio richtig gemacht
DWX 2016 - Load Testing mit Visual Studio richtig gemachtDWX 2016 - Load Testing mit Visual Studio richtig gemacht
DWX 2016 - Load Testing mit Visual Studio richtig gemacht
 
DevCon-2013-PerformanceSkalierbarkeit_UweBessle
DevCon-2013-PerformanceSkalierbarkeit_UweBessleDevCon-2013-PerformanceSkalierbarkeit_UweBessle
DevCon-2013-PerformanceSkalierbarkeit_UweBessle
 
Jax 2012-activiti-und-camel-presentation
Jax 2012-activiti-und-camel-presentationJax 2012-activiti-und-camel-presentation
Jax 2012-activiti-und-camel-presentation
 
Schweizer BIM Kongress 2017: Referat von Heinz Ehrbar, DB Netz AG
Schweizer BIM Kongress 2017: Referat von Heinz Ehrbar, DB Netz AGSchweizer BIM Kongress 2017: Referat von Heinz Ehrbar, DB Netz AG
Schweizer BIM Kongress 2017: Referat von Heinz Ehrbar, DB Netz AG
 
CWMC Insights 2020|15 - Einführung SAPMEINT-Konfiguration
CWMC Insights 2020|15 - Einführung SAPMEINT-KonfigurationCWMC Insights 2020|15 - Einführung SAPMEINT-Konfiguration
CWMC Insights 2020|15 - Einführung SAPMEINT-Konfiguration
 

Mehr von Christoph Wolf

PMI CH AMM2023 - Bye Bye Project Manager - SwissQ.pptx
PMI CH AMM2023 - Bye Bye Project Manager - SwissQ.pptxPMI CH AMM2023 - Bye Bye Project Manager - SwissQ.pptx
PMI CH AMM2023 - Bye Bye Project Manager - SwissQ.pptxChristoph Wolf
 
PO&RE Day - How to f... up your Backlog
PO&RE Day - How to f... up your BacklogPO&RE Day - How to f... up your Backlog
PO&RE Day - How to f... up your BacklogChristoph Wolf
 
How to f... up your backlog - PO &RE Day
How to f... up your backlog - PO &RE DayHow to f... up your backlog - PO &RE Day
How to f... up your backlog - PO &RE DayChristoph Wolf
 
Design thinking erleben - PO&RE-Day 2019
Design thinking erleben - PO&RE-Day 2019Design thinking erleben - PO&RE-Day 2019
Design thinking erleben - PO&RE-Day 2019Christoph Wolf
 
Build-in Quality!? SAFe® Testing im Finnova-Express (Swiss Testing Day 2017)
Build-in Quality!? SAFe® Testing im Finnova-Express (Swiss Testing Day 2017)Build-in Quality!? SAFe® Testing im Finnova-Express (Swiss Testing Day 2017)
Build-in Quality!? SAFe® Testing im Finnova-Express (Swiss Testing Day 2017)Christoph Wolf
 
Iqnite Schweiz 2013: Requirements Validation & Requirements-based Testing bei...
Iqnite Schweiz 2013: Requirements Validation & Requirements-based Testing bei...Iqnite Schweiz 2013: Requirements Validation & Requirements-based Testing bei...
Iqnite Schweiz 2013: Requirements Validation & Requirements-based Testing bei...Christoph Wolf
 
Business Analysis @ Sunrise - REConf CH 2010
Business Analysis @ Sunrise - REConf CH 2010Business Analysis @ Sunrise - REConf CH 2010
Business Analysis @ Sunrise - REConf CH 2010Christoph Wolf
 

Mehr von Christoph Wolf (7)

PMI CH AMM2023 - Bye Bye Project Manager - SwissQ.pptx
PMI CH AMM2023 - Bye Bye Project Manager - SwissQ.pptxPMI CH AMM2023 - Bye Bye Project Manager - SwissQ.pptx
PMI CH AMM2023 - Bye Bye Project Manager - SwissQ.pptx
 
PO&RE Day - How to f... up your Backlog
PO&RE Day - How to f... up your BacklogPO&RE Day - How to f... up your Backlog
PO&RE Day - How to f... up your Backlog
 
How to f... up your backlog - PO &RE Day
How to f... up your backlog - PO &RE DayHow to f... up your backlog - PO &RE Day
How to f... up your backlog - PO &RE Day
 
Design thinking erleben - PO&RE-Day 2019
Design thinking erleben - PO&RE-Day 2019Design thinking erleben - PO&RE-Day 2019
Design thinking erleben - PO&RE-Day 2019
 
Build-in Quality!? SAFe® Testing im Finnova-Express (Swiss Testing Day 2017)
Build-in Quality!? SAFe® Testing im Finnova-Express (Swiss Testing Day 2017)Build-in Quality!? SAFe® Testing im Finnova-Express (Swiss Testing Day 2017)
Build-in Quality!? SAFe® Testing im Finnova-Express (Swiss Testing Day 2017)
 
Iqnite Schweiz 2013: Requirements Validation & Requirements-based Testing bei...
Iqnite Schweiz 2013: Requirements Validation & Requirements-based Testing bei...Iqnite Schweiz 2013: Requirements Validation & Requirements-based Testing bei...
Iqnite Schweiz 2013: Requirements Validation & Requirements-based Testing bei...
 
Business Analysis @ Sunrise - REConf CH 2010
Business Analysis @ Sunrise - REConf CH 2010Business Analysis @ Sunrise - REConf CH 2010
Business Analysis @ Sunrise - REConf CH 2010
 

Testen hoch 10 - Für den Bahnverkehr der Zukunft

  • 1. 1 Roman Caspar, SBB Christoph Wolf, SwissQ Consulting AG Swiss Testing Day 2021 Testen hoch 10 - Für den Bahnverkehr der Zukunft
  • 2. SBB – Testen hoch 10 – Für den Bahnverkehr der Zukunft – Swiss Testing Day 2021 2 Bahnverkehr der Zukunft Rail Control System (RCS) Real-Time Optimization (RTO) Testen hoch 10 bei RTO Erfolgsfaktoren 1. Automatisierte Unit-Tests 2. Manuelle Feature-Test 3. Release-Stabi 4. Systemtest 5. Abnahmetest 6. Testframework 7. Labortest 8. Live-Test 9. Pilot 10. Reproduktion von Situationen Agenda
  • 4. SBB – Testen hoch 10 – Für den Bahnverkehr der Zukunft – Swiss Testing Day 2021 4 Erhöhung Stabilität und Robustheit des Fahrplans Effizienzsteigerungen im Kapazitätsmanagement und im Bahnbetrieb insbesondere durch Automatisierung Steigerung Zufriedenheit der Bahnkunden SBB Infrastruktur: Schwerpunkte für die Zukunft (Auswahl)
  • 7. Fahrplan Leitsystem Stellwerk Weichen, Signale, Sicherungsanlagen RCS Fahrplan Betriebslage Prognose Konflikterkennung Disposition GUI Disposition 2 vor 1 Disposition 1 vor 2 Fahrweg-Disposition Zug 2 Nach Fahrplan Zug 1 Zug 2 Konflikt Zug 1 Zug 2 ? ? Rail Control System SBB – Testen hoch 10 – Für den Bahnverkehr der Zukunft – Swiss Testing Day 2021
  • 8. SBB – Testen hoch 10 – Für den Bahnverkehr der Zukunft – Swiss Testing Day 2021 8 Disposition ist eine schwere Aufgabe …
  • 10. Leitsystem RCS Disponent Disposition Fahrdienstleiter Bisher GUI GUI SBB – Testen hoch 10 – Für den Bahnverkehr der Zukunft – Swiss Testing Day 2021 10 ! Leitsystem Fahrdienstleiter DispoOp GUI RCS Disponent In Zukunft RTO Disposition GUI ! Zugsteuerung mit RTO
  • 11. Fahrweg-Alternativen Dispositionen SBB – Testen hoch 10 – Für den Bahnverkehr der Zukunft – Swiss Testing Day 2021 11 Prognose Optimierung RTO-Module
  • 12. SBB – Testen hoch 10 – Für den Bahnverkehr der Zukunft – Swiss Testing Day 2021 12 Komplexität bei Fahrwegen und Reihenfolgen
  • 13. Erfahrung & Bauchgefühl  Regeln Reproduzierbarkeit Testdaten Testumgebung Komplexität Robustheit SBB – Testen hoch 10 – Für den Bahnverkehr der Zukunft – Swiss Testing Day 2021 13 RTO: Herausforderungen
  • 15. SBB – Testen hoch 10 – Für den Bahnverkehr der Zukunft – Swiss Testing Day 2021 15 Test bzw. Testtool Verantwortlicher «Standard» Automatisierte Unit-Tests Entwickler Manuelle Feature-Tests Tester Release-Stabi Release-Management Systemtest Tester Abnahmetest Anwendervertreter «Speziell» Testframework Tester Labortest Anwendervertreter Live-Test Anwendervertreter/Anwender Pilotbetrieb Anwendervertreter/Anwender Reproduzieren von Situationen Entwickler, BA Tests in RTO
  • 16. SBB – Testen hoch 10 – Für den Bahnverkehr der Zukunft – Swiss Testing Day 2021 16 Modell- definition Modell- Bahnnetz Optimierungs- gebiet Zugfahrt Erwartetes Ergebnis RCS/RTO Test- framework Infrastruktur aufbauen Gebiet definieren Zugfahrt einplanen Ergebnis überprüfen Test- durchführung Testframework
  • 17. Testframework SBB – Testen hoch 10 – Für den Bahnverkehr der Zukunft – Swiss Testing Day 2021 17 Zugfahrten Erwartetes Ergebnis Modell- Bahnnetz Optimierungs- gebiet
  • 18. SBB – Testen hoch 10 – Für den Bahnverkehr der Zukunft – Swiss Testing Day 2021 18 Anwendervertreter testen Situationen mit einem RTO-Entwicklungssystem. Geeignet für … testen von neuen Features und interessanten Konstellationen. ausprobieren einer neuen Zielfunktion bzw. Konfiguration. Aber ... Dispositionen können durch das Produktionssystem überschrieben werden. die Realität (Betriebslage) gewinnt immer. Daher nicht geeignet für … testen von Spätfolgen der RTO-Dispositionen. Labortests
  • 19. SBB – Testen hoch 10 – Für den Bahnverkehr der Zukunft – Swiss Testing Day 2021 19 Beobachtung von RTO-Dispositionen im realen Bahnverkehr durch … Verbindung eines RTO-Integrationssystems mit dem produktiven Leitsystem .. mit enger Begleitung von … Anwendervertretern Disponenten & Fahrdienstleitern Ausserdem: Simulation mit … hinzugefügten Zügen manuellen Störungen provozierten Verspätungen Live-Tests (in Betriebszentralen)
  • 20. SBB – Testen hoch 10 – Für den Bahnverkehr der Zukunft – Swiss Testing Day 2021 20 RTO ist in einem Gebiet aktiv. Disponenten und Fahrdienstleiter beobachten und greifen, falls nötig, ein. Befunde werden sofort dokumentiert. Befunddiskussion jede Woche. Reproduzieren der Befunde. Pilotbetrieb (Produktion)
  • 21. SBB – Testen hoch 10 – Für den Bahnverkehr der Zukunft – Swiss Testing Day 2021 21  Sicherung der Ausgangssituation eines jeden Optimierungslaufs.  Über 10’000 abgespeicherte Situationen pro Tag  Detaillierte Analyse der Optimierung  Beantwortet: Wieso? Wie besser? Reproduzieren von Situationen
  • 23. SBB – Testen hoch 10 – Für den Bahnverkehr der Zukunft – Swiss Testing Day 2021 23  Enge Zusammenarbeit mit Anwendervetretern, die viel Erfahrung haben  Enge Begleitung der Anwender in den Betriebszentralen  Schnelles Feedback ( > > > > … > )  Detaillierte Erkenntnisse aus dem produktiven Betrieb ( )  «Beweise» für korrekte Arbeitsweise von RTO ( )  Ursachen für «schlechte» Dispositionen ( )  Testen einer geänderten Konfiguration mit Testdaten aus konkreten Situationen ( )  Reduktion der Komplexität ( )  Simulationen mit einfachen Testdaten ( ) Erfolgsfaktoren
  • 24. 24 Danke, merci & grazie. Roman Caspar Product Owner SBB Christoph Wolf Business Analyst SwissQ

Hinweis der Redaktion

  1. Begrüssung: Roman Caspar, Product Owner RTO bei der SBB. Christoph Wolf von SwissQ, Business Analyst in einem RTO-Team bei der SBB.
  2. Wir werden euch zuerst kurz einige Ziele bezüglich des Bahnverkehrs der Zukunft vorstellen. Dann erklären wir, soweit es für das weitere Verständnis des Vortrags nötig ist, was das Rail Control System macht, wie die Real-Time Optimization des Bahnverkehrs funktioniert und welche Herausforderungen wir haben.  Wir zeigen dann, wie wir im beim Testen der Real-Time Optimization vorgehen. Von den 10 Punkten, die hier aufgeführt sind, gehen wir aber nicht auf alle, sondern nur auf die interessanten näher ein. Zum Abschluss diskutieren wir dann noch die Erfolgsfaktoren bezüglich Testen von RTO. [Timing: Intro + Agenda: 3 Minuten RCS/RTO: 8 Minuten Testing: 11 Minuten Erfolgsfaktoren + Abschluss: 2 Minuten]
  3. Starten wir mit den Zielen des Bahnverkehrs der Zukunft.
  4. Hier sind einige Schwerpunkte für den Bereich Infrastruktur der SBB. Unser System RTO trägt vorwiegend zur Effizienzsteigerung im Kapazitätsmanagement und im Betrieb bei. Natürlich erhoffen wir uns dadurch eine höhere Fahrplanstabilität und damit auch eine Steigerung der Kundenzufriedenheit.
  5. Kommen wir nun zum Rail Control System RCS, einem der zentralen Systeme für den Bahnbetrieb.
  6. Hier ist das Gebiet um Olten, unser erstes Optimierungsgebiet. In dem Fenster auf der linken Seite sieht man, wo sich ein Zug gerade befindet, das ist die Betriebslage . Weiterhin kann man sich dort anzeigen lassen, wo sich ein Zug, hier der InterRegio 25 Bern-Zürich wahrscheinlich demnächst befinden wird. Dies sieht man auch auf der rechten Seite für alle Züge in einem Gebiet.  Basis für diese Ansicht ist der Fahrplan. Wenn sich aber z.B. ein Zug verspätet oder es auf dem Bahnnetz Probleme gibt, werden die Züge neu berechnet.  Das macht die Prognose.
  7. Basierend auf dem Fahrplan, den RCS einen Tag im Voraus bekommt, und der Betriebslage, erstellt RCS alle 2 Sekunden eine Prognose für fast die ganze Schweiz, wo sich Züge in den nächsten Stunden befinden werden.  Angenommen 2 Züge sollen in 2 Minuten Abstand das gleiche Gleis benutze, dann ist das kein Problem: Der erste Zug fährt über das Gleis. 2 Minuten später ist das Gleis frei und der zweite Zug kann fahren.  Falls jetzt der erste Zug zwei Minuten Verspätung hat, erkennt RCS einen Konflikt und zeigt ihn an (Ausrufezeichen auf dem Bild). Dieser Konflikt kann nun von einem Disponenten auf mehrere Arten gelöst werden, durch sogenannte Dispositionen:  Man kann eine Reihenfolge-Disposition machen: Zug 1 wartet und Zug 2 fährt , dadurch bleibt Zug 2 pünktlich, die Verspätung von Zug 1 wird grösser.  Oder Zug 2 wartet und Zug 1 fährt, dadurch haben beide Züge etwas Verspätung.  Eine andere Möglichkeit ist eine Fahrweg-Dispositionen: Ein Zug wird auf ein anderes, paralleles Gleis geleitet, macht also eine Fahrwegänderung. Dadurch vergrössert sich die Verspätung nicht. Beim parallelen Gleis könnte es aber dann wieder zu einem Konflikt mit einem weiteren Zug kommen, was beachtet werden muss. Die Disposition muss nun noch über das Leitsystem an das Stellwerk weitergegeben werden.
  8. Kennt ihr das, wenn Euer Zug plötzlich auf freier Strecke warten muss, für euch ist nicht ersichtlichen, weshalb? Oder wenn Euer Zug minutenlang ziemlich langsam unterwegs ist, eventuell hinter einem Güterzug. Bei all diesen Fällen, habt ihr vermutlich eine Entscheidung der Disposition miterlebt. Bei «Planverkehr» muss keine Disposition durchgeführt werden. Dann läuft alles wie schon lange im Voraus geplant ab. Dies ist der ideal Fall. Bei Verspätungen oder grösseren Störungen ist ein Eingreifen der Disponenten unumgänglich. Bei allen Entscheidungen muss der Disponent das Funktionieren des Gesamtsystem im Blick haben – und alle Entscheidungen danach ausrichten, damit der Zugverkehr möglichst schnell wieder planmässig verkehrt. Denn jede Entscheidung hat oft weiter Konflikte zur Folge.
  9. Und bei diesen Dispositionen soll RTO unterstützen. Hier sieht man einen Fahrdienstleiter bei seiner Arbeit in der Betriebszentrale Olten. Rechts sind 4 Bildschirme für das Rail Control System, links 6 Bildschirme für das Leitsystem. Der Fahrdienstleiter überträgt die Dispositionen, die ein Disponent in RCS gemacht hat, in das Leitsystem. Dieses steuert dann über das Stellwerk Signale und Weichen, damit die Disposition umgesetzt wird.
  10. Damit sind wir bei der bisherigen Arbeitsweise: Ein Disponent bearbeitet die von RCS angezeigten Konflikte und macht Dispositionen. Diese werden vom Fahrdienstleiter manuell ins Leitsystem übertragen.  Mit RTO unterstützen wir den Disponenten und Fahrdienstleiter in bestimmten Gebieten. RTO löst die Konflikte auf und disponiert die Lösung automatisch über ein weiteres neues System, DispoOp, im Leitsystem. Der Disponent und Fahrdienstleiter überwachen die Dispositionen von RTO und greifen, falls notwendig, ein.
  11. Wie macht das RTO? RTO besteht hauptsächlich aus 2 Modulen: Eines berechnet für alle Züge, die in den nächsten 30 Minuten im Optimierungsgebiet fahren, alternative Fahrwege auf Vorrat. Diese können dann bei der eigentlichen Optimierung für Fahrwegänderungen verwendet werden. Die alternativen Fahrwege werden nach gewissen Regeln bewertet und somit priorisiert. Da wir z.B. Linksverkehr auf dem Bahnnetz haben, wird ein Fahrweg, der weit nach rechts geht, schlechter bewertet.  Die eigentliche Optimierung basiert auf der Prognose und der darauf aufbauenden Konflikterkennung. Die Optimierung erzeugt sich bei Konflikten einen Suchbaum, bei dem sie an jedem Knoten eine Fahrwegänderung oder eine Reihenfolgedisposition machen könnte. Dann berechnet die Optimierung innerhalb von 5 Sekunden aus den vielen Tausend Möglichkeiten diejenige, die eine Zielfunktion optimiert. In die konfigurierbare Zielfunktion fliessen mehrere Kriterien ein, z.B. der Gesamtverspätung aller Züge im Gebiet.  Darauf erzeugt RTO die Dispositionen, die nötig sind, um die optimale Lösung umzusetzen. Diese werden dann wieder von der Prognose verarbeitet. Falls eine Fahrwegänderung disponiert wurde, d.h. ein Zug auf ein anderes Gleis fährt, werden neue Fahrwegalternativen für diesen Zug berechnet.
  12. Eine grosse Herausforderung ist die Komplexität. Oben sieht man z.B. die Gleise für die Einfahrt in den Bahnhof Zürich, der ganz rechts zu sehen ist. Die Bilder unten geben einen Eindruck, wie viel Züge sich im System befinden. Jeder dieser Züge hat einige Fahrwegalternativen und bei je zwei Zügen gibt es zwei Möglichkeiten zur Reihenfolgedisposition. Dies führt zu mehreren Tausend Optimierungsvarianten pro 5-sekündigem Rechenlauf.
  13. Neben der Komplexität ist die Definition der Zielfunktion, die RTO sagt, was die optimale Lösung ist, eine weitere Herausforderung. Es ist sehr schwierig, das Bauchgefühl von Disponenten, das auf ihrer langjährigen Erfahrung beruht, in Regeln zu übertragen. Es kommt auch öfters zu Diskussionen über die Robustheit der Entscheidung von RTO: Was könnte demnächst passieren? Eine Fahrwegänderung könnte zurzeit gut aussehen. Falls es aber zu einer weiteren Zugverspätung kommt, könnte diese Fahrwegänderung grosse Verspätungen nach sich ziehen. Damit kommen wir zu der Testumgebung: Wie gut die Dispositionen von RTO sind, sieht man oft erst im laufenden Betrieb auf dem realen Bahnnetz. Und dafür gibt es keine Testumgebung. Weiterhin ist jede Situation auf dem Bahnnetz anders. Was in einer Situation funktioniert hat, kann in einer leicht veränderten anderen Situation zu einer schlechten Lösung führen. Daher ist es schwierig, ausreichend künstliche Testdaten zur Verfügung zu stellen. Für die Diskussionen, ob ein Entscheidung in einer Situation von RTO gut war oder nicht und wie wir die Regeln verbessern können, ist es auch wichtig, diese Situation reproduzieren zu können um genau zu sehen, was RTO warum entschieden hat und um eine neue Zielfunktion zu überprüfen.
  14. Wie gehen wir diese Herausforderungen an? Im Bereich Testing zeigen wir euch nun unsere Lösungsansätze.
  15. Auf die oberen 5 Tests werde ich nur kurz eingehen, da sie nichts besonderes sind. Wir nutzen Jenkings als Build-Tool, damit werden automatisierte Tests, die in Java geschrieben sind, ausgeführt. Continuous Integration: Bei Commit in Git > macht Jenkins Build > Java-Tests Für manuellen Tests, die von unseren Testern in den Teams gemacht werden, nutzen wir Xray for Jira als Testmanagement-Tool. Die Release-Stabi ist die erste Phase eines Release-Tests. Das Testsystem läuft parallel zum Produktionssystem und bekommt die gleichen Daten wie z.B. Fahrplan oder Betriebslage. Selbst die Dispositionen, die auf dem Produktionssystem gemacht werden, werden übertragen. Ziel ist es festzustellen, ob ein neues Release rund läuft. Dann kommen im Release-Test noch der Systemtest und der Abnahmetest. Kommen wir nun zu den Tests und Testtools, die speziell für RTO sind: Wir haben ein Testframework entwickelt, das von unseren Testern genutzt wird. Dann führen Labortests, Live-Tests und den Pilotbetrieb durch, bei denen Anwender mit RTO arbeiten. Zusätzlich haben wir noch die Möglichkeit, interessante Situationen aus dem Betrieb zu reproduzieren. Diese Sachen werde ich nun näher erläutern.
  16. Das Schweizer Bahnnetz ist gross und es ist teuer, dort Züge für Tests fahren zu lassen. Weiterhin ändert sich durch Baumassnahmen das Bahnnetz laufend, wodurch Tests dann eventuell unbrauchbar werden könnten. Daher haben wir für einige Tests, z.B. für Fahrwegalternativen, ein abgespecktes Bahnnetz definiert und simulieren darauf Zugfahrten für Testzwecke.  RCS hat ein eigenes internes Modell für das Bahnnetz mit all seinen Komponenten und für Zugfahrten.  Daher brauchen wir ein Testframework, um unser Modell in eine Form zu übersetzen, die RCS und RTO verstehen. Ablauf der Tests mit dem Testframework: Bahnnetz übersetzen, d.h. die RCS-Instanz arbeitet auf dem Modell-Bahnnetz Gebietsdefinition übersetzten Zugfahrten übersetzten Test durchführen Ergebnis mit dem erwarteten Ergebnis vergleichen Tests mit dem Testframework werden nicht bei jedem Commit durchgeführt, sondern jede Nacht bei einem Extra-Build
  17. Das Modell-Bahnnetz definieren wir grafisch. Es wird dann in GraphML abgespeichert, ein XML-Format zur Repräsentation von Graphen. Diese wird dann vom Testframework in ein Bahnnetz, das RCS versteht, transformiert. Hier sieht man z.B. die Definition eines Einfahrts-Signals in den Bahnhof «Oberon».  Darunter ist die Definition des Optimierungsgebiets mit Signalen.  Dann kommt die Zugfahrt, die durch einen Pfad in dem Graphen beschrieben. Dieser Zug fährt z.B. über Gleis 4 des Bahnhofs Oberon.  Rechts unten sieht man eine Fahrwegalternative, die für eine Zugfahrt berechnet werden sollte. Falls sie nicht in den berechneten Fahrwegalternativen vorhanden ist, schlägt der Test fehl. Mit etwas Übung ist es mit dem Testframework möglich, recht schnell Testfälle für spezielle Situation zu erstellen. Nach diesem recht technischen Test kommen wir nun zu den Tests, die von Anwendern durchgeführt werden …
  18. Es geht los mit Labortests. Testen von neuen Features und interessanten Konstellationen. Ausprobieren einer neuen Zielfunktion bzw. Konfiguration. Dispositionen können durch das Produktionssystem überschrieben werden. Die Realität (Betriebslage) gewinnt immer. Wenn RTO sich hier für eine Fahrwegänderung entschieden hat, der Zug aber dann doch auf dem ursprünglichen Fahrweg fährt, überschreibt das die Disposition vor RTO. Daher nicht geeignet für Testen von Spätfolgen der RTO-Dispositionen.
  19. Um diese Nachteile zu umgehen, führen wir regelmässig Live-Tests in den Optimierungsgebieten durch. Wir haben vorletztes und letztes Jahr Live-Test im Raum Olten durchgeführt. Seit letztem Herbst laufen sie im Tessin zwischen Bellinzona und dem neuen Ceneri Basistunnel. Hier rechts ein Beispiel: Ein Zug wurde manuelle eingefügt. Dieser muss mit einem anderen Zug kreuzen. RTO hat daraufhin eine Fahrwegänderung in Giubiasco von Gleis 2 nach Gleis 4 gemacht.
  20. Seit 10 Monaten haben wir nun Pilotbetrieb im Raum Olten. Im Tessin fingen wir im Juni an. RTO ist in Produktion. Es ist in einem Gebiet eingeschaltet und optimiert dort den Bahnverkehr. Disponenten und Fahrdienstleiter beobachten und greifen, falls nötig, ein.  Sie dokumentieren Sachen, die ihnen auffallen, sofort. Dazu gehören z.B. eine Beschreibung der Situation mit den beteiligten Zugfahrten, die Dispositionen oder die Situation im Bahnhof. Die Befunde diskutieren wir jede Woche. Bei Bedarf können wir die Befunde reproduzieren …
  21. Die Optimierung kann nämlich bei Bedarf bei jedem Optimierungslauf die Ausgangssituation vor der Optimierung in einer Datei abspeichern. Das passiert dann jede 5 Sekunden, man bekommt also eine Menge Daten. Dies ist im Pilotbetrieb aktiv. Bei der Entscheidung, welche Dispositionen optimal sind, kommt es oft auf Sekunden an, die ein Zug früher oder später an einem Konfliktort ist. Mit diesem Hilfsmittel können wir exakt die Ausgangssituation reproduzieren.  Bei Befunden aus dem Pilotbetrieb kann so nachvollzogen werden, warum RTO diese Lösung gewählt hat. Die Ausgabe erfolgt in Form von detaillierten Daten sowie eine grafische Darstellung eines jeden Optimierungsschritts. Falls die gewählte Lösung nicht gut ist, kann man z.B. die Zielfunktion umkonfigurieren, und diese Situation mit der geänderten Zielfunktion testen. So kann die Optimierung laufend verbessert werden.
  22. Damit möchte wir die Vorstellung der speziellen Tests für RTO abschliessen und auf die Erfolgsfaktoren zu sprechen kommen.
  23. Die enge Zusammenarbeit mit den Anwendervertretern ist unheimlich wichtig. Wir können sehr von ihrem Wissen und ihrer Erfahrung profitieren. Die Anwendervertreter begleiten die Disponenten und Fahrdienstleiter in den Betriebszentralen während der Live-Tests und dem Pilotbetrieb sehr eng. Dies ist unter Anderem nötig, um die Unsicherheit bei der Arbeit mit einem neuen, automatisieren System zu reduzieren. Schnelles Feedback: Labortest: Änderungen und Anpassung sofort testbar, aber Erkenntnisse noch unsicher Live-Test: Anfangs alle zwei Wochen, jetzt einmal im Monat. Sehr gute Erkenntnisse, aber zu anderen Zeiten und Betriebslagen könnten sich andere Probleme ergeben. Pilot: Feuerprobe für RTO. Hier bekommen wir sehr viel Feedback, was RTO gut macht und wo noch Verbesserungspotential liegt. Wir können dann mithilfe des Reproduzierens entweder die korrekte Arbeitsweise von RTO zeigen oder die Ursachen für schlechte Dispositionen suchen. Reproduzieren von Situation hilft auch, die geänderte Konfiguration der Zielfunktion auszuprobieren. Mit dem Testframework können wir die Komplexität für die Testdurchführung senken, indem wir einige Tests mit einfachen Testdaten ausführen können.
  24. Damit sind wir am Ende mit unserem Ausflug in den Bahnverkehr der Zukunft und stehen noch für Fragen zur Verfügung …