Auf einen Blick
Die Vectorcast-Embedded-Software-Testplattform von Vector Software besteht aus Software-Werkzeugen für die Automatisierung von entwicklerbasierten, dynamischen Software-Tests im kooperativen Einsatz, die C, C++ und Ada unterstützen. Mit dieser Technologie können Entwickler zuverlässige Software für sicherheits- und geschäftskritische Bereiche erstellen. Die vollautomatisierten und reproduzierbaren Testläufe ermöglichen einen schnelleren Entwicklungsprozess bei geringeren Kosten.
Qualität hat bei Embedded-Software, die in Investitionsgüter oder teure Massenverbrauchsgüter integriert wird, einen äußerst hohen Stellenwert. Ein erforderlicher Austausch bei bereits ausgelieferten Geräten aufgrund von Softwarefehlern ist immer mit einem erheblichen Kostenaufwand und nicht zuletzt einem Vertrauensverlust in die Produkte des Unternehmens verbunden. Zudem können schlechte Strukturierung und Dokumentation der Software die Kosten zukünftiger Erweiterungen so in die Höhe treiben, dass die langfristige Wettbewerbsfähigkeit des Produktes gefährdet wird und die Wahrscheinlichkeit von Folgeaufträgen sinkt. Fällt ein technisches Gerät durch mangelhafte Software-Qualität aus, kann dies zu gefährlichen bis gar lebensbedrohlichen Situationen führen. Führt man sich vor Augen, dass sich beispielsweise in einem Auto durchschnittlich 1000 Bugs befinden und davon 250 als kritisch eingestuft werden, wird deutlich wie wichtig Software-Tests sind. Daher werden detaillierte Software-Tests von allen Sicherheitsstandards (DO178 B/C, ISO25252, IEC16508, CENELEC und so weiter) empfohlen.
Das 1990 gegründete US-Unternehmen Vector Software investiert seit über 20 Jahren in eine Technologie, die Entwickler dabei unterstützt, zuverlässige Software für sicherheits- und geschäftskritische Bereiche zu erstellen. Die Vectorcast-Embedded-Software-Testplattform besteht aus Software-Werkzeugen für die Automatisierung von entwicklerbasierten, dynamischen Software-Tests im kooperativen Einsatz, die C, C++ und Ada unterstützen. Das Unternehmen bietet Lösungen für Modul-, Integrations- und Systemtests, Codeabdeckungsanalyse, Regressionstest-Management, Requirements Traceability, Test Case Traceability, Test auf der Zielplattform, statische Codeanalyse und Unterstützung agiler Entwicklungsmethoden.
Vectorcast/ C/C++ und Vectorcast/Ada automatisieren die wichtigsten Aktivitäten beim Modul- und Integrationstests. Ohne automatische Testwerkzeuge sind diese Aktivitäten sehr zeitraubend und teuer und werden dementsprechend häufig vernachlässigt. Ausgeführt werden können die Tests auf einem PC oder einem Unix-Rechner mit einem Simulator beziehungsweise Emulator oder direkt auf dem Embedded-Gerät. Alle im Laufe eines Entwicklungsprojektes für die automatisierten Regressionstests erforderlichen Informationen werden gespeichert. Kein Testcode muss manuell geändert oder erneut erstellt werden.
Eine Ermittlung der Code Coverage kann auf zwei unterschiedliche Arten erfolgen. Bei dem traditionelleren Wasserfall-Ansatz wird die Codeabdeckung während der Testaktivitäten für einzelne Module bis hin zum Gesamtsystem ermittelt. Eine andere Vorgehensweise bietet sich bei bestehenden Applikationen an. Sie besteht darin, zuerst die High-Level-Anforderungen zu testen und danach einzelne Komponenten.
Die Codeabdeckung während eines funktionalen Tests oder eines Systemtests überprüft Vectorcast/Cover. Dazu wird der Code einer bestehenden Applikation instrumentiert, damit während der Funktionstests die Codeabdeckung ermittelt werden kann. Mit dieser Methode ist zwischen 70 bis 80 Prozent Codeabdeckung zu erzielen. Um eine 100-prozentige Code-Abdeckung zu erreichen, ist eine Kombination aus Modul-, Integrations- und Systemtest möglich. Die Coverage-Informationen werden dazu in Vectorcast C/C++ importiert und nur die nicht gecoverten Bereiche mit Modultests überprüft. Das Run-Time-Support-Paket Vectorcast/RSP arbeitet zusammen mit Vectorcast/C++ und ermöglicht einen automatisierten Modultest auch für Echtzeitanwendungen direkt auf einem Embedded-Target oder in einer Simulationsumgebung. Die Testausführung ist für den Anwender transparent. Im Unterschied zu anderen Lösungen am Markt bietet Vectorcast RSP nicht nur die Unterstützung von Standard-C/C++-Funktionen sondern auch aller Code-Erweiterungen die Embedded-Compiler mit sich bringen. Vector Software arbeitet dazu eng mit allen bekannten Herstellern von Compilern zusammen. Seit kurzem bietet das Unternehmen nun auch Unterstützung für das MQX-Echtzeit-Betriebssystem von Freescale. Das MQX RTOS stellt Echtzeit-Leistung auf einem kleinen, konfigurierbaren Speicher-Footprint bereit. Ausgelegt ist dieses RTOS für einfache Konfigurierbarkeit und einen guten Kompromiss zwischen Codegröße und Leistungsanforderungen. Nach Medizintechnik- und Aerospace-Standards lässt sich die MQX-RTOS-Plattform zertifizieren. Anwendungen auf Basis des MQX RTOS reichen von Augen-Chirurgie und Medikamenten-Injektionsgeräten bis zu Brems- und Navigationssystemen in Flugzeugen.
Weitere Tools der Testsuite sind Vectorcast/Manage, das den Import bestehender Testumgebungen in Regressions-Testreihen ermöglicht. Es stellt einen zentralen Kontrollpunkt für alle Modul- und Integrations-Regressionstest-Aktivitäten dar. Den Datenaustausch zwischen einem Anforderungsmanagement-Werkzeug und den Testwerkzeugen erlaubt Vectorcast/Requirements Gateway.
Vor kurzem wurde die Testplattform neu zertifiziert und die Sicherheitszertifizierung auf Bahntechnik-Anwendungen ausgeweitet, die nach SIL 4 zertifizierbar sind. Entsprechend TÜV Süd Rail ist das Unternehmen für Entwicklungsprozesse geeignet, die den strengen Cenelec EN-50128-Standard erfüllen müssen. Darüber hinaus bestätigte der TÜV Süd auch die Neuzertifizierung des aktuellen Vectorast Releases nach IEC 61503-8 (allgemeine industrielle Anwendungen) sowie nach ISO26262-8 (Automotive-Anwendungen).
(ah)