Title: An Introduction to version 3
1An Introductionto version 3
- Dr. Michael EbnerUniversity Göttingen,
Germanyebner_at_cs.uni-goettingen.de
2About the speaker
- Is researcher in the telematics group ofProf.
Dr. D. Hogrefe at the Institute for Informatics,
University of Göttingen, Germany - Is active in the research area of test
automation, model-based testing, and protocol
modeling - Working with TTCN-3 since 2000
- Influenced data types and synchronous
communication of TTCN-3
3An Introduction toInstitute for
Informatics,University of Göttingen
Founded in 1737 by King George II (England), who
also founded Princeton U (1746) and Columbia U
(1754)
George-August-Universität Göttingen
44 Nobel Prize-winner live(d) and work(ed) here
Department of Mathematics
Other 12 departments
Gauß, Weber, Hilbert,
Center for Informatics
2000
Institute for Informatics
01/2003
Theory Group Prof. Waack
Database GroupProf. May
Distributed Systems Group, Prof. Switzer
Softw. Eng. Group Prof. Grabowski
Telematics GroupProf. Hogrefe
Practical Informatics Group Prof. Neumair (GWDG)
Service Eng. GroupProf. Margaria
4Table of contents
- Overall view of TTCN-3
- TTCN-3 en detail
- Types and values
- Behavior specification
- Implementation of TTCN-3
- Presentation formats
- Final remarks
5Why using a standardised test language? 1(3)
6Why using a standardised test language? 2(3)
7Why using a standardised test language? 3(3)
- Standardised test language
- improves communication
- among developers
- with the customer
- improves transparency
- one test language for all departments
- No proprietary test languages
- reduces costs
- costs of training
- usage of commercial test equipments (tools, test
suites, etc.)
8What is TTCN-3 ?
- The standardised (black-box) test specification
and test implementation language. - Developed
- by the European Telecommunications Standards
Institute (ETSI) from 1999 to 2001. - based on the experiences from previous TTCN
versions. - Applicable for all kinds of black-box testing for
reactive and distributed systems, e.g. - Telecom systems (ISDN, ATM)
- Mobile (telecom) systems (GSM, UMTS)
- Internet (has been applied to IPv6)
- CORBA based systems.
9TTCN stands for ???
- Tree and Tabular Combined Notation
- For TTCN-1 and TTCN-2
- Testing and Test Control Notation
- Since TTCN-3
10The TTCN-3 series of standards 1(3)
11The TTCN-3 series of standards 2(3)
testcase myTestcase () runs on MTCType system
TSIType mydefault activate (OtherwiseFail)
verdict.set(pass) connect(PTC_ISAP1CP_ISAP
1,mtcCP_ISAP1) map(PTC_ISAP1ISAP1,
systemTSI_ISAP1) PTC_ISAP1.start(func_PTC_IS
AP1()) PTC_MSAP2.start(func_PTC_MSAP2()) Synch
ronization() all component.done log(Correct
Termination)
12The TTCN-3 series of standards 3(3)
- European Standard (ES) in 6 parts
- ES 201 873-1 TTCN-3 Core Language
- ES 201 873-2 TTCN-3 Tabular Presentation Format
(TFT) - 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)
- 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)
New edition 3.1.1 of TTCN-3 since June 2005
13Concepts
- Black-Box Testing with TTCN-3
- Test Configuration
- Test Components
- Communication Ports
- Test Verdicts
- Ingredients of TTCN-3
- Structure of TTCN-3 specs
- Re-use of existing Code
14Black-box testing with TTCN-3
- Assignmentof aTest Verdict
15Test configuration 1(2)
16Test configuration 2(2)
Abstract Test System Interface
17Test components
- There are three kinds of components
- Abstract Test System Interface defined as
component - MTC (Main Test Component)
- PTC (Parallel Test Component)
18Communication ports 1(2)
- Test components communicate via ports
- A test port is modeled as an infinite FIFO queue
- Ports have direction (in, out, inout)
- There are three types of port
- message-based, procedure-based or mixed
19Communication ports 2(2)
Language
20Test verdicts
- Test verdicts none lt pass lt inconc lt fail lt
error - Each test component has its own local verdict,
which can be set (setverdict) and read
(getverdict). - A test case returns a global verdict
21Ingredients of TTCN-3
TTCN-3
- Built-in and user-defined generic data types
(e.g., to define messages, service primitives,
information elements, PDUs). - Actual test data transmitted/received during
testing. - Definition of the components and communication
ports that are used to build various testing
configurations. - Specification of the dynamic test system behavior.
22Structure of TTCN-3 specs TTCN-3 Modules
- Modules are the building blocks of all TTCN-3
test specifications. - A test suite is a module.
- A module has a definitions part and an
(optional) control part. - Modules can be parameterized.
- Modules can import definitions from other modules.
Module
23Structure of TTCN-3 specs Module definitions
part
- Definitions are global to the entire module.
- Data Type definitions are based on TTCN-3
predefined and structured types. - Templates define the test data.
- Ports and Components are used in Test
Configurations. - Functions, Altsteps and Test Cases define
behavior.
24Structure of TTCN-3 specs Module control
part 1(2)
- Module control is the dynamic part of a TTCN-3
specification where the test cases are executed. - Local declarations, such as variables and timers
may be made in the control part. - Basic programming statements may be used to
select and control the execution of the test
cases.
Module
25Structure of TTCN-3 specs Module control
part 2(2)
module control var integer count
if(execute(SIP_UA_REC_V_001()) pass)
// Execute test case 10 times count 0
while( count lt 10) execute(SIP_UA_REC_V
_002()) count count 1 // end
while // end if // end control //
end module
26Reuse of existing code The import
mechanism 1(2)
- Main Module contains the control part, which
specifies test suite execution. - Modules may reuse definitions from other
(library) modules. - Implicit import of definitions via chains of
imports is not allowed, i.e., an explicit import
has to be added. - Reason A module shall know all modules which it
depends on.
27Reuse of existing code The import
mechanism 2(2)
- Import allows to import
- single definitions
- definitions of a certain kind, and
- groups of definitions
- from other modules.
- Definitions may be imported recursively.
- If several definitions are addressed, certain
definitions can be excluded by using an except
directive.
import form ModuleOne modulepar ModPar2
type RecordType_T2 import from
ModuleTworecursive testcase T_case import
from ModuleThree all except template all
28Use of nonTTCN-3 code Language mapping
- Importing non TTCN-3 definitions requires a
language mapping onto TTCN-3. - The language mapping defines the meaning of non
TTCN-3 definitions in TTCN-3 modules. - The language mapping may provide TTCN-3
additional features for imported definitions
(e.g., operations for ASN.1 data types).
29Table of contents
- Overall view of TTCN-3
- TTCN-3 en detail
- Types and values
- Behavior specification
- Implementation of TTCN-3
- Presentation formats
- Final remarks
30Data types and test data Constants, types,
templates 1(2)
Language
- TTCN-3 data types
- integer, char, universal char, float, boolean,
objid - enumerated
- bitstring, hexstring, octetstring, charstring,
universal charstring, - record, record of, set, set of, union
- anytype
- verdicttype
- address
- Useful types
- IEEE754float, long, byte,
- Iso8859string, utf16string,
31Data types and test data Constants, types,
templates 2(2)
Language
const integer int_Const 7 // Normal
constant external const boolean bool_Const //
External constant type record Request //
Structured type definition RequestLine
requestLine, ReqMessageHeader reqMessageHeader
optional, charstring crlf, charstring
messageBody optional template Request
Invite // template for the Request type
requestLine Request_Line("INVITE"),
reqMessageHeader Req_Mes_Header("INVITE"),
crlf ?, messageBody
omit
32Encoding of Messages Attributes 1(2)
Language
- Attributes can be assigned to all kinds of
definitions, groups and modules. - Kinds of attributes
- Encoding information
- encode attribute
- variant attribute
- Values are standardized for ASN.1 encoding
- Presentation information
- display attribute
- Values are standardized for the graphical and
tabular presentation format. - User-defined
- extension - attribute
33Encoding of Messages Attributes 2(2)
Language
group MyPDUs type record MyPDU1 group
MySpecialPDUs type record MyPDU3
with extension "MyVerySpecialRule" type
record MyPDU4 with extension
"MySpecialRule" with display "PDU"
extension "MyRule"
34Table of contents
- Overall view of TTCN-3
- TTCN-3 en detail
- Types and values
- Behavior specification
- Implementation of TTCN-3
- Presentation formats
- Final remarks
35Specifying test behavior Alternative behavior
1(2)
Language
- has to be specified whenever test component is
ready to take a response from the SUT or a
timeout. - is typically defined by several alternatives,
which - are evaluated according to their appearance
- may be guarded
- can be part of an altstep, which may be called
explicitly or activated as default. - forks the test behavior (the typical tree),
but in TTCN-3 alternatives can be joined again
after the end of an alternative behavior. - All other cases can be handled in an else branch.
36Specifying test behavior Alternative behavior
2(2)
Language
alt L1.receive(MyMessage1)
// do something xgt1
L2.receive(MyMessage2) xlt1
L2.receive(MyMessage3)
MyAltstep // call of a altstep else
stop // else branch
37Specifying test behavior Interleaved behavior
Language
- Shorthand for all alternative permutations
- All messages must be received, but in any order
- interleave
- PCO1.receive(MyMessageOne)
- PCO1.receive(MyMessageTwo)
- PCO1.receive(MyMessageThree)
38Table of contents
- Overall view of TTCN-3
- TTCN-3 en detail
- Types and values
- Behavior specification
- Implementation of TTCN-3
- Presentation formats
- Final remarks
39Overview The TTCN-3 test system
- TE TTCN-3 Executable
- SA System Adapter
- PA Platform Adapter
- CD Coder/Decoder
- TM Test Management
- CH Component Handling
- SUT System Under Test
ETSI ES 201 873-1 TTCN-3 Core Language ETSI ES
201 873-5 TTCN-3 Runtime Interface (TRI) ETSI ES
201 873-6 TTCN-3 Control Interfaces (TCI)
40Overview Implementing TTCN-3
41Table of contents
- Overall view of TTCN-3
- TTCN-3 en detail
- Types and values
- Behavior specification
- Implementation of TTCN-3
- Presentation formats
- Final remarks
42TTCN-3 presentation formats Overall view
XML
43The graphical presentation format of TTCN-3
44U2TP A test case
Data partition
sd invalidPIN
readOnly Integer invalidPIN
current.isPinCorrect(invalidPIN) false
current
hwe
sut atm
Setting a timer
Stimulus
storeCardData(current)
Stopping a timer
Observation
t1(2.0)
display(Enter PIN)
t1
isPinCorrect(invalidPIN)
isPinCorrect(invalidPIN)
Duration constraint
0 .. 3
isPinCorrect false
isPinCorrect false
display(Invalid PIN)
Function return value
Setting arbitrated verdict
display(Enter PIN again)
validationAction pass
45Table of contents
- Overall view of TTCN-3
- TTCN-3 en detail
- Types and values
- Behavior specification
- Implementation of TTCN-3
- Presentation formats
- Final remarks
46Managing TTCN-3 projects Potential usage 1(2)
- Applicability for different test phases
- Host/target tests
- System integration and system test
- User acceptance test
- Features required for a test automation solution
- Test design (low-level, high-level, graphical)
- Scheduling of test runs
- Centralized/distributed test runs
- Log/trace analysis
- Test case management
- Support of standards
- Legend for the table on next slide
- ? feature must be supported in this test phase
- (?) feature should be supported
- fully colored field feature supported by TTCN-3
- hatched colored field feature partly supported
by TTCN-3
47Managing TTCN-3 projects Potential usage 2(2)
48TTCN-3 extensionsWork items in standardization
- Language extensions mechanisms
- Packages and profiles
- Extended communication mechanisms
- Broadcast / multicast(edition 3.0.0)
- Synchronization / coordination (edition 3.0.0)
- Real-time extensions
- Absolute time support
- Time-constrained operations
- Better performance testing support
- Implicit test configuration
- Implicit communication
- Performance measurement
49Current TTCN-3 tool providers
- Tool providers
- Danet
- DaVinci Communication
- Open TTCN
- Telelogic
- Testing Technologies
- Strategic Test Solutions
- Internal tools used by
- Nokia
- Ericsson
- Motorola
- Existing test devices with TTCN-3 support(for
telecommunication applications) - Alcatel A1100
- Navtel InterWatch
- Nethawk
- Tektronix G20
50Conclusions
- TTCN-3 finds its way into practice
- Lots of interest from industry and academia
- Mature TTCN-3 standard
- Stimulates further research development
- New application domains, e.g. automotive
- Real-time and performance testing
- Test patterns
- Still possibilities to shape the future TTCN-3
51Acknowledgement
- Slides are based on a TTCN-3 Tutorial from
Grabowski and Ulrich - Prof. Dr. Jens Grabowski
- Institute for Informatics, University of
Göttingen - Is in the TTCN-3 business since the beginning
- Dr. Andreas Ulrich
- Is a Principal Engineer at Siemens
CorporateTechnology Division in München, Germany - Member of the ETSI TTCN-3 maintenance group
52An Introductionto version 3
- Dr. Michael EbnerUniversity Göttingen,
Germanyebner_at_cs.uni-goettingen.de
53Literature on TTCN-3
- Standard documents
- Overview articles
- Graphical presentation format
- TTCN-3 control and runtime interface
- IDL to TTCN-3 mapping
- TTCN-3 real-time extensions
- UML Testing Profile
54Literature on TTCN-3 1(6)
- Standard documents (can be found on the TTCN-3
homepage 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
(TFT) - 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)
- 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
55Literature on TTCN-3 2(6)
- Overview articles
- Jens Grabowski, Dieter Hogrefe, György Réthy, Ina
Schieferdecker, Anthony Wiles, Colin Willcock. An
introduction into the testing and test control
notation (TTCN-3). Computer Networks, Volume 42,
Issue 3, Elsevier, Amsterdam, 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), Ottawa, 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.
56Literature on TTCN-3 3(6)
- TTCN-3 control and runtime interface
- S. Schulz, T. Vassiliou-Gioles. Implementation of
TTCN-3 Test Systems using the TRI. Testing
Internet Technologies and Services - The IFIP
14th International Conference on Testing of
Communicating Systems March, 19th - 22nd, 2002,
Berlin, Kluwer Academic Publishers, March 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. - 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
Services - The IFIP 14th International Conference
on Testing of Communicating Systems March, 19th -
22nd, 2002, Berlin, Kluwer Academic Publishers,
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
verteilten Systemen" (KiVS), Leipzig (Germnay),
Febr. 26th-28th, 2003.
57Literature on TTCN-3 4(6)
- 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 International
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 Systems
(Editors D. Hogrefe, A. Wiles). Proceedings of
the 15th IFIP International Conference on Testing
of Communicating Systems, Sophia Antipolis,
France, May 2003. LNCS 2644, Springer, May 2003. - Helmut Neukirchen, Zhen Ru Dai, Jens Grabowski.
Communication Patterns for Expressing Real-Time
Requirements Using MSC and their Application to
Testing. Testing of Communicating Systems.
Proceedings of the 16th IFIP International
Conference on Testing of Communicating Systems,
Oxford, UK, March 2004. LNCS 2978, Springer,
March 2004.
58Literature on TTCN-3 5(6)
- UML Testing Profile
- Online Resources http//www.fokus.gmd.de/u2tp/
- U2TP consortium. UML 2.0 Testing Profile
Specification. OMG Adopted Specification
ptc/03-08-03. (for download see
http//www.fokus.gmd.de/u2tp/) - Zhen Ru Dai, Jens Grabowski, Helmut Neukirchen,
Holger Pals.From Design to Test with UML -
Applied to a Roaming Algorithm for Bluetooth
Devices. Testing of Communicating Systems.
Proceedings of the 16th IFIP International
Conference on Testing of Communicating Systems
(TestCom2004), Oxford, United Kingdom, March
2004. LNCS 2978, Springer, March 2004. - Ina Schieferdecker, Zhen Ru Dai, Jens Grabowski,
Axel Rennoch.The UML 2.0 Testing Profile and its
Relation to TTCN-3. Testing of Communicating
Systems (Editors D. Hogrefe, A. Wiles).
Proceedings of the 15th IFIP International
Conference on Testing of Communicating Systems
(TestCom2003), Sophia Antipolis, France, May
2003. LNCS 2644, Springer, May 2003, pp. 79-94.
59Literature on TTCN-3 6(6)
- UML Testing Profile (cont.)
- Paul Baker, Zhen Ru Dai, Jens Grabowski, Øystein
Haugen, Serge Lucio, Eric Samuelsson, Ina
Schieferdecker, Clay Williams. The UML Testing
Profile. Proceedings of the 'Conference on
Quality Engineering in Software Technology 2004'
(CONQUEST 2004) in Nuremberg (Germany), September
22-24, 2004 . - Further resources
- More can be found in the proceedings of the
TestCom conferences and on the homepages of the
TTCN-3 team members (e.g., I. Schieferdecker and
J. Grabowski) and the TTCN-3 tool providers.