關鍵詞—樹表組合符(TTCN), 消息序列圖(MSC), EMSC, 歐洲研究實驗室(ERL), 生產力, 周期
1. TTCN與MSC介紹
順應測試是檢驗執行是否符合特殊標準規范/環境的過程。被標準化如 ISO/ IEC 9646( 或 X.290) 的TTCN(樹表組合符)是一種順應測試的規范語言。在遇到下面目標時使用TTCN設計:
a) 規定一個符號用以將抽象測試案例用標準抽象測試組(ATS)表示;
b) 規定一個獨立于測試方法、層和協議的符號;
c) 規定一個符號用以反映定義在X.290系列建議基礎上的抽象測試方法學。
在TTCN中,基礎測試事件發送和接收簡單抽象服務、協議數據單元和定時器事件。.
消息序列圖(MSCs)常常用來描述用戶與系統間的交互和一個系統的多個進程間的交互。事實上,所有的這些符號是為了描述交互作用的直覺機制,并且已經被描述系統需求的情節廣泛地采用。一個消息序列圖不是對整個系統行為的描述,它只表達了執行蹤跡。一個消息序列圖的集合可以給系統提供較詳盡的規范。
2. PTK介紹
動力工具集(PTK)是一組軟件工具,是由XXX內部其他團體協助歐洲研究實驗室(ERL)開發的,用來支持消息序列圖規范的全面的分析,進而解決測試腳本的自動生成。PTK執行單一消息序列圖的語義分析。在執行語義分析過程中,PTK會從單一MSC生成多個可執行的測試腳本。此外,ERL擴展了ITU MSC語言,使功能規范與數據規范進行聯結。因而,PTC生成全部測試腳本來執行消息包,同從測試目標處收到的未打包并且正在測試的消息一起傳送到測試目標。
3. 在階梯項目中使用PTK
MSC的語義
MSCs的正式語義學假設每個實例以時間軸方式完全運轉著,然而,它沒有為一個消息序列圖假設的全部時間軸。例如,兩個未連接實例的消息的傳送是沒有時間關系的。因此,消息的傳送能以任何順序發生,甚至看起來似乎是同時發生在一個MSC上。全部時間的事件排序是沿著每一個實例軸假定的。不同實例的事件通過消息排序,一個消息必須在它被消耗之前首先被傳送出去。用這個一般化的排序機制,在不同實例(甚至在一個不同的MSCs中)“可排序事件”能明確地被排序。沒有另外的排序規定。一個消息序列圖因此能加在被包含的一系列事件的部分順序上。例如,在圖1中,我們能觀察到下列排序關系:a?b, b?c, d?c。a?b意味著b必須與a發生在同一時間或者發生在a之后。這反映了在真實系統中分開的系統成分經由消息交換而同步。
圖1 - MSC輸入輸出事件圖
PTK能執行以下類型的語法和語義分析:
(1) 語法檢查器 – 這個功能確保了一個消息序列圖(MSC)和任何數據規范都符合正確的文法。
(2) 靜態語義檢查器 - 這個功能可檢查一個MSC和任何關聯數據規范的基本特性。例如,一個靜態語義檢查可以是多個實例名的確認或者是被那個消息的關聯數據規范在允許范圍之外定義的消息參數值。
(3) 動態語義檢查器 - 這個功能可計算所有可能發生的序列事件,叫做蹤跡,可按照正式語義被單一MSC所表示。
PTK執行基本MSC語義評價的意義如下:
使用MSCs進行需求規范確認 – 在這個方面,MSCs的意義在于能夠計算進而排除錯誤解釋的機會。通過計算,所有可能需要被指定出來的那些被MSC未預料的情節所表示的蹤跡是突出的。這導致了更多的完善需求和較好設計。
完成順應測試 – 由于一個MSC有一個已經定義好了的含義,能產生一整套功能測試腳本。這改進了測試覆蓋,確?!巴瓿伞表槕獪y試。例如,圖2的測試腳本被產生用來測試與一個特定測試目標相關的所有蹤跡。
圖2 - 測試蹤跡生成圖
情節分析工具
還沒有一個商業的工具支持MSCs語義分析,ERL已經開發出了PTK,至少是為了分析MSCs的一個工具,如圖3。使用它,用戶可以通過編輯一個MSC來定義一個情節,然后用PTK分析識別所有可能的蹤跡。用戶可以回顧這個輸出文件來驗證那些被生成的MSC實際上定義了想得到的功能。
圖3-使用PTK工具進行MSC語義分析
測試腳本生成
定義和驗證一個情節后,就有可能從一個MSC生成測試腳本,PTK通過評測MSC情節來得到這個腳本,象上面說的那樣,識別那些與IUT關聯的事件,如圖3。PTK 也將會產生以下各項 ( 或下列各項的一個組合):
- 測試腳本分析文件 – 包含一套必須被測試腳本確認的蹤跡和一套在抽象表格中的測試腳本。
- 大量模版/測試腳本文件 – 這些是實際測試腳本,被測試環境所執行來確認MSC的功能性。
- 消息序列圖(MSCs)– 一個獨立的MSC被生成來為每個測試蹤跡闡明IUT和測試腳本之間的交互作用。
- TTCN測試腳本生成
PTK提供可定制的代碼生成器將抽象測試腳本解釋成象SDL或TTCN那樣的其他測試腳本符號。我們可以使用標準C語言預處理器和被PTK開發組織支持的TTCN庫。
4. PTK工具的益處
現代經驗顯示,使用PTK來生成TTCN測試腳本能減少項目周期、提高生產率,并且能提供高質量的產品。
例如:
MIEL CSS-CDMA 組織為靜態部分TTCN 的半自動化而開發的腳本。在不同的項目中用PTK和這個自動腳本的估價成果是:
METESCOM Rel 1.0 and Rel 2.0
- No of MSCs : 370
- No of test scripts : 2297
- No of staff days without automation : 1776
- No of staff days with automation :1406
- Percentage of effort savings : 21%
STAIRCASE_ 683 &637 Rel1.0
- No. of MSCs : 76
- No of test scripts : 280
- No of staff days without automation : 800
- No of staff days with automation : 650
- Percentage of effort savings : 19%
5. Conclusion 結論
MSCs在XXX被廣泛使用,但卻沒有工具支持或形式分析。PTK在處理MSCs連同數據規格說明方面有這個缺點。用這個工具,階梯工程顯著減少了花在TTCN測試腳本生成上的大量努力。
6. REFERENCES 參考書目
[1] ITU推薦Z.120消息序列圖
[2] 國際電信聯盟,CCITT(國際電話與電報顧問委員會)消息序列圖(MSC)
[3] 電信邏輯,“TAU3.4參考手冊”,瑞典。