Muutke küpsiste eelistusi

E-raamat: Introduction to TTCN-3 - 2e: Second Edition 2nd Edition [Wiley Online]

(Nokia GmbH), (Nokia), (Nokia GmbH), (Nokia GmbH), (Conformiq), (Nokia GmbH), Foreword by
  • Formaat: 352 pages
  • Ilmumisaeg: 18-Feb-2011
  • Kirjastus: John Wiley & Sons Inc
  • ISBN-10: 470977906
  • ISBN-13: 9780470977903
  • Wiley Online
  • Hind: 124,76 €*
  • * hind, mis tagab piiramatu üheaegsete kasutajate arvuga ligipääsu piiramatuks ajaks
  • Formaat: 352 pages
  • Ilmumisaeg: 18-Feb-2011
  • Kirjastus: John Wiley & Sons Inc
  • ISBN-10: 470977906
  • ISBN-13: 9780470977903
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
xiii
List of Tables
xv
About the Authors xxiii
Foreword xxv
Preface xxvii
Acknowledgements xxix
Abbreviations and Acronyms xxxi
1 Introduction
1(6)
1.1 TTCN-3 as a Language
3(2)
1.2 The Development of TTCN-3
5(1)
1.2.1 Future Development
6(1)
1.3 Summary
6(1)
2 TTCN-3 by Example
7(18)
2.1 TTCN-3 Test Suite
7(14)
2.1.1 Problem Domain
7(2)
2.1.2 Test Purpose
9(1)
2.1.3 TTCN-3 Modules
10(1)
2.1.4 Data Types and Messages
10(3)
2.1.5 Components and Ports
13(1)
2.1.6 A First Test Case
14(1)
2.1.7 Handling Erroneous Situations
15(1)
2.1.8 Default Behaviour
16(1)
2.1.9 Multi Component TTCN-3
17(2)
2.1.10 Procedure-Based Communication
19(2)
2.2 TTCN-3 Test Systems
21(3)
2.2.1 High-Lev el View of a Test System
23(1)
2.3 Summary
24(1)
3 Basic TTCN-3
25(20)
3.1 Basic Constructs
25(9)
3.1.1 Identifiers
25(1)
3.1.2 Modules
26(1)
3.1.3 Scope
26(1)
3.1.4 Constants
27(1)
3.1.5 Variables
28(1)
3.1.6 Comments
28(1)
3.1.7 Basic Data Types
28(1)
3.1.8 Subtypes
29(1)
5.7.9 Functions
30(2)
3.1.10 Pre-Defined Functions
32(1)
3.1.11 Parameters with Default Values
32(2)
3.2 Basic Statements
34(10)
3.2.1 Operators, Expressions and Assignments
34(2)
3.2.2 The Conditional Statements
36(1)
3.2.3 Loops
36(3)
3.2.4 Labels and Goto
39(1)
3.2.5 The log Statement
39(1)
3.2.6 The Control Part
40(2)
3.2.7 Preprocessing Macros
42(2)
3.3 Summary
44(1)
4 Single Component TTCN-3
45(32)
4.1 Ports
46(1)
4.2 Components
47(1)
4.3 Test Cases
48(6)
4.3.1 Main Test Component
48(1)
4.3.2 Test Case Verdict
49(1)
4.3.3 Test Case Invocation
50(2)
4.3.4 Test Case Parameters
52(1)
4.3.5 Test Case Behaviour
53(1)
4.3.6 Test Case Termination
53(1)
4.4 Templates
54(1)
4.5 Message-Based Communication
55(4)
4.5.1 Send
55(1)
4.5.2 Receive
56(1)
4.5.3 Check
57(2)
4.5.4 Receive on Several Ports
59(1)
4.6 Timers
59(3)
4.7 Alt Statement
62(4)
4.7.1 Boolean Guards
64(1)
4.7.2 Repeat Statement
65(1)
4.7.3 Alt Statements vs. Stand-Alone Blocking Statements
65(1)
4.8 Altsteps
66(3)
4.9 Default Altsteps
69(4)
4.10 Functions
73(3)
4.10.1 Restrictions on the Runs on Clause
75(1)
4.11 Summary
76(1)
5 Multi Component TTCN-3
77(22)
5.1 Multi Component Test Case Example
78(1)
5.2 Test Components
79(10)
5.2.1 Main Test Component and Test System Interface
79(2)
5.2.2 Parallel Test Components
81(1)
5.2.3 Creation of Test Components
81(2)
5.2.4 Alive Test Components
83(1)
5.2.5 Component References
83(3)
5.2.6 Stopping Parallel Test Components
86(1)
5.2.7 Await Termination of Test Components
87(1)
5.2.8 Checking Execution Status of Test Components
87(2)
5.2.9 Verdict Computation
89(1)
5.3 Mappings and Connections
89(5)
5.3.1 Mappings
89(2)
5.3.2 Connections
91(1)
5.3.3 Many-to-One Mappings and Connections
91(3)
5.4 Component Type Extension
94(1)
5.5 Miscellaneous Port Operations
94(1)
5.6 SUT Addresses
95(1)
5.7 Putting the Pieces Together
95(3)
5.8 Summary
98(1)
6 Procedure-Based Communication
99(22)
6.1 Procedure- versus Message-Based Communication
99(1)
6.2 An Example -- the Directory Service
100(1)
6.3 Procedure-Based Communication in TTCN-3
100(3)
6.3.1 Non-Blocking Signatures
103(1)
6.4 Communication Operations
103(1)
6.5 Procedure-Based Communication on the Client Side
104(9)
6.5.1 The call Statement
104(1)
6.5.2 The getreply Operation
105(2)
6.5.3 The catch Operation
107(1)
6.5.4 On Defaults, Deadlocks and Timed Invocations
108(2)
6.5.5 Non-Blocking Use of the call Operation
110(3)
6.6 Procedure-Based Communication on the Server Side
113(3)
6.6.1 The getcall Operation
113(2)
6.6.2 The reply Operation
115(1)
6.6.3 The raise Operation
116(1)
6.7 Addressing
116(3)
6.8 Summary
119(2)
7 Modular TTCN-3
121(18)
7.1 Modules
122(1)
7.1.1 Definition of a Module
122(1)
7.1.2 Modularisation of TTCN-3 Test Suites
123(1)
7.2 Group Definitions
123(1)
7.3 Importing
124(7)
7.3.1 Visibility of TTCN-3 Definitions
125(1)
7.3.2 About Transitivity of Imports and Cyclic Imports
126(1)
7.3.3 Restricting the Import of TTCN-3 Definitions
127(3)
7.3.4 Module Prefixing of Imported Definitions
130(1)
7.3.5 Transitive Import
131(1)
7.3.6 Importing from Other Languages
131(1)
7.4 Module Parameters
131(1)
7.5 Attributes
132(5)
7.5.7 Accessing Attribute Values
133(1)
7.5.2 Scoping of Attributes
134(1)
7.5.3 Assigning Attributes to Imported Definitions
135(1)
7.5.4 Using Attributes to Define Encodings
135(2)
7.6 Summary
137(2)
8 TTCN-3 Data Types
139(34)
8.1 The Session Initiation Protocol
140(1)
8.2 Subtyping
141(6)
8.2.1 Type Aliasing
142(1)
8.2.2 Value List
143(1)
8.2.3 Value Ranges
143(1)
8.2.4 Field Value Restriction for Structured Types
144(1)
8.2.5 Type Lists
145(1)
8.2.6 Character Set Restrictions for Strings
145(1)
8.2.7 Length Restrictions for Strings and List Types
145(2)
8.2.8 Subtyping of Subtypes
147(1)
8.2.9 Type Conversion
147(1)
8.3 TTCN-3 Built-in Types
147(8)
8.3.1 The Boolean Type
148(1)
8.3.2 The Integer Type
148(2)
8.3.3 The Float Type
150(1)
8.3.4 The Charstring and the Universal Charstring Type
151(2)
8.3.5 The Verdicttype Type
153(1)
8.3.6 The Binary String Types Bitstring, Hexstring and Octetstring
153(2)
8.3.7 The Default Type
155(1)
8.4 User-Defined Types
155(13)
8.4.1 The Enumerated Type
156(1)
8.4.2 The Record Type
156(4)
8.4.3 The Set Type
160(1)
8.4.4 The Union Type
160(2)
8.4.5 The List Types
162(6)
8.5 Nested Type Definitions
168(1)
8.6 Encoding and Decoding of Data
169(1)
8.7 Summary
170(3)
9 Advanced Type Topics
173(24)
9.1 Type Compatibility
173(4)
9.1.1 Strict Type Compatibility
174(2)
9.1.2 Type Compatibility for Structured and Special Types
176(1)
9.2 The Anytype Type
177(4)
9.2.1 Using the any type for Generic Protocol Definitions and Data Types
180(1)
9.3 The Address Type
181(1)
9.4 Recursive Type Definitions
182(3)
9.5 Foreign Type Systems
185(10)
9.5.1 Using ASN. 1 Types in TTCN-3
186(4)
9.5.2 Using IDL Types in TTCN-3
190(1)
9.5.3 Mapping XML to TTCN-3
191(4)
9.6 Summary
195(2)
10 Templates
197(24)
10.1 A First Look at TTCN-3 Templates
197(2)
10.2 The TTCN-3 Match Operation
199(1)
10.3 Template Definition for One Specific Value
200(1)
10.4 Template Definitions with Matching Expressions
201(13)
10.4.1 The `any' Matching Expression
201(1)
10.4.2 Value Lists
201(1)
10.4.3 Complemented Value List
202(1)
10.4.4 Value Ranges
202(2)
10.4.5 More about Matching Expression for Structured Types
204(2)
10.4.6 More about Matching Expressions for List-Like Types
206(4)
10.4.7 More about Matching Expressions for String Types
210(4)
10.5 Template Definitions for Signatures
214(3)
10.6 Assignment, Access of Templates and the Pre-Defined Functions Isvalue and Valueof
217(2)
10.7 Summary
219(2)
11 Advanced Templates
221(12)
11.1 Template Definitions for Complex Type Structures
221(2)
11.2 Template References
223(1)
11.3 Template Parameterisation
224(1)
11.3.1 Value Parameters
224(1)
11.3.2 Template Parameters
224(1)
11.3.3 About the Use of Template Parameterisation
225(1)
11.4 Selective Modification of Other Templates
225(2)
11.5 Explicit versus Implicit Template Definitions
227(1)
11.6 Restricting Template Usage
228(1)
11.7 Template Variables and Computing Functions
229(1)
11.8 Structuring of Template Definitions for Complex Types
230(1)
11.9 Summary
231(2)
12 Extension Packages
233(12)
12.1 Static Test Configurations
234(3)
12.2 Real-Time in TTCN-3
237(1)
12.3 Type Parameterisation
238(3)
12.3.1 Value Parameterisation of Types
238(2)
12.3.2 Types as Parameters
240(1)
12.4 Behaviour Types
241(3)
12.5 Summary
244(1)
13 TTCN-3 Test Systems in Practice
245(18)
13.1 The Anatomy of a TTCN-3 Test System
245(2)
13.1.1 The TTCN-3 Executable
247(1)
13.2 Test System Execution of a Simple Test Case
247(6)
13.2.1 Test System and Test Case Initialisation
247(1)
13.2.2 Preparation of Communication Channels towards the SUT
248(2)
13.2.3 Handling of Communication towards the SUT
250(1)
13.2.4 Starting of TTCN-3 Timers
250(1)
13.2.5 Handling Incoming Communication from the SUT
251(1)
13.2.6 Handling Timeouts and Stopping of Timers
252(1)
13.2.7 Teardown of Communication Channels towards the SUT
252(1)
13.3 More about the SUT Adapter
253(3)
13.3.1 Execution Threads in the SA
253(1)
13.3.2 Management of TRI Information
254(1)
13.3.3 Procedure-Based Communication with the SUT
254(1)
13.3.4 Dynamic SUT Adapter Configuration
254(1)
13.3.5 Distributed SUT Adapter Implementations
255(1)
13.4 More about the Platform Adapter
256(1)
13.4.1 TRI Timing Operations
256(1)
13.4.2 Non-Real-Time Implementation
256(1)
13.4.3 External Functions
256(1)
13.5 More about External Codecs
257(3)
13.5.1 Access to the TTCN-3 Values
257(1)
13.5.2 Encoder Implementation
258(1)
13.5.3 Decoder Implementation
259(1)
13.5.4 Advanced Aspects of Codec Implementations
259(1)
13.6 Documentation Comments
260(1)
13.7 Summary
261(2)
14 Frameworks
263(8)
14.1 Frameworks and Test Suites
263(1)
14.2 TTCN-3 Libraries
264(1)
14.3 Design of Frameworks
265(1)
14.4 Example: the IPv6 Testing Framework
265(1)
14.4.1 Module Structure and Identifiers
265(1)
14.4.2 Test Case Functions
266(1)
14.4.3 Test Purpose Functions
267(2)
14.4.4 Protocol Library Functions
269(1)
14.5 Summary
269(2)
15 Advice and Examples
271(30)
15.1 TTCN-3 Style Guide
271(3)
15.1.1 Motivation
271(1)
15.1.2 Examples
272(2)
15.2 Suggestions for Modularisation
274(2)
15.3 Template Specification for Complex Message Definitions
276(7)
15.3.1 Example Implementation of a SIP Message Interchange
277(1)
15.3.2 A SIP Type Definition
277(1)
15.3.3 Specification of the Expected S/P Request
278(1)
15.3.4 Specification of the 200 OK Response
278(3)
15.3.5 About the Benefits of Smart Template Definitions
281(2)
15.4 Useful Behaviour
283(5)
15.4.1 Convert Conditions to Verdicts
283(1)
15.4.2 Unexpected Messages
283(2)
15.4.3 Waiting
285(1)
15.4.4 Successful Altstep
286(1)
15.4.5 Additional String Conversion Functions
287(1)
15.4.6 Binary Addition
288(1)
15.5 Test Component Synchronisation
288(13)
15.5.1 Synchronisation with Alive Components
291(1)
15.5.2 Synchronisation via a Protocol
292(9)
16 LTE Testing with TTCN-3
301(10)
16.1 LTE Description
301(1)
16.2 LTE Test Suite
302(7)
16.2.1 Test System Overview
302(1)
16.2.2 LTE Test Suite Overview
303(1)
16.2.3 Test Case Definitions
304(1)
16.2.4 Test Behaviour Definition
305(1)
16.2.5 EUTRA Parallel Test Component
305(1)
16.2.6 Test Suite Module Structure
305(2)
16.2.1 RRC Message Definitions
307(2)
16.3 Summary
309(2)
17 Closing Thoughts and Future Directions
311(2)
References 313(2)
Index 315
Colin Willcock is a Research Manager at Nokia Research center. He is currently working on testing methodology, tool development and standardization. He is part of the core ETSI team which developed the TTCN-3 language. As well as extensive participation at ETSI, ITU-T and 3GPP standardization, he has worked on a part-time basis at ETSI for the last 6 years on specialist task forces. He has also in the past been the raporteur for the ITU-T Z.105 standard (use of SDL with ASN.1) and a member of the joint ISO/ITU-T ASN.1 experts group.