Competence Center Verification & Test

Motivation

Das Competence Center Verification und Test fokussiert sich auf den Teilprozess „Verifikation“ aus der CENELEC-Norm EN 50128. Es bündelt die Aktivitäten der Rolle des Verifizierers, die dort beschrieben sind, und verstärkt diese mit einer jahrelang erarbeiteten Praxiserfahrung aus den Bereichen Stellwerkstechnik (ESTW) und Zugbeeinflussung (LZB und ETCS).
Die Systemverifikation ist ein vielschichtiger (Teil-)Prozess einer Entwicklung. Diese bedarf nicht nur einer Planung, sondern auch Leitung und Koordination. Durch unsere große Erfahrung sind wir in der Lage diese Aufgaben zu übernehmen, die denen einer speziellen, testorientierten Teilprojektleitung entsprechen.

In Begleitung zu den verschiedenen Aktivitäten der Verifikation und insbesondere des Tests messen wir die Performance und zeigen nicht nur Optimierungspotenziale auf, sondern schlagen umsetzbare Korrekturmöglichkeiten vor.


Aktuelle Kompetenzen und Themen

Verifikationsmanagement

Verifikationsplanung
Wir erstellen die Verifikations- und Testpläne, die nach CENELEC Norm erforderlich sind, unter Beachtung des jeweils maßgeblichen Entwicklungsprozess. Dabei berücksichtigen wir sowohl die technischen Aspekte, wie beispielsweise die geforderten, notwendigen aber auch hinreichenden Abdeckungskriterien, als auch die zeitlichen und personellen Randbedingungen, wie die einzuhaltenden Zieltermine oder geplante Iterationsschritte.

Defectmanagement
Durch unsere Erfahrung sind wir in der Lage, versionsbezogenes Fehlermanagement durchzuführen. Wir stellen dabei sicher, dass jede Sollabweichung eine Bewertung und eine Korrektur oder Erklärung erhält, damit die Eigenschaften einer Systemversion eindeutig und vollständig ein- und festgehalten werden.


Statische Verifikation

Anforderungsprüfung, Designverifikation
Um eine vollständige und aktuelle Nochvollziehbarkeit zu gewährleisten, verifizieren wir Anforderungs- und Designdokumentationen. Wir können dabei nicht nur eine formale Prüfung, sondern auch eine inhaltlich technische Prüfung vornehmen.

Code-, Modell-Prüfung
Entwickler sind sehr kreative Menschen, die stets einen eigenen Entwicklungsstil haben. Zur Sicherstellung, dass die im Entwicklungsprozess definierten Regeln eingehalten werden, führen wir unabhängige Code- und Modellprüfungen durch. Dabei können wir auch ein entsprechendes Werkzeug erstellen, falls die Prüfung noch nicht genügend automatisiert ist.


Dynamische Verifikation, Test

Testautomation
Testdurchführung ist ein zeit- und kostenaufwendige Tätigkeit. Daher sind gute Werkzeuge, die einen hohen Automatisierungsgrad enthalten, unverzichtbar für schnelle Entwicklungszyklen. Diese sollten nicht nur die Testdurchführung beherrschen, sondern auch im Verifikationsprozess einen optimierten Workflow unterstützen.

Mit unserer großen Erfahrung im Testen von bahntechnischen Systemen realisieren wir Teile von oder komplette Testumgebungen. Dabei minimieren wir den Release bezogenen Aufwand bei der Testausführung. Wir erfinden dazu das (Eisenbahn-)Rad nicht neu, sondern erstellen ein Konzept aus vorhandenen, verfügbaren und neu zu erstellenden Komponenten der Testumgebung.


Modelltest, Modultest
Die kleinste dynamisch zu verifizierende Einheit stellt ein Modul dar. Für diese entwerfen wir Tests und führen sie in geeigneten Testumgebungen durch. Der Testansatz kann dabei Whitebox mit dem Ziel einer bestimmten Pfadabdeckung oder Blackbox, bei dem die korrekte Arbeitsweise des Moduls anhand seiner Reaktionen an seinen äußeren Schnittstellen verifiziert wird, sein. Unabhängig vom Automatisierungsgrad (siehe auch unten) bewerten wir die Ergebnisse und summieren sie zu einer Aussage über den Testling.

Modelltests sind dynamisch ausgeführte Tests von Modulen, bei denen keine weitere manuelle Codierung auf Ebene der Programmiersprache stattfindet. Zertifizierte Codegeneratoren (->SCADE, ->Rhapsody?) ermöglichen die direkte Verifizierung eines Moduls auf Modellebene ohne den generierten Code explizit auf Modulebene prüfen zu müssen. Als Partner von ->Esterel Technologies und ->Rational? sind wir der Ansprechpartner für die Verifizierung von Entwürfen auf Modell-Ebene.

(Sub-)Systemtest, Produkttest
Systemtest stellen wegen der großen Anzahl von Eingangs- und Zustandparametern die komplexeste Form von Tests dar. Wir planen, designen und führen Systemtests in Laborumgebungen, die üblicherweise Teile oder die gesamte, spätere, echte Umgebung simuliert, aus. Dabei berücksichtigen wir die Systemanforderungen und optimieren Anzahl der Systemtests beispielsweise durch den Einsatz von Äquivalenzklassen. Für eine effiziente Testdurchführung benutzen wir vorhandene Testwerkzeuge oder entwerfen neue, automatische Testumgebungen.

Integrations-, Last- und Feldtest
Spezielle Formen der Systemtests sind die Integrations-, Last- und Feldtests.

Während der Integration stellen wir ein (Sub-)System aus seinen Komponenten zusammen und führen ausgewählte Systemtests zur Sicherstellung der Grundfunktionalität durch. Aus dessen Ergebnis leiten wir die Durchführbarkeit eines anschließenden (Sub-)Systemtests ab.

Bei Lasttests suchen wir die Performancegrenzen von Systemen und verifizieren die sicheren Reaktionen darauf.

Feldtests sind die letzten Prüfungen eines Systems, die vor der Übergabe an oder während der Abnahme durch den Kunden durchgeführt werden. Das System befindet sich in der Zielumgebung und es gibt keine simulierten Objekte mehr. Wir leiten und begleiten Feldtests von Onboard- und Wayside-Systemen und achten dabei auf eine effiziente Planung, um nur die notwendigen der kostspieligen Tests durchführen zu müssen.