Strenge Softwaretests bei RTI: Zuverlässigkeit über Connext DDS sicherstellen
RTI Software treibt zahllose missionskritische Systeme an. Unsere Kunden fordern höchste Zuverlässigkeit und Qualität, daher diskutieren wir offen unsere Entwicklungspraktiken, Tooling und das RTI IIoT Lab bei Treffen. Ein häufiges Thema ist das Softwaretesting, das wir durchführen – ein Bereich, auf den wir großen Stolz sind. Dieser Post skizziert die umfassende Teststrategie hinter jedem RTI Release.
Die Connext-Produktfamilie teilt einen einheitlichen Entwicklungs- und Testprozess. Die einzige Ausnahme ist Connext DDS CERT, der einen distincten Prozess für sicherheitszertifizierte Anwendungen folgt. Bevor neue Software released wird, führen wir eine extensive Testsuite aus, die Funktionalität, Performance und Skalierbarkeit validiert.
Unit Tests
Unit Tests bestätigen, dass einzelne Funktionen wie erwartet verhalten. Sie bilden das Rückgrat unseres Regressionstests für jedes Produktrelease. Über einfache Funktionsprüfungen hinaus unterstützt das Framework Single-Node-Feature-Testing und integriert in aktuellen Releases sogar kundenspezifische QoS-Einstellungen. Unser Ziel ist es, realistische Betriebsumgebungen nachzubilden, wann immer möglich.
Feature Tests
Wenn ein neues Feature hinzugefügt wird, erstellen wir einen Feature-Testplan und entwickeln End-to-End-Tests. Für Connext DDS Micro setzen wir ein verteiltes Test-Framework ein, das mehrere „Test Runner“ auf separaten Maschinen nutzt, koordiniert von einem zentralen „Test Manager“. Eine benutzerdefinierte DDS-Testsprache beschreibt jedes Szenario, Runner führen Skripte aus, publizieren PASS/FAIL-Ergebnisse und warten auf den nächsten Befehl. Feature Tests fokussieren auf:
- Applikations-APIs und DDS QoS Policies (Deadline, Liveliness, etc.)
- Ressourcenlimits
- Cross-Endianness-Kompatibilität
- Discovery-Mechanismen
- Performance-Metriken
- Stabilität unter Last
Interoperabilitätstests
- Innerhalb RTI-Produkte – Automatisierte Tests laufen tausende Konfigurationskombinationen, besonders nach Feature-Releases wie Connext 6. Ältere RTI-Versionen werden getestet, wenn potenzielle Bruchrisiken identifiziert werden.
- Sprachen-Interoperabilität – Tests erfolgen indirekt durch Kombination von RTIs Java-Tools (z. B. RTI Admin Console) mit Applikationen in anderen Sprachen.
- Mit anderen DDS-Vendoren – Regelmäßige Basis-Tests bei OMG DDS Meetings, tiefere Checks zu DDS Security, Extensible Types und RTPS Wire Protocol werden via OMG Community koordiniert (https://github.com/omg-dds).
Installationstests
Installationstests erfassen Integration und Interoperabilität über mehrere RTI-Produkte. Sie werden manuell und via automatisierter Suite ausgeführt, die abdeckt:
- Korrekte Datei-Installation
- GUI-Integration (aktuell manuell)
- Dokumentationsgenauigkeit
- Grundfunktionalität mit mitgelieferten Beispielen, inkl. Getting Started Guide, über viele Plattformen
- Produkt- und Sprachen-Interoperabilität
Automatisierte Installationstests verifizieren:
- Installationsintegrität via Datei-Checks
- Utility-Ausführung (rtiddsping, rtiddsspy, rtiprototyper)
- rtiddsgen-generierte Beispiele in C, C++, C++03, C++11, C++ CLI, C#, Java (static/dynamic, release/debug)
- Mitgelieferte Beispiele mit verschiedenen Build-Konfigurationen
- Performance-Beispiele in C++ und Java
- TCP-Beispiele in C
Diese Tests laufen auf 80 distincten Architekturen, inkl. Windows, Linux, Solaris, Lynx, QNX, Darwin und VxWorks.
Performance und Memory Profiling
Realistische verteilte Performance-Tests sind inhärent komplex. Unsere Tools sind darauf ausgelegt, Schlüsselmetriken wie Buffer-Sizing, Throughput, Latenz, Echtzeit-Delivery, Stack-Usage und OS-Interaktionen zu messen.
- Unit Tests erfassen Funktions-Level Performance und Memory Usage.
- perfTest profiliert Connext DDS Gesamtperformance. Es ist umfangreich getunt für realistische Messungen und kann neben anderen Produkten wie Routing Service laufen. Öffentliche Latenz- und Throughput-Daten verfügbar unter RTI Benchmarks.
- memTest überwacht den Kern-Memory-Footprint von Connext DDS Core. Connext DDS Micro zeichnet auch detaillierte Memory-Usage während Unit Tests auf.
- Applikationen wie RTI Admin Console und RTI Recording Service beinhalten eingebautes Performance-Monitoring.
Continuous Integration von perfTest und memTest verhindert Regressionen über einen vordefinierten Schwellenwert hinaus, wenn neue Features hinzugefügt werden.
Endurance Tests
Diese Tests simulieren langlaufende Szenarien, überwachen Heap-Usage während dynamischer Operationen wie Erstellen/Löschen von Participants oder Endpoints. Das Endurance-Framework fuzzt auch RTPS-Pakete bei Lauf mit RTI Security Plugins, alles ausgeführt gegen das neueste Generally Available Release.
Large-Scale und Stress Tests
Large-Scale Tests werden gezielt um neue Features gebaut. Beispielsweise erforderte die Einführung von Transport Mobility Tests, die das Verbinden/Trennen zu verschiedenen Wireless Access Points emulieren. Die Verbesserung von Discovery triggere ein dediziertes Framework, das Tausende Endpoints simuliert und Discovery-Erfolg automatisch verifiziert. Obwohl diese Tests nicht bei jedem Release re-executed werden aufgrund von Equipment- und Netzwerk-Constraints, werden sie re-executed, wenn Discovery-Logik sich ändert.
Kein Testprogramm kann jedes mögliche Szenario abdecken, aber RTIs extensiver, multi-facettierter Ansatz gibt Kunden Vertrauen in jedes neue Release.
Über den Autor
Jan trat RTI 2006 nach über zwei Jahrzehnten technischer und kundenorientierter Rollen bei Sun Microsystems, VLSI Technology und anderen Industriegrößen bei. Mit Expertise in Middleware, Grid-Applikationen, OS-Design und Netzwerkchip-Entwicklung half Jan, eine rekordverdächtige 98% Kundenzufriedenheit in einer neuen Support-Organisation aufzubauen. Als VP of Engineering leitet er ein verteiltes Team von 60+ Ingenieuren, überwacht R&D, Software-Entwicklungsprozesse und Produktqualität für RTI Connext. Jan hält einen MS-äquivalenten Abschluss in Elektronik, Digital Communications (Summa Cum Laude) von KIHK, Geel, Belgien.
Mehr erfahren:
- Autonomous Vehicle Production
- What is DDS?
- Connext DDS Pro
Internet der Dinge-Technologie
- OpenDDS vs. RTI Connext DDS: Die richtige Data Distribution Service Lösung wählen
- GE gründet 1,2 Mrd. $ IIoT Spin-Off zur Stärkung des Digital Portfolios
- Software-Tests für IoT-Geräte: Zentrale Herausforderungen & Lösungen
- 634AI wählt RTI Connext DDS für optimiertes AMR-Flottenmanagement
- Erschwingliches tragbares Gerät detektiert virale & bakterielle Pathogene in 30 Minuten
- Schneesimulation: Präzise Radar- & LiDAR-Tests für autonome Fahrzeuge
- Modernes Fertigungswissen meistern: 16 Expertenartikel
- Härteprüfverfahren: Rockwell- & Brinell-Methode
- Flying Probe Test (FPT): Professioneller Leitfaden zur zuverlässigen PCB-Funktionsverifikation
- Funktionale Schaltungstests (FCT): Unverzichtbar für PCB-Zuverlässigkeit