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.