TTCN-3系統(tǒng)測試配置簡介
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2011/12/16 10:28:42 ] 推薦標(biāo)簽:
TTCN-3語言看起來像一個普通的程序設(shè)計語言,但是它與普通的程序設(shè)計語言又有不同。要實現(xiàn)一個TTCN-3測試系統(tǒng),除了TTCN-3語言外,我們還需要加上測試擴(kuò)展,包括測試配置、匹配機(jī)制、定時器支持、測試判決、通信機(jī)制等。這里簡要介紹下測試配置的基本原理并用簡單的實例加以說明。
一、測試配置的基本原理
TTCN-3支持對測試配置的動態(tài)定義,測試配置包括兩部分。第一是一個帶有良好定義的互連測試組件,包括一個主測試組件MTC和若干并行的測試組件PTC;第二是定義該測試系統(tǒng)邊界的明確的測試系統(tǒng)接口TSI,它負(fù)責(zé)MTC、PTC與被測系統(tǒng)之間的通信。
當(dāng)啟動測試?yán)龝r,主測試組件MTC自動創(chuàng)建,負(fù)責(zé)管理和協(xié)調(diào)PTC的測試行為,生命周期貫穿整個測試?yán)膱?zhí)行過程。所有的PTC都能由Creat、Start、Stop操作來動態(tài)地創(chuàng)建、啟動和停止。
MTC、PTC、TSI都通過端口交換信息(端口,即測試組件端口,它可以收發(fā)由TTCN-3所定義的消息)。在測試?yán)龍?zhí)行過程中,可以通過map、unmap、 connect、 disconnect動態(tài)地改變各個端口之間的連接和映射關(guān)系。
每個不同的測試系統(tǒng)都有一個且僅有一個主測試組件和測試系統(tǒng)接口。它們都是在測試?yán)龁訒r,系統(tǒng)自動創(chuàng)建,測試?yán)\(yùn)行結(jié)束后銷毀,主測試組件在測試行為中通過關(guān)鍵字mtc引用,測試系統(tǒng)接口在測試行為中通過關(guān)鍵字system引用。
二、測試配置的實現(xiàn)
介紹了測試配置的基本原理,那么如何具體實現(xiàn)測試配置呢,TTCN-3給出了端口和組件的定義。
端口的定義:TTCN-3通過關(guān)鍵字port來定義端口,支持基于消息或基于過程的端口,分別通過關(guān)鍵字message、procedure來定義。端口是有方向的,關(guān)鍵字in表示輸入方向,關(guān)鍵字out表示輸出方向,關(guān)鍵字in/out表示輸入/輸出方向。例1:
type port mymsgport message { in msgtype1;out msgtype2;inout integer }上面的這個例子中,端口名稱定義為mymsgport,是基于消息的端口,用關(guān)鍵字message來標(biāo)志。該端口可以接收msgtype1和msgtype2類型的數(shù)據(jù),允許接收和發(fā)送integer類型的數(shù)據(jù),其中msgtype1、msgtype2是TTCN-3特有的數(shù)據(jù)類型,如record,set等。
組件的定義:組件,是用來執(zhí)行測試行為的。TTCN-3通過關(guān)鍵字component來定義組件。一個組件中可以包含端口、本地變量、定時器說明等。注意:不同的組件可以使用相同的端口,但是同一組件的端口名字應(yīng)該是的。例2:
type component mymtc { port mymsgport;var integer mylocalinteger;timer mylocaltimer }上面的這個例子中,組件名稱定義為mymtc,它包含上面定義的端口mymsgport,一個本地變量mylocalinteger,還有一個TTCN-3定義的定時器變量mylocaltimer.
注:測試系統(tǒng)接口定義和組件定義具有相同的形式,但是在定義測試系統(tǒng)接口時,測試組件的聲明中不能包含任何常量、變量和定時器。例如上面的例2只能表示定義的是一個測試組件,而不是測試系統(tǒng)接口。
三、小結(jié)
前面兩部分介紹了測試配置的基本原理和具體的實現(xiàn),那么針對一個具體的被測系統(tǒng)設(shè)計TTCN-3測試系統(tǒng)時,對于測試配置的設(shè)計要考慮我們需要測試哪些功能,需要幾個端口,幾個組件,定義的端口和組件能否滿足我們測試的需要,然后根據(jù)上面的定義實現(xiàn)測試系統(tǒng)的測試配置可以了。
相關(guān)推薦
相關(guān)產(chǎn)品

最新發(fā)布
性能測試之測試環(huán)境搭建的方法
2020/7/21 15:39:32軟件測試是從什么時候開始被企業(yè)所重視的呢?
2020/7/17 9:09:11Android自動化測試框架有哪些?有什么用途?
2020/7/17 9:03:50什么樣的項目適合做自動化?自動化測試人員應(yīng)具備怎樣的能力?
2020/7/17 8:57:06幾大市面主流性能測試工具測評
2020/7/17 8:52:11RPA機(jī)器人能夠快速響應(yīng)企業(yè)需求,是怎么做到的?
2020/7/17 8:48:05Bug可以真正消滅嗎?為什么?
2020/7/17 8:43:03軟件測試基本概念是怎么來的?軟件測試生命周期的形成歷經(jīng)了什么?
2020/7/16 9:11:10