TTworkbench

TTworkbench

TTCN-3, kurz für Testing and Test Control Notation, ist eine genormte, speziell für Testlösungen entwickelte Programmiersprache, die vornehmlich für die Automatisierung von Tests für kommunikationsbasierte Systeme verwendet wird. TTCN-3 wird beispielsweise für das Testen von Kommunikationsprotokollen, von XML-basierten Schnittstellen und Anwendungen, von eingebetteten Systemen, usw. eingesetzt. TTCN-3 dient ebenso zur Spezifikation von Tests und zu deren (ggfs. graphischen) Dokumentation.

Inhaltsverzeichnis

Standardisierungsgremien

Herausgeber der Normen sind ETSI und ITU-T.

Typische Anwender

Weitere Foren wie 3GPP, MOST Cooperation oder AUTOSAR setzen TTCN-3 zur Spezifikation von Test Suiten für standardisierte Technologien ein.

Eigenschaften

Abstraktion

TTCN-3 ist als abstrakte Sprache konzipiert, die mehrere gleichwertige Repräsentationen kennt: die textuelle Repräsentation (Core Language), die graphische Repräsentation (Graphical Format, GFT) und die tabellarische Repräsentation (Tabular Format, TFT). Im Grundgedanken sollen alle Repräsentationen gleichwertig sein und bijektiv ineinander überführt werden können, was in der Praxis an Details scheitert. So werden bspw. in der GFT keine Datentypen dargestellt. Der grundsätzliche Ablauf der TTCN-3-Programme wird jedoch in allen Repräsentationen dargestellt.

Erweiterbarkeit

Ein herausragendes Merkmal von TTCN-3 ist seine Erweiterbarkeit sowohl durch die Einbindung externer Datentypdefinitionen (in ASN.1, IDL, XML, WSDL u. A.), durch die Einbindung externer Funktionalitäten als auch durch die Anpassung an zu testenden Systeme mittels so genannter Adaptoren.

Standardisierte Schnittstellen: TCI und TRI

Die Schnittstelle TRI (Test Runtime Interface) für die Adaption an das zu testende System und die Schnittstelle TCI (Test Control Interface) für die Anbindung an die Testplattform und das Testmanagementsystem sind ebenfalls im Standard enthalten. Für das Logging existieren Funktionen in der Schnittstelle TCI (TCI/TL). Das dazugehörige Interface wird als TLI bezeichnet. [Quelle ETSI ES 201 873-6 V3.2.1 (2007-02), Seite 19]

Werkzeuge zu TTCN-3

Für die Ausführung von Testfällen, die in TTCN-3 formuliert sind, werden spezielle Compiler und Laufzeitsysteme benötigt, die von verschiedenen Herstellern angeboten werden.

TTthree

TTthree ist ein Compiler, der Anfang des Jahrtausends als Gemeinschaftsentwicklung der Arbeitsgruppe ÜBB der Technischen Universität Berlin und des Forschungsinstituts GMD Fokus entstanden ist und der auf dem Launching-Meeting der ETSI zu TTCN-3 (2001) der erste komplett lauffähige TTCN-3 Compiler war. Die Weiterentwicklung dieses Compilers wurde anschließend von der in Berlin ansässigen Ausgründung Testing Technologies IST GmbH („TestingTech“) fortgeführt, die als Überbau des reinen Compilers die TTworkbench (s. u.) entwickelte. TTthree ist lizenzrechtlich nur in Kombination mit der TTworkbench erhältlich.

TTworkbench

Die von TestingTech entwickelte TTworkbench ist eine integrierte Testentwicklungs- und Testausführungsumgebung basierend auf TTCN-3 und der Eclipse IDE.

Lizenz

Die TTworkbench wird kommerziell von TestingTech lizenziert.

Aufbau

Die Anbindung der Oberfläche an den Compiler wird in einer Client-Server-Architektur realisiert; diese eher ungewöhnliche Methode der Interprozesskommunikation mit einem Compiler wurde gewählt, weil in der Frühphase der Entwicklung der Sprache TTCN-3 vielfach große Test-Suites automatisiert aus der Vorläufersprache TTCN-2 übersetzt worden waren und damit keine Aufteilung in verschiedene Module vorhanden war. Durch die Delegierung der Compile-Aufträge an einen Compiler-Server erhoffte man sich Perfomanzgewinne durch Caching-Mechanismen. Die Kommunikation zwischen der Oberfläche und dem Compiler erfolgt über binär codiertes XML.

Inzwischen sind die meisten Test-Suites entweder manuell in sinnvolle Module strukturiert oder als Neuentwicklung gleich modular konzipiert worden, so dass der Punkt des Client-Server-Compilers wieder in den Hintergrund getreten ist.

Laufzeitverteilung durch TTmex

Die Laufzeitumgebung (Test Executable, TE), in der die in TTCN-3 spezifizierten Testfälle (Test Cases) tatsächlich abgearbeitet werden, kann bei der TTworkbench entweder lokal (d. h. auf demselben Rechner) gestartet werden, oder es kann ein Konzept namens TTmex zum Einsatz kommen. TTmex verteilt die Testfälle auf verschiedene Laufzeitumgebungen auf verschiedenen Rechnern, um durch die Parallelität die Gesamttestzeit zu reduzieren.

Verschiedene Repräsentationen von TTCN-3

Die Konzipierung von TTCN-3 als abstrakte Sprache, die mehrere gleichwertige Repräsentationen kennt, wird in der TTworkbench umgesetzt, indem Testfälle sowohl in der textuellen als auch in der graphischen Darstellung (GFT) editiert werden können.

Datentypen (die in der GFT nicht notiert werden), können aus einer Reihe von Sprachen importiert werden, bspw. aus ASN.1, XSD, WSDL und IDL, so dass auf eine textuelle Darstellung weitgehend verzichtet werden kann.

Integration in Eclipse

Die Hauptaufgabe von TTCN-3 besteht darin, in beliebigen Sprachen implementierte Protokolle und Anwendungen zu testen. Oft werden daher Programmteile, die in anderen Sprachen geschrieben sind, im Zusammenhang mit TTCN-3 eingesetzt. Die TTworkbench ist daher auf Eclipse basiert, das mit seinen Views und Perspektiven eine erweiterbare Plattform darstellt, um mehrere Sprachen und Anwendungen zu kombinieren.

Java

Die TTworkbench ist in Java implementiert, was durch die Integration in Eclipse (fast zwingend) nahegelegt ist; auch die in TTCN-3 spezifizierten Testfälle werden in Java (d. h. in JAR-Dateien) übersetzt und als solche in der Laufzeitumgebung abgearbeitet.

Die sich daraus ergebende Unabhängigkeit von einer bestimmten Hardware (Portabilität) wird mit Performanzeinbußen (ggü. maschinennaheren Sprachen wie C/C++) erkauft, die gelegentlich zu Problemen führen, die dann mit anderen Mitteln (z. B. durch Einsatz von TTmex) gelöst werden müssen.

Testkampagnen und Reporte

Wenn ein Hersteller (z. B. die MOST Cooperation) ein Protokoll (z. B. MOST) mit Hilfe von Testfällen spezifiziert, die in TTCN-3 geschrieben sind, dann stellt diese Liste von Testfällen zwar eine Test-Suite dar, doch ist diese in der Praxis oft zu umfangreich und zu wenig gegliedert, um direkte Anwendung zu finden. Ein schlichtes Abarbeiten aller Testfälle dauert in der Regel zu lange und verlangt zu viel Vorbereitung, oft von entsprechender zu testender Hardware.

Die von der ETSI für TTCN-3 spezifizierten Testfälle (Test Cases) werden daher in der TTworkbench erweitert um das Konzept von Testkampagnen (Test Campaigns) und Metakampagnen (Meta Campaigns). Mit Hilfe dieser Mittel lassen sich große Test-Suites (bspw. die SIP-Test-Suite) zur Abarbeitung in der Laufzeitumgebung abbilden und gliedern.

Testkampagnen können vom Tester erstellt werden und stellen dabei Listen von zur konkreten Ausführung vorgesehenen Testfällen dar; einzelne Testfälle können hierbei noch parametrisiert werden, ebenso kann eine Anzahl der Durchläufe für die einzelnen Testfälle festgelegt werden. Metakampagnen hingegen stellen Listen von Testkampagnen dar, die zur konkreten Ausführung vorgesehen sind.

Aus gelaufenen Testkampagnen und Metakampagnen und den dabei entstandenen Log-Dateien lassen sich in der TTworkbench Reporte generieren; das sind Dokumente, die die Ergebnisse der Testfälle zusammenfassen, statistisch auswerten und grafisch aufbereiten. Diese Reporte können bspw. in HTML o. Ä. ausgegeben werden.

Erweiterbarkeit

Einige übliche Plugins
ASN.1, FTP, GPIB, IDL, MOST, RS232, Telnet, TTmex, UDP, WSDL

Die TTworkbench realisiert eine Reihe ihrer Features durch ein Plugin-Konzept, z. B. für weitere externe Sprachen oder Protokolle. Oft werden durch diese Plugins Möglichkeiten zum Import von Datentypen aus diesen Sprachen eröffnet. In der TTworkbench ist dieses Architekturkonzept der Rich Client Platform (RCP, seit Eclipse Version 3.0) konsequent umgesetzt, daher wird auch die Kernsprache, TTCN-3, erst durch ein Plugin verfügbar.

Anwender haben die Möglichkeit, eigene Plugins zu schreiben und einzubinden, bspw. um den Aufruf von externen Funktionen von den in TTCN-3 spezifizierten Testfällen aus zu ermöglichen oder um spezielle Codecs einzubinden. Ebenso sind die (im Standard von TTCN-3 spezifizierten) Test-Adaptoren als Plugins realisiert.

Verbreitung

Die TTworkbench hat nach Herstellerangaben einen Anteil von 30 % bis 50 % am Markt für automatisiertes Testen mittels TTCN-3. Einige tausend Lizenzen befinden sich im Umlauf, Universitäten und Forschungseinrichtungen können u. U. eine kostenlose Lizenz erhalten. Das Produkt wird monatlich einige hundert Mal heruntergeladen.

Weblinks

Firmenlinks

Zu den Werkzeugen:


Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • TTCN-3 — TTCN 3, kurz für Testing and Test Control Notation, ist eine standardisierte, speziell für Testlösungen entwickelte Programmiersprache, die vornehmlich für die Automatisierung von Tests für kommunikationsbasierte Systeme verwendet wird. TTCN 3… …   Deutsch Wikipedia

  • TTthree — TTCN 3, kurz für Testing and Test Control Notation, ist eine genormte, speziell für Testlösungen entwickelte Programmiersprache, die vornehmlich für die Automatisierung von Tests für kommunikationsbasierte Systeme verwendet wird. TTCN 3 wird… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”