An Introduction to TTCN-3
This unique book provides a fully revised and up-to-date treatment of the TTCN-3 language

TTCN-3 is an internationally standardised test language with a powerful textual syntax which has established itself as a global, universal testing language. Application of TTCN-3 has been widened beyond telecommunication systems to areas such as the automotive industry, internet protocols, railway signalling, medical systems, and avionics.

An Introduction to TTCN-3 gives a solid introduction to the TTCN-3 language and its uses, guiding readers though the TTCN-3 standards, methodologies and tools with examples and advice based on the authors' extensive real-world experience. All the important concepts and constructs of the language are explained in a step-by-step, tutorial style, and the authors relate the testing language to the overall test system implementation, giving the bigger picture.

This second edition of the book has been updated and revised to cover the additions, changes and extensions to the TTCN-3 language since the first version was published. In addition, this book provides new material on the use of XML, test framework design and LTE testing with TTCN-3.

Key Features:

  • Provides a fully revised and up-to-date look at the TTCN-3 language
  • Addresses language standardization, tool implementation and applying TTCN-3 in real world scenarios such as VoIP and LTE testing
  • Explores recent advances such as TTCN-3 core language extensions on type parameterization, behavior types, real time and performance testing
  • Introduces the use of ASN.1 and XML with TTCN-3
  • Written by experts in the field
  • Includes an accompanying website containing code samples and links to the relevant standards documents (www.wiley.com/go/willcock_ttcn-3_2e)

This book is an ideal reference for test engineers, software developers, and standards professionals. Graduate students studying telecommunications and software engineering will also find this book insightful.

1100294726
An Introduction to TTCN-3
This unique book provides a fully revised and up-to-date treatment of the TTCN-3 language

TTCN-3 is an internationally standardised test language with a powerful textual syntax which has established itself as a global, universal testing language. Application of TTCN-3 has been widened beyond telecommunication systems to areas such as the automotive industry, internet protocols, railway signalling, medical systems, and avionics.

An Introduction to TTCN-3 gives a solid introduction to the TTCN-3 language and its uses, guiding readers though the TTCN-3 standards, methodologies and tools with examples and advice based on the authors' extensive real-world experience. All the important concepts and constructs of the language are explained in a step-by-step, tutorial style, and the authors relate the testing language to the overall test system implementation, giving the bigger picture.

This second edition of the book has been updated and revised to cover the additions, changes and extensions to the TTCN-3 language since the first version was published. In addition, this book provides new material on the use of XML, test framework design and LTE testing with TTCN-3.

Key Features:

  • Provides a fully revised and up-to-date look at the TTCN-3 language
  • Addresses language standardization, tool implementation and applying TTCN-3 in real world scenarios such as VoIP and LTE testing
  • Explores recent advances such as TTCN-3 core language extensions on type parameterization, behavior types, real time and performance testing
  • Introduces the use of ASN.1 and XML with TTCN-3
  • Written by experts in the field
  • Includes an accompanying website containing code samples and links to the relevant standards documents (www.wiley.com/go/willcock_ttcn-3_2e)

This book is an ideal reference for test engineers, software developers, and standards professionals. Graduate students studying telecommunications and software engineering will also find this book insightful.

88.0 In Stock
An Introduction to TTCN-3

An Introduction to TTCN-3

An Introduction to TTCN-3

An Introduction to TTCN-3

eBook

$88.00 

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers

LEND ME® See Details

Overview

This unique book provides a fully revised and up-to-date treatment of the TTCN-3 language

TTCN-3 is an internationally standardised test language with a powerful textual syntax which has established itself as a global, universal testing language. Application of TTCN-3 has been widened beyond telecommunication systems to areas such as the automotive industry, internet protocols, railway signalling, medical systems, and avionics.

An Introduction to TTCN-3 gives a solid introduction to the TTCN-3 language and its uses, guiding readers though the TTCN-3 standards, methodologies and tools with examples and advice based on the authors' extensive real-world experience. All the important concepts and constructs of the language are explained in a step-by-step, tutorial style, and the authors relate the testing language to the overall test system implementation, giving the bigger picture.

This second edition of the book has been updated and revised to cover the additions, changes and extensions to the TTCN-3 language since the first version was published. In addition, this book provides new material on the use of XML, test framework design and LTE testing with TTCN-3.

Key Features:

  • Provides a fully revised and up-to-date look at the TTCN-3 language
  • Addresses language standardization, tool implementation and applying TTCN-3 in real world scenarios such as VoIP and LTE testing
  • Explores recent advances such as TTCN-3 core language extensions on type parameterization, behavior types, real time and performance testing
  • Introduces the use of ASN.1 and XML with TTCN-3
  • Written by experts in the field
  • Includes an accompanying website containing code samples and links to the relevant standards documents (www.wiley.com/go/willcock_ttcn-3_2e)

This book is an ideal reference for test engineers, software developers, and standards professionals. Graduate students studying telecommunications and software engineering will also find this book insightful.


Product Details

ISBN-13: 9780470977897
Publisher: Wiley
Publication date: 03/01/2011
Sold by: JOHN WILEY & SONS
Format: eBook
Pages: 352
File size: 3 MB

About the Author

Colin Willcock is a Senior Research Manager at Nokia Research Center. He received a BSc from Sheffield University in 1986, an MSc from Edinburgh University in 1987, and a PhD in parallel computation from the University of Kent in 1992. Colin was part of the core ETSI team that developed the TTCN-3 language and is currently participating in TTCN-3 language maintenance. In the past, he has worked on numerous standardization efforts at ETSI, ITU-T, and 3GPP, focusing on various aspects of formal specification languages. He is currently leading the European TT-medal project, which strives to improve test methodology and languages for software-intensive systems. Within Nokia, he works as competence area manager for modelling and engineering methods.

Thomas Deiß is a Principal Scientist at Nokia Research Center. He received an MSc in Computer Science and a PhD in Natural Sciences from the University of Kaiserslautern in 1990 and 1999. He is currently working in the area of testingmobile communication systems with TTCN-2 and TTCN-3. Thomas has been developing TTCN-3-based test systems, has developed course materials and taught courses about TTCN-3, and has contributed to TTCN-3 standardization. He is a contributor to the European TT-medal project, which strives to improve test methodology and languages for software-intensive systems.

Until March 2005, Stephan Tobies has worked as a Senior Research Engineer at Nokia Research Center. He received an MSc in Computer Science and a PhD in Natural Sciences from the University of Technology in Aachen in 1998 and 2001. He has been a member of ETSI Strategic Task Force 253, which is responsible for the maintenance and extension of the TTCN-3 standard. He has been a leading developer of an industry-grade TTCN-3 tool and has been working in the area of TTCN-3 language development and test system implementation. Stephan is now working for the European Microsoft Innovation Center.

Stefan Keil is a Research Engineer at Nokia Research Center. He received an MSc in Electrical Engineering from the Ruhr University in Bochum in 1996. Stefan has worked for Alcatel as a programmer in the field of fixed line communications and a technical trainer for broadband communication fibre technology. Since 2000 he has been working for Nokia in the area of test system implementation, TTCN-3 tool development, and training.

Until December 2004, Federico Engler has been a Principal Engineer at Nokia Research Center. He studied computer science at Uppsala University from 1989 till 1993. After that, he started working for Telelogic, where he was involved in standardization issues around TTCN-2, TTCN-3, and ASN.1, as well as TTCN-3 tool development. In January 2003, Federico started working for Nokia in the area of automated test solutions, which involved the mapping, documentation, and synchronization of testrelated activities at a Nokia-wide level.He has also been involved in activities around improved visualization and documentation of tests and test results within Nokia.

Stephan Schulz is a Senior Research Engineer at Nokia Research Center. He received a BSc in Electrical Engineering from State University of New York at Binghamton in 1995 and an MSc and PhD in Computer Engineering from University of Arizona at Tucson in 1997 and 2001. He has been an editor of the TTCN-3 Runtime Interface (TRI) standard and hasmade a number of contributions in the field of TTCN-3-based text-based protocol testing. Stephan has been developing and teaching TTCN-3 courses for Nokia engineers. Currently, he is one of the main architects in the ETSI design team of a TTCN-3 IPv6 testing library.

Read an Excerpt

An Introduction to TTCN-3


By C. Willcock T. Deiss S. Tobies S. Keil F. Engler S. Schulz

John Wiley & Sons

Copyright © 2005 John Wiley & Sons, Ltd.
All right reserved.

ISBN: 0-470-01224-2


Chapter One

Introduction

The Testing and Test Control Notation Version 3 (TTCN-3) is an internationally standardized language for defining test specifications for a wide range of computer and telecommunication systems. It allows the concise description of test behaviour by unambiguously defining the meaning of a test case pass or fail. The predecessor of TTCN-3, TTCN-2, has been used successfully for over a decade, mostly in testing telecommunications systems. In this third revision of TTCN, the best parts of the previous testing language have been combined and extended with a powerful new textual syntax to create a universal testing language whose application area is no longer restricted to testing telecommunication systems.

This book provides a solid introduction to the TTCN-3 language and its use. All the important concepts and constructs of the language are explained in a tutorial style, with the emphasis on extensive examples. This book also introduces the larger picture of how the testing language is related to the overall task of test system implementation. By doing so, it becomes the perfect companion to the available TTCN-3 language standards, filling the gaps like style guide, structuring, and application. In addition, this book points out the dangers and pitfalls of TTCN-3 on the basis of our 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 this 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. Although this book is intended to be accessible to a wide audience, it does assume that the reader has some basic knowledge of software programming.

This book is structured to present concepts in an order that offers the quickest start to the efficient use of the TTCN-3 language. In Sections 1.1 and 1.2, we discuss the advantages of using TTCN-3. Chapter 2 then goes on to introduce a complete example to get a first hands-on impression of the language and lists all the additional parts that are necessary to transform the TTCN-3 code into a working test system. In Chapter 3, we then move on to present the basic language concepts of TTCN-3, including basic types, operators, and expressions, as well as the language constructs for control flow. In Chapter 4, the subject of test specification in TTCN-3 is considering in more detail by discussing the language constructs that are most commonly used for non-concurrent testing. Test cases, test verdicts, and message-based communication are a few of the topics that are considered. Concurrent TTCN-3 is described in Chapter 5, the key issues considered are the usage and synchronization aspects of test components. The importance of procedure-based communication is highlighted by providing a separate chapter, Chapter 6, which provides an in-depth discussion of this communication paradigm. Chapter 7 considers the issue of modularity, which is needed to address the issues of code re-usability as well as multi-user development. Chapter 8 provides a thorough introduction to the TTCN-3 type system, leaving more complex type topics such as external type systems to Chapter 9. Templates and advanced aspects of their use are brought up in Chapters 10 and 11. With all the language parts described in detail, Chapter 12 rounds off the book by providing a detailed description of how TTCN-3 test systems work in practice. Finally, Chapter 13 can be seen as a utility chapter that provides a collection of code examples and common sense advice.

1.1 TTCN-3 AS A LANGUAGE

TTCN-3 is a language designed specifically for testing. Many constructs are similar to those in other programming languages but are extended with additional concepts not available elsewhere. These concepts include built-in data matching, distributed test system architecture, and concurrent execution of test components. TTCN-3 has a larger type system than normal programming languages and includes native types for lists, test verdicts, and test system components. In addition, TTCN-3 provides direct support for timers as well as for message-based and procedure-based communication mechanisms.

TTCN-3 is an internationally standardized test language. Within these documents, the meaning of each and every language element is clearly and precisely specified. Thismeans that a test script written in TTCN-3 is unambiguous. This precise definition of the language also leads to tool vendor independence, since every tool should execute a given test case in exactly the same way. Tool vendor independence facilitates easy moving from one TTCN-3 toolset to another and greatly helps in testing projects where test tools from different vendors are used in parallel. The language is designed to provide a single general-purpose testing language suitable for a wide range of testing applications. It can be used across the whole product development cycle. In this way, TTCN-3 can provide major benefits in terms of return on investment in testing tools, training, and, naturally, product quality.

At its heart, TTCN-3 has a powerful, intuitive textual format for defining test scenarios that is similar to conventional procedural programming languages. This textual format is referred to as the TTCN-3 core notation. This book concentrates on this core notation, with the following chapters describing in detail its syntax and use. In addition to the core notation, TTCN-3 also supports the specification of test scenarios using other presentation formats.

1.1.1 TTCN-3 Presentation Formats

A TTCN-3 presentation format provides an alternative way of specifying test scenarios visually or in a context-specific manner. All presentation formats can be converted into the core notation while preserving their meaning. This allows the same compiler and run-time execution environment to be used regardless of which presentation format the different tests where specified in. The relationship between presentation formats and the core language is shown in Figure 1.1.

Presentation formats can be standardized formats, as in the cases of the tabular presentation format shown in Figure 1.2 and the graphical presentation format shown in Figure 1.3, or they can be purely tool-, vendor-, or application area-specific. The standardized tabular presentation format was designed to give the test developers the "look and feel" of the existing TTCN-2 tabular format. This format was introduced to provide an easy migration path for existing TTCN-2 users into the TTCN-3 world.

The graphical presentation format uses an extended version of an MSC-like notation for specifying test scenario behaviour.

1.2 THE DEVELOPMENT OF TTCN-3

The direct predecessor of TTCN-3, TTCN-2, was developed by ISO as part of the overall methodology for testing protocol layers in the Open Systems Interconnection (OSI) seven-layer architecture. TTCN-2 was first standardized in the late 80s by ITU-T and ISO. It has been successfully applied within the area of conformance testing for telecommunications protocols. Nevertheless, a number of problems and shortcomings were limiting its possibilities to be used as a more general purpose testing language. In 1998, ETSI, the European Telecommunication Standardisation Institute, set up the Specialist Task Force (STF) 133 to develop a new improved version of TTCN, taking the known issues into account. This action resulted in the birth of TTCN-3. Over the following two years, the TTCN-3 language was developed with the involvement and input of most of the major tools and telecommunication companies. The official launch of the TTCN-3 language took place in October 2000 at Sophia Antipolis, France.

When developing TTCN-3, four major areas of improvement needed to be considered and addressed in relation to TTCN-2. These areas were productivity, expressive power, flexibility, and extensibility.

The aspect of productivity was simply addressed by developing the core language to resemble other well-known, modern programming languages. By making TTCN-3 a textual language, it made it easier for users to edit and learn the new concepts. TTCN-3 also provides significantly extended functionality that makes the language powerful and suitable for a wider range of testing applications. Some of these extensions include better support of new types of testing such as special constructs and features for the testing of IP-based systems and text-based protocols like SIP. Another major extension provides support for testing of procedure-based systems, something that opens the door to software module testing and the testing of CORBA-based systems.

Finally, TTCN-3 is extensible: TTCN-3 has explicit hooks and mechanisms built-in to the language that allow new features and notations to be easily integrated. Examples of these extension mechanisms can be found in the standardization work involving the IDL and XML integrations into the TTCN-3 language.

1.2.1 Future Development

TTCN-3 was designed to be a general-purpose testing language that could be used in many application areas. With time, this has spread its usage into many new fields where standardized testing languages have not been used before. Using TTCN-3 in these new areas has generated requests for additions to the language that can provide better support for testing requirements from domains such as real-time testing and performance testing.

TTCN-3 is actively maintained though a well-defined change request process handled by ETSI. The change request process provides a mechanism to balance the needs for stability and backwards compatibility with the calls for extended functionality from new users.

1.3 SUMMARY

In this introduction, we have briefly presented the background and most important concepts of TTCN-3. We have seen that the language has a long history, which originates from the world of telecommunications. In the past decade, the worlds of telecommunications and the Internet have moved much closer together and the systems to be tested are constantly becoming more dynamic and complex in their nature. To meet these new challenges, the existing standardized test language, TTCN-2, was re-designed and extended to result in TTCN-3. The following chapter introduces an example that, even though simple in nature, contains many of the testing issues found in modern communicating systems.

(Continues...)



Excerpted from An Introduction to TTCN-3 by C. Willcock T. Deiss S. Tobies S. Keil F. Engler S. Schulz Copyright © 2005 by John Wiley & Sons, Ltd.. Excerpted by permission.
All rights reserved. No part of this excerpt may be reproduced or reprinted without permission in writing from the publisher.
Excerpts are provided by Dial-A-Book Inc. solely for the personal use of visitors to this web site.

Table of Contents

List of Figures.

List of Tables.

About the Authors.

Foreword.

Preface.

Acknowledgements.

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 Single Component 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 Multi Component TTCN-3.

5.1 Multi Component Test Case Example.

5.2 Test Components.

5.3 Mappings and Connections.

5.4 Component Type Extension.

5.5 Miscellaneous Port Operations.

5.6 SUT Addresses.

5.7 Putting the Pieces Together.

5.8 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 Nested Type Definitions.

8.6 Encoding and Decoding of Data.

8.7 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 Assignment, Access of Templates and the Pre-Defined Functions Isvalue and Valueof.

10.7 Summary.

11 Advanced Templates.

11.1 Template Definitions for Complex Type Structures.

11.2 Template References.

11.3 Template Parameterisation.

11.4 Selective Modification of Other Templates.

11.5 Explicit versus Implicit Template Definitions.

11.6 Restricting Template Usage.

11.7 Template Variables and Computing Functions.

11.8 Structuring of Template Definitions for Complex Types.

11.9 Summary.

12 Extension Packages.

12.1 Static Test Configurations.

12.2 Real-Time in TTCN-3.

12.3 Type Parameterisation.

12.4 Behaviour Types.

12.5 Summary.

13 TTCN-3 Test Systems in Practice.

13.1 The Anatomy of a TTCN-3 Test System.

13.2 Test System Execution of a Simple Test Case.

13.3 More about the SUT Adapter.

13.4 More about the Platform Adapter.

13.5 More about External Codecs.

13.6 Documentation Comments.

13.7 Summary.

14 Frameworks.

14.1 Frameworks and Test Suites.

14.2 TTCN-3 Libraries.

14.3 Design of Frameworks.

14.4 Example: the IPv6 Testing Framework.

14.5 Summary.

15 Advice and Examples.

15.1 TTCN-3 Style Guide.

15.2 Suggestions for Modularisation.

15.3 Template Specification for Complex Message Definitions.

15.4 Useful Behaviour.

15.5 Test Component Synchronisation.

16 LTE Testing with TTCN-3.

16.1 LTE Description.

16.2 LTE Test Suite.

16.3 Summary.

17 Closing Thoughts and Future Directions.

References.

Index.

From the B&N Reads Blog

Customer Reviews