TTCN

TTCN

TTCN作為專門進行測試的語言,它定義了嚴格的語法和語義規則。由於它是新出現的測試語言規範,國內還沒有這種語言的編譯、運行環境,國外的TTCN編譯器開發也正在進行。已經出現的TTCN運行環境大多是把TTCN轉化為另一種語言(如JAVA),使用現成的編譯器編譯轉換后的代碼,間接實現對TTCN的編譯。TTCN編譯器的開發成為迫切的任務,若開發成功,將會對國際的語言交流作出巨大貢獻。

簡介


中國科學技術大學TTCN實驗室主要從事協議和軟體測試,在蔣凡教授的帶領下已開展TTCN-3相關研究長達十年,取得了非常不錯的研究成果和技術知識積累,形成了成熟的大型軟體研製開發管理的師資隊伍,並且具有豐富的與工業界合作的經驗,可以提供高水平開發和及時的技術支持。

科研成果


協議測試工具——LoongTesting
LoongTesting是由我們中國科學技術大學TTCN3實驗室自主開發的,也是國內唯一一個完整的TTCN3測試平台,它集成編輯、編譯、鏈接、生成於一體,其運行效率較高,是一款為數不多的優秀的TTCN3測試工具,並被多家大公司使用。歐洲以外唯一一個公開發布的比較成熟的工具,並且該工具已被發布到ETSI(詳情點擊TESI TTCN-3官網)。
TTCN-3 GFT建模工具
實現的TTCN-3GFT建模工具支持GFT標準,可以實現TTCN-3核心語言表示與其圖形化表示之間的相互轉換。

協議測試


Loong Testing實現在中移動手機支付平台測試系統中的典型應用,這是中移動首次以TTCN-3作為測試語言進行測試,也是Loong Testing第一次作為測試工具應用在較複雜的系統中,並取得非常不錯的測試結果。
LoongTesting Linux版本
Loong Testing工具對應的Linux版本已接近完成,即將對外發布。
TTCN-3源碼級調試器
LoongTesting為基礎,增加對TTCN-3語言的源碼級調試功能,調試器目前處於研發中。

研究成果


研究歷程
從1999年以來,中國科學技術大學TTCN實驗室一直在從事的通信協議軟體測試研究。TTCN協議測試平台也從最初的設想到最終的實現,並不斷完善,不斷走向成熟,最終在ETSI公開發布,名為LoongTesting。詳細研究歷程。
研究成果>發表論文
從1999年以來,我們TTCN實驗室在各類權威期刊索引發表文章65篇,全部被CSTPCD(中國核心期刊索引),其中EI索引19篇,SCI索引3篇,ISTP索引2篇,INSPEC索引15篇。同時還發表了一系列有價值的碩博研究生論文。部分論文目錄。
GFT
TTCN-3標準中的GFT(Graphical Format forTTCN-3)是一個圖形化標準,該標準定義了TTCN-3測試套的圖形化表示形式,研究在測試套圖形化表示形式的基礎上進行測試套的開發,增強測試套編寫過程的可視性和可理解性,在很大程度上減少測試人員編寫測試用例的工作量,提高開發效率。該工具實現TTCN-3語言腳本和圖形表示的相互轉化。
最初的TTCN不能設計和描述并行行為,人們很快意識到對TTCN的并行能力的擴展的重要性和迫切性。這也是TTCN-2出現的直接原因。儘管在TTCN-2中做了擴展,但是對於新出現的不同領域的不同種類的測試仍存在很多缺陷和不足,STF(Special Task Force)133和ETS156從1998年開始研究新版TTCN,到2000年10月完成,新版的TTCN命名為Testing and Test Control Notation version 3(TTCN-3)。
TTCN-3不但保留了原有TTCN-2的良好特性,並且包括滿足上述需求的新特性。一個明顯的不同就是TTCN-2有兩種描述形式,一種是圖表形式,一種是與圖表形式等價的機器可執行語言,而TTCN-3有通用的核心語言、圖表表達形式及MSC(Message Sequence Chart)表示語言。
TTCN-3分為核心語言(Core Language),表格表示格式(Tabular Presentation),消息序列圖(MSC)表示格式等多種使用形式。但核心語言是其他形式的基礎,是完整的、獨立的,也是TTCN工具之間的標準交互格式,是其他格式的語義基礎。
TTCN-3核心語言是TTCN-3最重要的部分。也是TTCN-3對TTCN-2改進最大的地方。核心語言的發布,使得TTCN-3能夠向後兼容,也使得TTCN-2開發的測試集向TTCN-3轉換變的很容易。圖形描述方式是新加的一種開發方式,它主要採用了消息序列圖MSC的概念。
TTCN-3最頂層單元是模塊,它內部不能再有子模塊。TTCN-3模塊之間相互獨立,他們可以通過import語義共享數據定義。一個測試套就是一個模塊。一個模塊有兩部分:定義部分和控制部分。定義部分定義了測試組件、通訊埠、數據類型、常量、測試數據模板、函數、埠程序呼叫信號、測試例等。控制部分包含局部變數定義、調用測試例並控制其執行順序。
TTCN-3規範的第五部分TTCN-3 Runtime InteRFace(TRI)中,對TTCN-3測試系統的概念模型規範進行了描述。TTCN-3測試系統由一組具有特定功能的實體組成。這些實體管理測試的順序,解釋和執行已經編譯過的TTCN-3代碼,實現和被測系統SUT的正確通信以及實現外部函數(在TTCN-3模塊外面定義,在模塊中申明為外部函數)和處理定時器的操作等。TTCN-3測試系統分解為測試管理(Test Management,簡稱TM)、測試執行實體(TTCN-3 Executable,簡稱TE)、SUT適配器(System Under Test Adapter,簡稱SA)和測試平台適配器(Platform Adaptor,簡稱PA)。
TTCN-3測試系統中的兩個主要的介面:TTCN-3控制介面(TTCN-3Control Interface,簡稱TCI)和TTCN-3運行時介面(TTCN-3 Runtime Interface,簡稱TRI)。它們分別制定了TM和TE之間的介面,和TE與適配器(SA和PA)之間的介面,TTCN-3規範只對TRI進行了介面定義,而給予測試工具提供商在測試系統的實現中很大的靈活性。而一般情況下,TRI需要由JAVA或C/C++等語言來開發。
TTCN-3可以用做多種通信埠上的各種響應系統測試的描述語言。典型的應用領域是協議測試(包括移動協議和互連網協議)、服務測試(包括增補服務)、模塊測試、基於平台、APIs等的CORBA測試。TTCN-3並不僅僅局限於一致性測試,它可用於多種類型的測試,如互操作性測試(Interoperability Testing)、性能測試(Performance Testing)、魯棒性測試(Robustness Testing)、回歸測試(Regression Testing)、系統和集成測試(System and Integration Testing)。