TTCN

TTCN とは、通信プロトコルやWebサービスのテストに特化したプログラミング言語である。TTCN Test Suite には TTCN で書かれた多数のテストケースから構成される。バージョン2まで、この言語は扱いにくい表形式で書かれており、その名称は Tree and Tabular Combined Notation（木構造と表を組み合わせた記法）の略とされていた。この言語を読み書きするには特別な TTCNエディタが必要であった。バージョン3で、TTCN は Testing and Test Control Notation（テストおよびテスト制御記法）の略に変更され、一般的なプログラミング言語に近くなり、普通のエディタで読み書きできるようになった。TTCN-3 は TTCN-2 よりも柔軟性があり、通信プロトコルのテストだけでなく、他のソフトウェアのテストにも使えるようになっている。
各バージョンの実行にはそれぞれ別のコンパイラまたはインタプリタを必要とする。
TTCN は、欧州電気通信標準化機構(ETSI)や国際電気通信連合(ITU)で通信プロトコルのテストに広く使われている。ETSIでは、ISDN、DECT、GSM、EDGE、第三世代携帯電話、DSRCといった標準規格の適合試験のテストケースが TTCN で書かれている。最近ではBluetoothやIPといった他のプロトコル標準のテストにも使われている。
製品（電話、携帯電話、ネットワーク機器）に対してテストケースを実施することによって、それらの機器でのプロトコルの実装が通信規格に定義された要求仕様に合っているかを検証する。
TTCN は ASN.1 と組み合わせて使われることが多い。
背景.
適合試験（Conformance Test）では、（例えば TTCN で書かれた）よく定義されたテストケースを実施することでテストを行う。一方、相互運用試験（Interoperability Test）ではテスト対象製品とその逆の役割をする機器を接続してテストを行う（例えば、メールクライアントに対してはメールサーバ、電話に対しては電話網、Bluetooth付きヘッドホンに対してはBluetooth付き電話など）。
IETFなどによるインターネット標準規格は今のところ相互運用試験を主に行っている。
適合試験と相互運用試験は互いに補完する関係である。例えば、相互運用試験で問題が見つかれば、それを新たな適合試験のテストケースに応用して問題を発見できるように改良できる。