Software testing is becoming a more and more important
and challenging part of software development nowadays.
Since the complexity and size of software is growing day
by day, software developers must concentrate increasingly
on testing, which costs both time and money. Therefore,
different methods and tools have been developed to
facilitate and pre-cipitate software testing and also
improve the quality of software.
One emerging new testing technology is TTCN-3 (Testing
and Test Control Notation 3), which is a standardized
test specification and implementation language. TTCN-3
pro-vides a broad spectrum of testing abilities and is
among others designed for testing soft-ware modules. It
is also intended to be used for several applications with
several data de-scription languages. Even if C++ is one
of the most popular programming languages nowadays,
TTCN-3 cannot be yet efficiently utilize for testing C++
software. In order to take advantage of TTCN-3 in testing
C++ modules, the interface of the tested component should
be defined at the TTCN-3 language level. Therefore, C++
data types need to be mapped to TTCN-3.
The purpose of this thesis is to provide data type
mappings from C++ to TTCN-3, and to implement a TTCN-3
based test system in order to test a C++ software module.
Due to the differences between C++ and TTCN-3, such as
lacking of object model in TTCN-3 and ambiguity of C++
pointers, several challenges are faced during this work.
However, fairly comprehensive data type mapping is
provided, which is finally verified in a real world-like
situation by using TTCN-3 to test a C++ module. This
example gives a clear insight of the usability and
advantage of data type mappings and also valuable
experience on the suitability of TTCN-3 in testing C++
software module is gained.
|Place of Publication||Espoo|
|Publisher||VTT Technical Research Centre of Finland|
|Number of pages||107|
|Publication status||Published - 2004|
|MoE publication type||C1 Separate scientific books|
- Testing and Test Control Notation 3 (TTCN-3)
- software testing
- software development