Skip to main content

An Introduction to TTCN-3

An Introduction to TTCN-3




Looking for a solid introduction to the TTCN-3 language and its use? An Introduction to TTCN-3 is just what you need. All the important concepts and constructs of the language are explained in a tutorial style with the emphasis on extensive examples. Throughout the author also addresses the larger picture of how the testing language is related to the overall test system implementation.
  • A complete tutorial reference on TTCN-3 with real-world examples and expert advice based on author’s practical industrial experience using the standard.
  • Offering a unique insider perspective: Nokia has been instrumental in the development of both the language and tools associated with TTCN-3 and the author is in a unique position to document this experience to help and guide new users.
  • And an associated web site that contains code samples from the book and links to the relevant standards documents.

This book provides the perfect companion to the available TTCN-3 language standards filling the gaps in areas such as style guide, structuring, and pointing out the dangers or pitfalls based on the author’s personal TTCN-3 experience from language standardization, tool implementation and applying TTCN-3 for a number of years in the real world. The style and level of the book make it suitable for both engineers learning and applying the language in the real world and students learning TTCN-3 as part of their studies.

About the Authors.



List of Figures.

List of Tables.

Abbreviations and Acronyms.

1 Introduction.

1.1 TTCN-3 as a Language.

1.2 The Development of TTCN-3.

1.3 Summary.

2 TTCN-3 by Example.

2.1 TTCN-3 Test Suite.

2.2 TTCN-3 Test Systems.

2.3 Summary.

3 Basic TTCN-3.

3.1 Basic Constructs.

3.2 Basic Statements.

3.3 Summary.

4 Non-concurrent TTCN-3.

4.1 Ports.

4.2 Components.

4.3 Test Cases.

4.4 Templates.

4.5 Message-based Communication.

4.6 Timers.

4.7 Alt Statement.

4.8 Altsteps.

4.9 Default Altsteps.

4.10 Functions.

4.11 Summary.

5 Concurrent TTCN-3.

5.1 Concurrent Test Case Example.

5.2 Test Components.

5.3 Mappings and Connections.

5.4 Miscellaneous Port Operations.

5.5 SUT Addresses.

5.6 Summary.

6 Procedure-based Communication.

6.1 Procedure-Versus Message-based Communication.

6.2 An Example – the Directory Service.

6.3 Procedure-based Communication in TTCN-3.

6.4 Communication Operations.

6.5 Procedure-based Communication on the Client Side.

6.6 Procedure-based Communication on the Server Side.

6.7 Addressing.

6.8 Summary.

7 Modular TTCN-3.

7.1 Modules.

7.2 Group Definitions.

7.3 Importing.

7.4 Module Parameters.

7.5 Attributes.

7.6 Summary.

8 TTCN-3 Data Types.

8.1 The Session Initiation Protocol.

8.2 Subtyping.

8.3 TTCN-3 Built-in Types.

8.4 User-defined Types.

8.5 Summary.

9 Advanced Type Topics.

9.1 Type Compatibility.

9.2 The Anytype Type.

9.3 The Address Type.

9.4 Recursive Type Definitions.

9.5 Foreign Type Systems.

9.6 Summary.

10 Templates.

10.1 A First Look at TTCN-3 Templates.

10.2 The TTCN-3 Match Operation.

10.3 Template Definition for One Specific Value.

10.4 Template Definitions with Matching Expressions.

10.5 Template Definitions for Signatures.

10.6 About Assignment, Access of Templates, and the Valueof Operation.

10.7 Summary.

11 Advanced Templates.

11.1 Template Definitions for Complex Type Structures.

11.2 Template References.

11.3 Template Parameterization.

11.4 Selective Modification of Other Templates.

11.5 Explicit Versus Implicit Template Definitions.

11.6 Structuring of Template Definitions for Complex Types.

11.7 Summary.

12 TTCN-3 Test Systems in Practice.

12.1 The Anatomy of a TTCN-3 Test System.

12.2 Test System Execution of a Simple Test Case.

12.3 More About The SUT Adapter.

12.4 More About The Platform Adapter.

12.5 More About External Codecs.

12.6 Conclusion.

13 Advice and Examples.

13.1 TTCN-3 Style Guide.

13.2 Suggestions for Modularization.

13.3 Template Specification for Complex Message Definitions.

13.4 Useful Behaviour.

13.5 Synchronizing Parallel Test Components.

14 Closing Thoughts and Future Directions.