Testing and Test
Control Notation Version 3 (TTCN-3) is an internationally standardized testing
language from ETSI Technical Committee MTS. This programming language has been
used for more than fifteen years in standardization as well as in the industry,
and it was developed predominantly for the testing process in the telecom
industry. But this testing technology applies to a variety of application
domains and different types of testing. It is proven to work in very large and
complex industrial tests like in 3G network elements.
Reach in India
Since TTCN-3 is the only contemporary standard testing language, it has a
huge potential in India and around the world. Above all, this is well supported
by ETSI, making it the default choice for OEMs and system integrators at least
for new technologies like LTE. Telecom is one of the oldest and mature
verticals. Almost everything has a standard in the telecommunication world.
Telecom standards are quite strict and rigid, and telecom implementers follow
these standards quite religiously. TTCN-3 is the de facto testing language used
to specify the test specification for these telecom standards. So TTCN-3 and
testing go hand in hand at least for the telecom conformance testing.
Jayakishor Bhanja, senior consultant, Wipro Technologies
says, "India being a testing hub, most of the telecom vendors, both equipment
and T&M vendors, use Indian IT companies' testing services. TTCN-3 will play a
significant role in the Indian telecom service industry. TTCN-3 is extensively
used in the protocol conformance testing. About 70% of telecom testing is still
a greenfield for TTCN-3. With the increasing awareness about TTCN-3 especially
in India, testers will explore the greenfield."
Vaidyanathan R, test department head, CRD BL, Huawei
Technologies says, "TTCN-3 has been adopted as the testing language for LTE as
recommended by ETSI. We see a rise in LTE deployment in the coming years.
Currently, LTE is having a lab and field trails in European countries and will
also see deployment in India. So, there is a huge market demand for TTCN-3 in
the coming times which will eventually grow as the LTE market grows. We see
TTCN-3 market driven by the technology growth where India might witness more
growth in LTE testing." Other sectors like banking also can find TTCN-3
beneficial. So, definitely market potentiality for this testing language is big
in India.
Application Areas
TTCN-3 has a nostalgic relationship with the telecom vertical as TTCN was
developed predominantly for the telecom vertical only. However, TTCN-3 also has
a wide acceptance across many other verticals. TTCN-3 is used at ETSI for the
conformance test implementation for the following protocols including Session
Initiation Protocol for VoIP, IPv6, DHCP, digital mobile radio and digital
private mobile radio, WiMax, 3GPP IMS user equipment, TISPAN IMS network with
ISDN and ISUP, LTE, open mobile alliance.
Mahesh Baluni, director, engineering, Aricent says,
"TTCN-3 is a widely accepted standard testing programming language which can be
used by OEMs, application developers, test measurement players and service
providers. It can be used for conformance testing of network elements as well as
terminal equipments. Typical areas of application for TTCN-3 in
telecommunication are testing of protocols, services, application programming
interfaces (APIs), and software modules." TTCN-3 is not restricted to
conformance testing and can be used in areas such as interoperability testing,
robustness testing, performance testing, regression testing, system testing,
integration testing, etc.
Vaidyanathan R, Huawei Technologies says, "TTCN-3 finds
application in numerous areas of telecommunications. The areas span across
legacy fixed line, wireless domain, and VoIP domain. Basically, TTCN-3 is an
effective testing language and framework for protocol suites conformance."
The legacy fixed line area includes adoption in IMS domain
testing of CSCF servers. There are a number of test suites application in the
signaling system no 7 (SS7) domain, access domain -V5.x, ISDN and plain PSTN
switching. In the wireless domain, TTCN-3 is highly flexible to be used for GSM
signaling testing to 3GPP LTE network testing. TTCN-3 has been officially
adopted as the testing language for testing LTE by ETSI. This will see large
scale application of TTCN-3 in this area. In the VoIP domain, the TCCN-3
structures enable it to be used for VoIP domain protocols such as SIP, RTSP,
H.248, H.323, MGCP, etc. This has also been designed for UE. TTCN-3 is also used
for SIGTRAN protocols, enabling the testing of 'signaling backhauling' of
traditional SS7 to IP. TTCN-3 is also finding its use in the datacom domain and
grid computing technologies.
Choosing Testing Language
There are some criteria telecom equipment manufacturers and test &
measurement (T&M) players need to consider while choosing a particular testing
language. Generally topics like re-usability, robustness, performance, tool
support, etc, need to be considered.
Srinivas Prasad, general manager, portfolio, Sasken says
that the criteria to choose a language for equipment manufacturers or T&M
players depend upon many things like-do the test cases need to be ported on
multiple platforms; are multiple teams going to script test cases; do users of
test cases need to understand the tests; are tests mainly functional or they
test the message content also very extensively; and are the test cases for
internal use or external use.
|
|
|
TTCN-3 is extensively used in the protocol conformance testing. About 70% of telecom testing is still a greenfield for TTCN-3. With the increasing awareness about TTCN-3 especially in India, testers will explore the greenfield Jayakishor Bhanja, |
LTE-TTCN-3 is going to create a win-win situation for the standard bodies, test and measurement companies, regulatory bodies, manufactures and consumers Raghunath Deshmukh, |
For testing hybrid telecom devices, it is not good if we have to use different languages for testing various components. Hence, ETSI started working for a unified test language which can be used for testing various components, including communication and general-purpose software. The outcome of this is the concept of TTCN-3
|
Assume that we need to choose a test language for a system
where we need to port test cases on multiple platforms and it is going to be
developed by many people across the globe, and the tests also need to verify
message contents extensively. In this case, following are the criteria that
should be followed: ease of sharing test suites; ease of porting on multiple
platforms; ease of understanding the test cases by users; possibility of using
the same language for doing multiple types of test like performance, load apart
from functionality; and availability of the experts.
Bhanja of Wipro Technologies says that the testing
language should focus on what to test rather than how to test, and it should not
be tied to a particular application or its interfaces. It should not be tied to
any specific test execution environment, compiler or operation system; and
should be abstract in nature.
Baluni of Aricent says that the language should be easy to
learn and use. It should be modular to minimize the impact of change with
changed specs/standards and better understanding, and debugging should be easy.
It should also support dynamic concurrent test configurations and performance
testing. Industry wide acceptability is a plus and must in the case of
conformance testing.
Since TTCN-3 is specifically developed for testing, it
contains all the above features. Apart from this, TTCN-3 offers already
developed test suites for various protocols like SIP, IMS, HSS, IP, SS7, SIGTRAN,
WiMax, etc. Wide acceptability of TTCN-3 ensures the interoperability with
products/softwares from the third party.
For Better Testing
Achieving performance and security is the most important part of any testing
language. Security testing in telecom typically involves the ability to invoke
ciphering, integrity and encryption algorithms that are available in the
libraries. TTCN-3 has a mechanism of external functions whereby the third party
security library functions can be invoked from within the TTCN-3 code.
TTCN-3 scripts compiled can take any shape depending on
the tool used. It can be a java archive, a c executive; and these can easily
address performance and security areas of testing. Baluni of Aricent says that
TTCN-3 facilitates the building of complex test cases. However, the performance
depends on the way it is used for building the load testing framework. Timers
and parallel test components of TTCN-3 can be used for performance testing.
Vaidyanathan R says, "Currently TTCN-3 is not suited for
non-functional aspects like performance and security testing. TTCN-3 is more
suited for functional testing. However, there are researches going on in the
industry to evaluate TTCN-3 for load testing using concurrency framework
provided by TTCN-3."
Bhanja says, "TTCN-3 language has imbibed the testing
concepts that cater to different kinds of testing, including performance testing
and security testing. In performance testing, key performance indicators (KPIs)
pertinent to the system under test like data rate, throughput, latency, etc, are
measured and compared to benchmarks. TTCN-3 language has powerful computational
semantics and has a good collection of in-built library functions for
calculations."
Other Standards
There are numerous scripting languages being used for testing in the
telecommunications world such as Perl, Python, Ruby, etc. These scripting
languages can be basically used for other applications as well besides testing.
TTCN-3 is not just a scripting language, but a complete testing framework.
TTCN-3 provides complete test compilation, test execution, logging and reporting
functionalities.
Vaidyanathan says that TTCN-3 provides complete testing
methodology as per the ISO standard. TTCN-3 can be used for defining new
constructs and protocol elements (for testing a new protocol), and can be used
for simulating the upper tester-service user (UT) and the lower tester-peer
protocol element (LT). TTCN-3 also defines its abstraction for socket
communication through the use of point of control and observation (PCO). It also
provides the definition of timers.
TTCN-3 as a language provides built-in support for
flexible test verdict, dynamic configurations, built-in matching operations and
helps in compiling time error detection and defined communication mechanisms.
We can compare TTCN-3 with other general purpose test
languages like Python. Prasad points out that Python is a general purpose,
object oriented (OO) language which can be used for doing coding of any domain.
The main strength of Python comes from the powerful standard libraries which
make coding very easy and fast. As Python is a GPL which can be used for
software testing, lets compare Python with TTCN-3 on basic test language
requirements.
TTCN-2, TTCN-3 Vs LTE
The earlier version of TTCN-3 is TTCN-2. TTCN-3 is conceptually based on
TTCN-2. TTCN-3 maintains the most important concept from TTCN-2 like Abstract
Test Suite (ATS) while removing the use of communication terminology. When
TTCN-2 is there, then why the industry has to go for TTCN-3 for testing LTE is a
valid question among many. Also, we know that TTCN-2 has already established
itself as a test language for communication protocols, and the 3G conformance
test scripts from ETSI are based on TTCN-2 only. There are already pools of
experts available for using TTCN-2, both at ETSI-MCC and in the industry. There
were lots of vendor choices for TTCN-2 as well.
Raghunath Deshmukh, architect, Sasken points out that the
usage of LTE varies from being the communication protocol for mobile to network
card for PCs. It enables voice calls on a mobile phone to HDTV streaming on
TV/PC. Along with SAE, LTE enables homogeneity of various technologies, so that
users can roam around doing their job without worrying about which technology is
currently active. LTE-SAE is bringing a complete paradigm shift from the
technology dependent world to services dependent world. For example, users can
buy a voice service from an operator without worrying about the technology
underneath. Depending upon the NW planning, the service will be available at
some places on UMTS, at some places on WiMax, and at other places on LTE. All
will be available with seamless handovers, and of course, a single invoice. This
will make the life of users as well as operators easy.
Deshmukh says, "For testing such varied kinds of LTE
devices and associated systems, we need a test language which not only tests the
LTE protocols, but also the environment with it."
Srinivas Prasad of Sasken says, "For testing hybrid
telecom devices, it is not good if we have to use different languages for
testing various components. As using many languages means heavy investments on
various costly tools as well as on experts who would know the languages well.
For this reason, ETSI started working for a unified test language which can be
used for testing various components, including communication and general-purpose
software. The outcome of this ETSI work is the concept of TTCN-3."
On using TTCN-3 especially for LTE, Deshmukh says,
"LTE-TTCN-3 is a perfect wedding; may be an arranged one, but is going to create
a win-win situation for the standard bodies, test and measurement companies,
regulatory bodies, manufactures and consumers."
Challenges
When TTCN-3 has certain advantages, it also certainly has some challenges.
Using TTCN-3 requires a huge investment. Designing a TTCN-3 test framework from
scratch requires time, manpower and expertise. Also, the tools (compilers) are
quite expensive. Availability of TTCN-3 experts is another problem. In India
specially, it is very difficult to find TTCN-3 experts as not many use this
language and also because it is not a part of the curriculum in the Indian
universities.
Vaidyanathan R of Huawei Technologies says, "TTCN-3 is
currently a very specialized language known to few (with the number increasing),
hence there is the challenge of adopting it as a testing language compared to
other simple and already highly used languages like TCL and PERL, etc. For
meeting these challenges, Huawei has been focusing on building the key
competency for TTCN-3 and has been using it for telecom related protocol
testing."
Bhanja of Wipro Technologies also echoes the same. He says
that TTCN-3 language is quite sophisticated, and is supporting a number of
testing and programming constructs. It is quite different from the interpreted
scripting languages, and therefore one of the primary challenges facing the
TTCN-3 community is to develop the skills of testers so that they can write good
quality TTCN-3 code. Training plays a vital role in enriching the skills and
expediting its adoption in testing projects.
Kannan K
kannan@cybermedia.co.in