Why use TTCN-3 ?
TTCN-3 is easy to learn
- Look and feel of a regular programming language
- Many tutorials, courses,
conference publications, journal articles, and other publications available, e.g., a text
book (see "Further Reading" menu on this site)
- Standards are
well written
-
Chinese
version of core language also available
It has been designed for testing
- Well defined syntax
- Well defined static and operational semantics
- Rich type system which includes concepts like a
verdict & native list types, subtyping, type compatibility, etc
- Allows test specification based on abstract interface syntax instead of
transfer syntax
- Powerful built-in matching mechanism and matching
expressions
- Snapshot semantics
- Language ensures and preserves order of external event arrival
- Each external event can be checked against a number of alternative
constraints
- Allows definition of concurrent tests, i.e., tests
with multiple test components
- Support for asynchronous as well as synchronous
communication paradigms
- Supports dynamic test configurations
- Test components can be (re)mapped, (re)connected or (re)created on the
fly during a test
- Allows specification of execution parameters at run
time via module parameters
- Eases re-targeting of test suite execution in different testing
environments
- Support for timers
- Enables completely automated test execution
- Test execution order may be specified in TTCN-3 via control part
- Test execution may also be driven by external sources via TCI control
interface
It is internationally
standardized
- Created and maintained by leading testing experts
from industry (including tool makers), institutes, and academia
- Standards address not only the language to write a
test in but also interfaces that control and adapt the test to a given
environment; users have the benefit of not relying the use of one
specific tool
- Standards are accepted and followed by tool vendors
- It can be used to specify tests for standardization as well
as proprietary product features
Off-the-shelf tools and test systems are readily available
- Four different commercial TTCN-3 tools on the market
- Open source tool currently under discussion
- Tools can be been used to build and execute large and
complex test suites
It is an extremely flexible testing technology
- Language is completely independent of implementation
technology, operating system, etc. of the System Under Test (SUT)
- TTCN-3 is also independent of any particular
implementation domain
- Virtually no limits to adapt tests or a test system to your needs
- Test systems can be integrated easily with your favourite test execution
management software via the TCI
control interface
- Test execution traces can be visualized in the format that suites you
best via the TCI logging interface
- Any encoding schemes can be implemented and integrated via the TCI codec and value APIs;
tools may offer support for automatic codec generation, e.g., of
standardized encoding schemes (like BER)
- Test systems can be adapted to any communication mechanism to interact
with the System Under Test
via the TRI
- Test systems can be adapted to any timing model via the TRI platform
interface
- It is scalable
- Adaptations you need tomorrow can be added to or replace current
adaptations if needed
- Encoding schemes for new interfaces can be added
- Additional test components can be added to existing test cases to test
new interfaces of a SUT
- Test components can be used both to test or emulate
interfaces
- Allows reduction of test environment complexity, maintenance, and number
of tools used
- Emulate interfaces may be implemented to act faulty as well
- Extensible
- So far standardized
mappings to other external type systems are ASN.1, XML, and C (others
may follow)
- Integration of functionality implemented in another programming language
(= external functions) is possible
via TRI platform interface
- Multiple presentation formats
- So far text, graphical and tabular formats have been standardized
It can be used in many types of testing
- Valid, invalid, inopportune testing
- Software module, unit, layer, protocol, integration,
laboratory testing etc
- Functional, load, distributed testing etc
- Regression, certification, approval testing etc
It is has passed the test of time
- First standards published out in 2000 and stable ever
since
- Most concepts inherited from its predecessor TTCN-2
which had been applied in commercial testing for more than a decade at
that point
-
Successfully used in the certification of new
challenging technologies, e.g., IPv6, WiMax, 3GPP, etc
|