Thema: Werkzeuge für Software-QS und -Test

11:15 - 12:00

Automatisiertes Testen reaktiver Kommunikationssysteme

Dr. Alexander Koenen-Dresp, CONET Solutions GmbH

Die CONET Solutions GmbH entwickelt und projektiert mit der Unified Communications Radio Suite (UCRS) eine komplexe VoIP-, Funk und Konferenz-Kommunikationslösung für spezielle Einsatzszenarien. Zu den Kunden, die diese „Virtualisierung der Kommunikation“  in missionskritischen Umgebungen wie Notrufsystemen, auf Flugplätzen oder in weltumspannenden Konferenzsystemen einsetzen, gehören unter anderem die Deutsche Bahn, die österreichische Autobahnbetreiberin „ASFiNAG“ und die Bundeswehr.

Die Komplexität des Gesamtsystems ist nicht nur durch seine Business-Logik gegeben, sondern durch das Zusammenspiel vieler verschiedener physikalischer Komponenten. Das System verfügt generell über zahlreiche heterogene Subsysteme (Telefonanlagen, Funkanschaltungen, Konferenzbrücken, Multicast-Netzwerke) sowie Endgeräte (Webanwendungen, VoIP Telefone, Funkgeräte, GSM-Telefone, ISDN-Teilnehmer u.v.m) . Das umfassende Testen einer solchen Gesamtlösung ist aufwendig und kostspielig.

Die durch uns gezeigte Lösung dieses Dilemmas beruht einerseits auf einer kompletten Automatisierung der identifizierten Tests nach dem „Ende-zu-Ende“-Paradigma. Dabei wird auch die Peripherie des Systems einbezogen. Dies entspricht einer physikalischen Kapselung aller Ein- sowie Ausgänge des Systems.
Zur Umsetzung dieses Paradigmas ist eine kontinuierliche Ausbringung der Software („Continuous Delivery“, CD) auf referentielle Integrations- und QS-Umgebungen als Zielsysteme die unumgängliche Basis. Nur dadurch kann das komplizierte Testwerkzeug konsistent mitentwickelt und aktuell gehalten werden.
Um die praktische Arbeit zu erleichtern werden die Ausbringung der Software einerseits und Durchführung der Integrationstests anderseits in zwei automatisierten Build-Projekten unterschieden. Es hat sich als praktikabel erwiesen den automatisierten Build-Prozess als Vehikel für die Durchführung von Integrationstests und Ausgangspunkt für die Toolchain zu verwenden. Dabei ist eine strikte Trennung und prozedurale Entkopplung der beiden Prozesse (Delivery und Testen) wichtig.
Ein weiteres wesentliches Element und Schwerpunkt des Vortrages ist die Erzeugung und Ausbringung eines Referenzdatenbestandes als Basis für automatisierte Testfälle. Dieser Datenbestand muss in allen Subsystemen konsistent erzeugt, eingespielt und verifiziert werden. Dies stellt unserer Erfahrung nach eine wesentliche Hürde beim Einstieg in die automatisierte Qualitätssicherung reaktiver Softwaresysteme dar.
Im Rahmen der Integrationstests (und QS-Testpläne) werden dann Endgeräte durch die Testautomatisierungs-Server ferngesteuert und Geräte auf Systemgrenzen (in diesem speziellen Fall Telefone) durch zusätzliche  testspezifische Geräte (in diesem speziellen Fall sog. User Surrogates, die als D/A bzw. A/D Wandler fungieren) ersetzt.
Dabei kommt eine besondere Toolchain zum Einsatz, die auf den Spezialfall zugeschnittene Funktionalitäten beinhaltet. Eine exemplarisch zu nennende Funktionalität dieser Toolchain ist es, künstliche Sprachströme als NF-Sinus-Signal in Konferenzen (1:n Gespräche) einzuleiten, aus der Konferenz empfangene Signale an ein User Surrogate zu senden und zu überprüfen, ob die Misch-Summe der in die Konferenz gesendeten Sinus-Signale (abzüglich des jeweils eigenen Signals) bei allen Teilnehmern ankommt und die Funktionalität gegeben ist.
In dieser Toolchain werden Eigenentwicklungen mit Standardprodukten wie bspw. Jenkins und Maven in Verbindung mit dem Surefireplugin oder auch der Selenium Suite verknüpft.
Die vorgestellte Vorgehensweise verdeutlicht am Beispiel von Kommunikationssystemen, wie generell komplizierte Softwaresysteme mit beachtlichem Anteil an Peripherie verlässlich und automatisch geprüft und somit verbessert werden können.

 

Dr. Alexander Koenen-Dresp, CONET Solutions GmbH

Dr. A. Koenen-Dresp studierte in München Informatik. Er war danach vier Jahre in der Luftwaffe international tätig. 2006 wechselte er  zur NATO nach Belgien. Dort leitete unter anderem  die Entwicklung von Luftraumüberwachungssoftware für die militärische Flugsicherung. Während dieser Zeit lehrte und forschte er auch an der Universität des Saarlandes und bekam dort 2008 den akademischen Grad des Doktor-Ingenieurs verliehen.

Seit 2010 ist Dr. A. Koenen-Dresp bei der CONET Solutions GmbH beschäftigt und leitet seit 2011 die Entwicklungsabteilung innerhalb des Geschäftsfeldes „ICS“. Er lenkt als Produktmanager die strategische Ausrichtung der Produkte, ist für die technische Gestaltung von Hard- und Software zuständig und verantwortet die Umsetzung. Zusätzlich ist Dr. A. Koenen-Dresp ein international zertifizierter (APMG) ITIL-Experte. In diesem Umfeld findet auch das Gros seiner Vortragstätigkeiten auf  diversen Konferenzen statt.