Testen mit TTCN-3 in der Praxis

Größe: px
Ab Seite anzeigen:

Download "Testen mit TTCN-3 in der Praxis"

Transkript

1 Teten mit TTCN-3 in der Praxi Dr. Andrej Pietchker Siemen AG, CT SE 1 Andrej.Pietchker@iemen.com Inhalt Tetautomatiierung Warum? Beipiel 1: Tet von UMTS (Übergang von TTCN-2 zu TTCN-3) Beipiel 2: Tet von Service (Umetzung von End-to-End Tet mit TTCN-3) Rollen in einem TTCN-3-Tetprojekt Zuammenfaung TAV 21. Teten mit TTCN-3 in der Praxi 2 1

2 Automatiierte Teten Warum? Iterative Entwicklung mit kurzen Entwicklungzyklen und täglichen Build it nutzlo, wenn keine automatiche Verifikation möglich it. Zeit und Koten werden eingepart, da Softwarefehler in frühen Phaen gefunden werden. Ermöglicht Verifikation nach einem Refaktoring. Automatiierte Teten it die Grundlage für Iterative Entwicklung TAV 21. Teten mit TTCN-3 in der Praxi 3 Beipiel 1: Tet von UMTS Core network UTRAN RNC Iur Iu RNC Iub OMC NodeB NodeB NodeB NodeB UE TAV 21. Teten mit TTCN-3 in der Praxi 4 UE 2

3 Tet Automatiierung mit TTCN-3 (1) Gute Erfahrung mit TTCN-2-Tetautomatiierung gemacht Lebare Notation Tet können von jedem, der eine Programmierprache beherrcht, geleen (und gechrieben) werden. Kein graphicher Editor nötig (im Gegenatz zu TTCN-2) Emac (oder jeder andere Editor) it aureichend Geringere Koten bei Werkzeugen Tetfallimplementierung it unabhängig vom Betriebytem Tetfallimplementierung it unabhängig vom Werkzeug ASCII-Format vereinfacht Nutzung von Werkzeugen wie z.b. diff/merge. Motivation der Belegchaft Nutzung von neueter Technologie tellt zuätzliche Motivation dar TAV 21. Teten mit TTCN-3 in der Praxi 5 Tet Automatiierung mit TTCN-3 (2) TTCN-3 Sprache Neue Sprachelemente (gegenüber TTCN-2): Blockierende Kommunikation Dynamiche Konfiguration und Auführung (create/tart/connect/map) Standardiierte Schnitttellen. Unabhängigkeit vom Werkzeugherteller. Modulariierung Einfacherer Umgang mit Verionkontrolle Tetuite Deign vereinfacht Teamarbeit Groe Projekte können aufgeteilt werden; nur die geänderten Dateien müen neu überetzt werden. TAV 21. Teten mit TTCN-3 in der Praxi 6 3

4 Erkenntnie au dieem Projekt Kenntnie beider Sprachen notwendig. Tetdeign it bei TTCN-2 and TTCN-3 unterchiedlich; eine reine Konvertierung erzeugt eine TTCN-3 Tetuite im TTCN-2 Deign. Vollautomatiche Konvertierung it nicht möglich. Eine Kombination au automaticher und manueller Nacharbeit it nötig. Umtieg mu geplant und ein güntiger Zeitpunkt dafür gewählt werden. Neuimplementierung der Adaptoren notwendig. TAV 21. Teten mit TTCN-3 in der Praxi 7 Beipiel 2: Tet von CSTA-Service Computing function domain Party A (teter) ervice ynchronize Party B (teter) ervice ynchronize ervice Party C (teter) SUT TAV 21. Teten mit TTCN-3 in der Praxi 8 4

5 Tetarchitektur Teilnehmerabtaktion (Party): Unabhängig von einander Gekennzeichnet durch Name, Mit Port für Kommunikation Ein Tetfall beteht au der Interaktion von mehreren unabhängigen Teilnehmern Bibliothekanatz zur vereinfachten Tetfallimplementierung Vorgefertigte Funktionen für die Diente Komplett automatiierter Start der Tetkonfiguration Möglichkeit der Nutzung von Standardkonfigurationen Implementierung der Synchroniation zwichen Teilnehmern TAV 21. Teten mit TTCN-3 in der Praxi 9 Ue-Cae Bechreibung für Tetfälle TAV 21. Teten mit TTCN-3 in der Praxi 10 5

6 Beipieltetfall Tetfallpezifikation I TAV 21. Teten mit TTCN-3 in der Praxi 11 Beipieltetfall Tetfallpezifikation II TAV 21. Teten mit TTCN-3 in der Praxi 12 6

7 Beipieltetfall Tetfallpezifikation III TAV 21. Teten mit TTCN-3 in der Praxi 13 Beipieltetfall Tetimplementierung function cripta() run on PartyType { xmlmonitorstart(); ync(); // null tate xmlmakecall(); xmlserviceinitiatedevent(); xmloriginatedevent(); xmldeliveredevent(); ync(); // connected tate xmletablihedevent(); ync(); // connected tate log("connection A with B"); xmlconultationcall(); xmlheldevent(); xmlserviceinitiatedevent(); xmloriginatedevent(); xmldeliveredevent(); ync(); // connected tate xmletablihedevent(); log("connection A with C"); xmlconferencecall(); xmlconferencedevent(); ync(); // connected tate log("connection for A, B, C"); } function criptb() run on PartyType { xmlmonitorstart(); ync(); // null tate xmldeliveredevent(); ync(); // alerting tate xmlanwercall(); xmletablihedevent(); ync(); // connected tate log("connection B with A"); xmlheldevent(); function criptc() run on PartyType { xmlmonitorstart(); ync(); // null tate ync(); // null tate ync(); // null tate xmldeliveredevent(); ync(); // hold tate ync(); // alerting tate xmlanwercall(); xmletablihedevent(); log("connection C with A"); xmlconferencedevent(); xmlconferencedevent(); ync(); // connected tate ync(); // connected tate log("conference for B, A, C"); log("conference for C, A, B"); } } TAV 21. Teten mit TTCN-3 in der Praxi 14 7

8 ACSE ASN.1 meage type Beipieltetfall Überblick über die volltändige Tetuite (TTCN-3 Module) Tet configuration etup and initialization CSTA connection etup CtaInitialization TetCae Configuration BaeDefinition TetScript Cta3Xml BaeFunction ACSE-1 Ecma323 Parameter Implementiert den Tetfall Ecma-323 ervice and event Port, component, ynchronization Ecma-323 TTCN-3 meage type TAV 21. Teten mit TTCN-3 in der Praxi 15 Tet uite parameter Benötigte Rollen im CSTA-Tetprojekt Tetdeigner (Programmierer) Tetdeigner (Sytemteter) Tetauführer Entwickelt Tetuiten Entwickelt Tetuiten grafich Führt Tetuiten au TTCN-3-Tool, Tetdeign-Tool, Konfigurationmanagement Tetdeign-Tool, Konfigurationmanagement TTCN-3-Tool zur Auführung, Web-Brower Tetplattform- Programmierer Entwickelt Adapter für die Anbindung der SUT C/C++ IDE, Konfigurationmanagement Tetmanager Benötigt Tetreport und weitere Metriken Tetmanagement-Tool, Web-Brower TAV 21. Teten mit TTCN-3 in der Praxi 16 8

9 Erkenntnie au dieem Projekt TTCN-3 auch im End-to-End Tet einetzbar Tool zum grafichen Tetdeign Ermöglicht Tetdeign durch Nicht-TTCN-3-Experten UML 2.0 Tet Profile baierte Löung zukunfticher Aufetzen de TTCN-3-Projekt Behandlung al Software-Entwicklungprojekt Konfigurationmanagement Tetfallmanagement TAV 21. Teten mit TTCN-3 in der Praxi 17 Zuammenfaung und Aublick TTCN-3 lät ich in unterchiedlichten Projekten einetzen TTCN-3 it flexibel um unterchiedlichen Anforderungen gerecht zu werden Wirtchaftliche Überlegungen machen den Einatz intereant Ablöung proprietärer Tetyteme Nutzung offener TTCN-3-baierter Tetlöungen (Synergien) Ein Tetautomatiierungprojekt it wie ein Software- Entwicklungprojekt zu behandeln Neue Rollen in der Organiation evtl. nötig TTCN-3 Teter Certificate - TAV 21. Teten mit TTCN-3 in der Praxi 18 9