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

 

TTCN-3 Home                                               (* indicates off-site link)                                 © Copyright 2008 ETSI – All Rights Reserved