Introduction à TTCN -3
Stephane Maag
Plan
� Historique
� TTCN-3 …
� Un exemple
2 Stephane Maag / TSP
Quels Intérêts ?
� Nous maîtrisons maintenant:
• Test de Conformité� Actif� Passif
• Architectures de Test (standardisées ISO)
Mais:
3 Stephane Maag / TSP
� Mais:
• Cas de test et séquences de test proches du modèle formel
• Souvent test énuméré (sauf test symbolique)� Ambiguités + pb black box
• Indépendant de l’interface d’exécution (ou alors in terfacées manuellement)
⇒ Besoin de mener la théorie vers un langage de test standardisé
Retour sur les architectures deTest
4 Stephane Maag / TSP
Principes menant à TTCN
� Une technologie pour différents types de test
• Distribués, indépendant des plates-formes
• Développement de tests graphiques (documentation et analyses)
5 Stephane Maag / TSP
• Adaptable, environnement de test ouvert
� Une technologie pour les IT distribués et les systèmes de Telco
Historique
� TTCN (1992)
• Publié tel un standard ISO
• Tree and Tabular Combined Notation
• Utilisé au test de protocoles
6 Stephane Maag / TSP
• Utilisé au test de protocoles� GSM, ISDN
� TTCN-2/2++ (1997)
• Test concurrents
• Modulaire
• Manipulation de données externes
• Pour le test de conformité
Historique
� TTCN-3 (2000)
• Testing and Test Control Notation
• ETSI STF 133 (200 membres) – coopération avec ITU-T SG10
• Langage propre (syntaxe et sémantique)
• Amélioration des points de communication, de configuration et de contrôle
7 Stephane Maag / TSP
• Amélioration des points de communication, de configuration et de contrôle
• Standardisé et prend en considération standards communément implémentés� SIP, SCTP, IPv6, etc.
• Contributions volontaires de nombreux industriels Telco
� TTCN-3 (2006): Edition 3
• Proposition d’extensions
TTCN-2
� Conçu uniquement pour le Test
� Langage standardisé
� Bien établi et largement utilisé (mais appliqué?!)
Utilise les méthodologies et concepts du test de
8 Stephane Maag / TSP
� Utilise les méthodologies et concepts du test de conformité (ISO9646)
� Indépendant des outils
� Supporte ASN.1
De nouveaux challenges dans le Test :vers la fin de TTCN-2
� Nombre croissants de spécifications (2G/3G/4G …)
� Pressions pour réduire le timet-to-market
• De nouveaux services et systèmes plus vite
• Réduction du processus de test
� Pressions pour améliorer la qualité
•
9 Stephane Maag / TSP
• Réduire l’arrêt de composants réseaux (en secondes/ an !)
• Augmentation de la qualité des tests
� Nouveaux types de test
• Protocoles basés sur IP
• Protocoles « textuels »
• Unifier les approches de test logiciels et protocol es
� Tests nécessaire plus uniquement pour l’industry Te lco
TTCN-3 … c’est quoi ?
� Test and Testing Control Notation
� Langage standardisé pour formellement définir des scénarios de test.
� Prendre le meilleur de TTCN-2 et les combiner avec une meilleure et plus performante notation textuelle.
10 Stephane Maag / TSP
meilleure et plus performante notation textuelle.
� Indépendant des outils.
Pourquoi TTCN -3 est si important?
� Plus productif
• Facile de compréhension
• Facile d’utilisation
� Plus puissant
• Fonctionnalités étendues
• Protocoles IP supportés
• Protocoles textuels supp.
� Plus flexible
• Pas lié au modèle OSI
• Tout (presque) type de test
� Facilités d’extensions
11 Stephane Maag / TSP
Protocol TestingSoftware Testing
• Protocoles textuels supp.
function Module Layer Unit Integration
TTCN-2
TTCN-3
Comparaison TTCN -2 / TTCN-3
TTCN – 2
� Format de fichiers dédiés au système
� Format de présentation tabulaire
� Format textuel (script)
� Tabulaire, graphique (MSC) ou défini par l’utilisateur
� Supporte les timers, les
12 Stephane Maag / TSP
� Supporte les timers et les messages de com. de base
� Configuration de test statique
� Interface statique (PCOs)
� Supporte les timers, les messages de com. et procéduraux, et fonctions externes
� Configuration des tests dynamique et multi-connexions
� Interfaces distribuées (composants)
Application: Test de Conformité (1)
13 Stephane Maag / TSP
Application: Test de Conformité (2)
Layer 4
TTCN-3
Système de Test SUT
14 Stephane Maag / TSP
Layer 2
Layer 1
Layer 2
Layer 1
Layer 3TTCN-3
TRI
Où se situe TTCN -3 ?
FormatTabulaire
ASN.1 Types & Values
Other Types & Values 2
TTCN-3CoreNotation
msc mi_synch1_conc1
mtc ISAP1 MSAP2
IDL
[Ebner2005]
15 Stephane Maag / TSP
TTCN-3 User
FormatGraphique
Other Types & Values n
Presentation Format n
Other Types & Values 3
UML Testing Profile
XML
C/C++
:
testcase myTestcase () runs on MTCType system TSIType
{ mydefault := activate (OtherwiseFail); verdict. set( pass);
:
connect(PTC_ISAP1:CP_ISAP1, mtc:CP_ISAP1);
:
map(PTC_ISAP1:ISAP1, system:TSI_ISAP1);
:
PTC_ISAP1. start(func_PTC_ISAP1());
PTC_MSAP2.start(func_PTC_MSAP2());
Synchronization(); all component. done;
log(”Correct Termination”);}
:
Concepts
� Black-Box Testing avec TTCN -3
� Configuration des Tests
� Composants des Tests
Ports de communication
16 Stephane Maag / TSP
� Ports de communication
� Verdicts des Tests
� Éléments de TTCN -3
� Structure des spécifications TTCN -3
� Ré-utilisation de codes existants[Ebner2005]
Black-box testing avec TTCN -3
TTCN-3 Test Case
Port.send(Stimulus) Port.receive(Response)
• Affectation
17 Stephane Maag / TSP
System Under Test
Port
• Affectation d‘un verdict
TTCN-3 Test Case
Configuration des Tests
createstart
SUT
18 Stephane Maag / TSP
create
MTC
startcreate
TCs
TC
TC
Composants des Tests
� Il y a trois ‘types de composants
• Interface du système de test abstrait défini tel un composant
• MTC (Main Test Component)
• PTC (Parallel Test Component)
19 Stephane Maag / TSP
Système de Test
Système de test réel connecté au SUT
Interface du Système de Test Abstrait
MTC PTCnPTC1 PTC2
Ports de Communication 1(2)
� Les composants de Test communiquent via des ports.
� Un port est modélisé tel une FIFO infinie .
� Les ports ont des directions (in, out, inout).
� Il y a trois types de port
20 Stephane Maag / TSP
• message-based, procedure-based ou mixed
TC1 TC2
P1.send (Msg) P2. receive (Msg)
P2 (in )P1 (out )
Exemple: ports procedure-based
call getcall
Caller Callee
21 Stephane Maag / TSP
reply ouraise exception
getreply oucatch exception
blocking blocking
Test verdicts
� Verdicts: none < pass < inconc < fail < error
� Chaque composant de test a son propre verdict local qui peut être établi ( setverdict ) et lu ( getverdict ).
� Un Cas de Test retourne un verdict global.
22 Stephane Maag / TSP
PIF
MTC PTC1 PTCN
Verdict returned by the test case when it terminates
I
setverdict(inconc)setverdict(fail)
F P
setverdict(pass)
Éléments de TTCN -3
� Types de données utilisateurs génériques (e.g., pour définir des messages, primitives de service, information, PDUs).
� Données de test transmises/reçues durant le processus de test.
� Définitions des composants et des ports de
TTCN-3
Test Data
Data Types
23 Stephane Maag / TSP
� Définitions des composants et des ports de communication qui sont utilisés pour configurer les tests.
� Spécification du comportement du système de test.Test Behavior
Test Configuration
Structure des specs TTCN -3Modules
� Les modules sont les blocks modélisant toutes les specs TTCN-3.
� Une suite de test est un module.
� Un module est constitué d’une partie définition et d’une partie
Module
Module Definitions
24 Stephane Maag / TSP
partie définition et d’une partie contrôle (optionnelle).
� Les modules peuvent être paramétrés.
� Un module peut importer des définition d’autres modules.
Module Control
Structure des specs TTCN -3Modules - Définition
� Les définitions sont globales au module.
� Les définitions des types de données sont basées sur les types structurés et prédéfinis.
� Les templates définissent les données des tests.Signature Templates
Data Templates
Signatures
Constants
Data Types
25 Stephane Maag / TSP
données des tests.
� Ports et composants utilisés dans les Configurations des tests.
� Functions, Altsteps et Test Cases définissent le comportement.
Test Cases
Altsteps
Functions
Test Components
Communication Ports
Signature Templates
Module
Module Definitions
� La partie contrôle est la partie dynamique d’une spécification TTCN-3, là où les cas de test sont exécutés.
� Des déclarations locales telles que les variables et timers.
Structure des specs TTCN -3Modules – Contrôle
26 Stephane Maag / TSP
Module Control
que les variables et timers.
� Des éléments basics de codes peut être utilisés pour sélectionner et contrôler l’exécution des cas de test.
module … {…
control{var integer count;
if( execute(SIP_UA_REC_V_001()) == pass) {
// Execute test case 10 times
Structure des specs TTCN -3Modules – Contrôle
27 Stephane Maag / TSP
// Execute test case 10 timescount := 0;while( count <= 10) {
execute(SIP_UA_REC_V_002());count := count + 1;
} // end while
} // end if
} // end control} // end module
Réutilisation de code existant –le mécanisme import
� Le Main Module contient la partie contrôle qui spécifie l’exécution de la suite de test.
� Les modules peuvent réutiliser les définitions (library) des autres modules.
LibraryModule 1
import
LibraryModule 3
import
implicit importof a definition required
explicitimport
28 Stephane Maag / TSP
� L’ import implicite des définitions via plusieurs imports n’est pas permis. Il nécessite un import explicite.
• Raison: un module doit connaitre tous les modules auxquels il dépend.
MainModule
LibraryModule 2
import
import
� Import permet d’importer:
• définitions
• groupes de définitions
� Les définitions peuvent être importés récursivement.
import form ModuleOne {
modulepar ModPar2;
type RecordType_T2
}
import from ModuleTworecursive {
Réutilisation de code existant –le mécanisme import
29 Stephane Maag / TSP
� On peut également exclure certaines définitions de l’import .
}
recursive {
testcase T_case
}
import from ModuleThree
all except {
template all
}
Chaine d’intégration TTCN -3
Abstract Test Suitecompile
TE
TTCN-3Executable
+
30 Stephane Maag / TSP
Abstract Test Suite
TTCN-3 Runtime System
+
SUT
Executable Test Suite
build
TTCN-3 … sur un exemple !
[Gioles07]
31 Stephane Maag / TSP
Serveur DNS – Test Purpose
� Le service Internet DNS communique à partir d’échan ges de messages (UDP)
� Nous souhaitons tester le mapping correct:
www.it-sudparis.eu ⇔ 157.159.11.8
32 Stephane Maag / TSP
Client DNSTester SUT
(www.it-sudparis.eu, A)
(www.it-sudparis.eu, 157.159.11.8, A)
pass
Main module Definitions
33 Stephane Maag / TSP
Main module Definitions
34 Stephane Maag / TSP
Client DNSTester SUT
(www.it-sudparis.eu, A)
(www.it-sudparis.eu, 157.159.11.8, A)
pass
Main module DefinitionsPartie contrôle
35 Stephane Maag / TSP
Exécution du cas de test
query = ( www.it-sudparis.eu , A)
answer = ( www.it-sudparis.eu ,157.159.11.8,A)
36 Stephane Maag / TSP
Est-ce que la définitionde ce cas de test est adéquate?
Gestion des comportements erronées
answer = ( www.it-sudparis.eu ,127.0.0.1,A)
query = ( www.it-sudparis.eu , A)
37 Stephane Maag / TSP
� P.receive (answer ) bloque jusqu’à ce qu’il reçoive un message correspondant à la réponse (answer ).
� Aucun message ne débloque le tester
� Si aucun message n’est reçu, le tester reste aussi bloqué.
Gestion des comportements erronées
Client DNSTester SUT
(www.it-sudparis.eu, A)
38 Stephane Maag / TSP
(www.it-sudparis.eu, 157.159.11.8, A)
pass
Requête DNS délocalisée
1
39 Stephane Maag / TSP
2
3
Requête DNS délocalisée
Client DNS root NS NS
(www.it-sudparis.eu, A)
(it-sudparis.eu, NS)
Tester TesterSUT
40 Stephane Maag / TSP
(it-sudparis.eu, ns.it-sudparis.eu,NS))
(www.it-sudparis.eu, A)
(www.it-sudparis.eu, 157.159.11.8,A)
(www.it-sudparis.eu, 157.159.11.8,A)
Outils TTCN -3
� Fournisseurs d’outils
• Danet
• DaVinci Communication
• Open TTCN
• Telelogic (IBM)
� Matériel existant de test supportant TTCN-3 (pour les applications de télécommunication)
• Alcatel A1100
• Navtel InterWatch
41 Stephane Maag / TSP
• Telelogic (IBM)
• Testing Technologies
• Strategic Test Solutions
� Outils internes utilisés par:
• Nokia
• Ericsson
• Motorola
• Navtel InterWatch
• Nethawk
• Tektronix G20
CONCLUSIONS
� De nombreux intérêts en pratique mais aussi avec de s problématiques ouvertes en recherche
• Nouveaux domaines d’applications (e.g. automobile)
• Test de performance et temps réel
• Pattern de test
42 Stephane Maag / TSP
• Pattern de test
� TTCN-3 se révèle sur les plates-formes industrielle s
� Le standard TTCN-3 est mature
� TTCN-4 ?? …
Références sur TTCN -3
� Standard documents: (can be found on the TTCN-3 hom epage: http://www.ttcn3.org/ or http://www.etsi.org/ptcc/ptccttcn3.htm )• ES 201 873-1: TTCN-3 Core Language
• ES 201 873-2: TTCN-3 Tabular Presentation Format (T FT)
• ES 201 873-3: TTCN-3 Graphical Presentation Format (GFT)
• ES 201 873-4: TTCN-3 Operational Semantics
• ES 201 873-5: TTCN-3 Runtime Interface (TRI)
43 Stephane Maag / TSP
• ES 201 873-5: TTCN-3 Runtime Interface (TRI)
• ES 201 873-6: TTCN-3 Control Interface (TCI)
• ES 201 873-7: Using ASN.1 with TTCN-3
• ES 201 873-8: Using IDL with TTCN-3
• ES 201 873-9: Using XML with TTCN-3
• ES 201 873-10: Using C/C++ with TTCN-3 (planned)
� Example test suites:• See: http://www.etsi.org/ptcc/ptccttcn3.htm
• E.g., http://www.etsi.org/ptcc/ptccsip_osp.htm
� Overview articles
• Jens Grabowski, Dieter Hogrefe, György Réthy, Ina S chieferdecker, Anthony Wiles, Colin Willcock. An introduction into the testing and test control n otation (TTCN-3). Computer Networks, Volume 42, Issue 3, Elsevier, Am sterdam, Juni 2003, 375-403.
• Jens Grabowski, Anthony Wiles, Colin Willcock, Dieter Hogrefe. On the Design of the new Testing Language TTCN-3. '13th IFIP International Workshop on Testing Communicating Systems' (Testcom 2000), Otta wa, 29.8.2000-1.9.2000,
Références sur TTCN -3
44 Stephane Maag / TSP
Testing Communicating Systems' (Testcom 2000), Otta wa, 29.8.2000-1.9.2000, Kluwer Academic Publishers, August 2000.
� Graphical presentation format
• P. Baker, E. Rudolph, I. Schieferdecker. Graphical Test Specification - The Graphical Format of TTCN-3 . Proc. of the 10th SDL Forum 2001, Copenhagen, June 2001.
• E. Rudolph, I. Schieferdecker, J. Grabowski: HyperMSC - a Graphical Representation of TTCN . Proc. of the 2nd Workshop of the SDL Forum, Society on SDL and MSC, Grenoble, June 2000.
� TTCN-3 control and runtime interface
• S. Schulz, T. Vassiliou-Gioles. Implementation of T TCN-3 Test Systems using the TRI. Testing Internet Technologies and Services - The IFIP 14th International Conference on Testing of Communicatin g Systems March, 19th -22nd, 2002, Berlin, Kluwer Academic Publishers, Mar ch 2002.
• I. Schieferdecker, T. Vassiliou-Gioles. Realizing distributed TTCN-3 test systems with TCI . IFIP 15th Intern. Conf. on Testing Communicating Systems -TestCom 2003, Cannes, France, May 2003.
Références sur TTCN -3
45 Stephane Maag / TSP
� IDL to TTCN-3 mapping
• M. Ebner, A. Yin, M. Li. A Definition and Utilisation of OMG IDL to TTCN-3 Mappings . TestCom 2002: Testing Internet Technologies and S ervices - The IFIP 14th International Conference on Testing of Co mmunicating Systems March, 19th - 22nd, 2002, Berlin, Kluwer Academic Pu blishers, March 2002.
� XML to TTCN-3 mapping
• I. Schieferdecker, B. Stepien. Automated Testing of XML/SOAP based Web Services. Proceedings of the 13. Fachkonferenz der Gesellschaft für Informatik (GI) Fachgruppe "Kommunikation in vertei lten Systemen" (KiVS), Leipzig (Germnay), Febr. 26th-28th, 2003.
� TTCN-3 real-time extensions
• Zhen Ru Dai, Jens Grabowski, Helmut Neukirchen. Timed TTCN-3 - A Real-Time Extension for TTCN-3. TestCom 2002: Testing Internet Technologies and Services -- The IFIP 14th Internati onal Conference on Testing of Communicating Systems March, 19th - 22nd, 2002, Berlin, Kluwer Academic Publishers, March 2002.
• Zhen Ru Dai, Jens Grabowski, Helmut Neukirchen. TimedTTCN-3 Based Graphical Real -Time Test Specification. Testing of Communicating
Références sur TTCN -3
46 Stephane Maag / TSP
Graphical Real -Time Test Specification. Testing of Communicating Systems (Editors: D. Hogrefe, A. Wiles). Proceeding s of the 15th IFIP International Conference on Testing of Communicatin g Systems, Sophia Antipolis, France, May 2003. LNCS 2644, Springer, M ay 2003.
• Helmut Neukirchen, Zhen Ru Dai, Jens Grabowski. Communication Patterns for Expressing Real-Time Requirements Usin g MSC and their Application to Testing. Testing of Communicating Systems. Proceedings of the 16th IFIP International Conference on Testin g of Communicating Systems, Oxford, UK, March 2004. LNCS 2978, Springe r, March 2004.
Merci …
� … au travail fourni par les Prof Jens Grabowski et Andreas Ulrich de l’Université de Gottingen …
� … à Colin Willcock du Nokia Research Center pour sa vulgarisation de TTCN -3…
47 Stephane Maag / TSP
� Au CEO Testing Technologies (Berlin) pour la vulgarisation des exemples TTCN -3…
� … à partir desquels ce cours a été monté.
Top Related