Nyberg, A., & Kärki, M. 2006, May 31–June 2, Introduction to the C/C++ to TTCN-3 mapping. Unpublished paper presented at ETSI TTCN-3 User Conference 2006, Berlin (Germany).
Added by: Deleted user (7/9/08, 11:39 AM) Last edited by: Deleted user (8/13/08, 2:25 PM)
|Resource type: Conference Paper
BibTeX citation key: Nyberga
View all bibliographic details
Creators: Kärki, Nyberg
Publisher: Fraunhofer FOKUS, ETSI (Berlin (Germany))
Collection: ETSI TTCN-3 User Conference 2006
The Test and Test Control Notation version three (TTCN-3) has so far been applied mainly in the telecom domain for functional conformance testing. In the context of the TT-medal project advances have been made to apply TTCN-3 in railway, financial, and automotive domains. The applicability of TTCN-3 to other testing domains can be extended further. For instance by using procedure-based communication and interfacing directly with C and C++ software. TTCN-3 can then be introduced to the testing process in an early phase.
For detailed testing of software written in C and C++ there needs to be a representation of the interface under test in TTCN-3. The current version of TTCN makes it possible to define such an explicit mapping from such interfaces. However there are several issues that have to be addressed when mapping interfaces implemented in ordinary programming languages in to TTCN-3. The majority of the interfaces can be mapped to TTCN-3 in a rather straight forward manner, while aspects such as encapsulation, overloading, inheritance and polymorphism needs more work due to the lack of object oriented concepts in TTCN-3.
Furthermore, in the case of C and C++ languages there is yet another aspect that needs to be addressed; pointer types and pointer handling which both are integral parts of C and C++ programming while TTCN-3 lacks the concept of pointers. The background and the obstacles of the mappings are presented in the first section.
C and C++ programming differs significantly from TTCN-3 and defining a mapping that overcomes these differences requires explanations. At ETSI a standard for a C and C++ mapping is currently under construction. We will in this second section exemplify a selected set of the mappings with code examples that clarifies the intent of the proposed mappings in the upcoming standards. The solutions to previously stated obstacles are given and illustrated with examples.
The mappings might add extra complexity and decrease the productivity if the mappings are not well understood or if the test suites are not implemented in a systematic way. The test suites have to be well structured and modularized to be able to implement complex test cases efficiently in new test areas. This third section addresses amongst others usage of the pointer mappings and how to factorize the test suite code from a test suite writer’s point of view. Examples will be presented providing and clarifying clear structured test steps which can be combined for enhanced productivity and simplicity.
Added by: Deleted user Last edited by: Deleted user