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.
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.