摘 要:測試系統建模是將模型驅動的思想引入測試領域,實現了測試資源的重利用,有效的縮短了測試周期,更好地適應需求或設計規格的變更。測試系統可視化建模研究在定義測試系統元模型的基礎上,使用基于模型驅動開發方法的GMF圖形建模框架技術建立測試系統模型及數據實例編輯器。通過定義領域模型、圖形模型、工具模型以及將這三者結合起來的映射模型,解析測試模型轉化成的符合相應Schema的XML文件,實現了可視化建模和部分代碼的自動生成。
關鍵詞:圖形建??蚣?可視化建模 模型驅動測試 測試系統 元模型
中圖分類號:TP3 文獻標識碼:A 文章編號:1674-098X(2013)03(b)-00-02
伴隨著應用系統的發展變化,為了滿足軟件工程人員對應用系統高質量的保證,軟件測試技術也蓬勃發展起來,軟件測試由最初的全手工測試,到利用各種測試工具部分人工參與的半自動化測試及自動化測試,以及近年來逐漸興起的MDT (Model-Driven-Testing)。隨著可視化UML(Unified Modeling- Language)建模工具描述功能的完善和各種功能測試工具的出現,加速了模型驅動測試方法學在現代軟件系統的應用。該文主要實現基于GMF技術的測試系統可視化建模,使得測試人員抽象出其所關注的測試點及測試流程,將其直觀且無二義性的表示出來。并提供測試語言TTCN-3代碼自動生成手段,用以將測試系統模型自動化的生成為TTCN-3代碼。
1 基于GMF的可視化建模方法
GMF(Graphical Modeling Framework)框架的設計解決了EMF和GEF整合的困難,用更簡單的方法實現同時用EMF和GEF開發的應用程序,而結合二者所帶來的的各種問題則不需要關心。同時,借助Eclipse的插件機制,GMF還提供了十分豐富的擴展性,便于開發適合特定需求的應用程序。通過適配的方式將兩種命令機制關聯起來,并且在整合兩個框架的同時,也做了很多功能上的擴展。
GMF可視化建模環境的設計主要采用了MVC(Model-View-Controller)分層設計模式。同時,為支持模型存儲功能,在模型層之下增加了模型存儲/加載層。因此,模型編輯器內部分為四個層次,依次為:存儲/加載層、模型層、控制器層和視圖層,如圖1所示。模型(Model)層是模型元素語義對象。
語義對象僅維護與建模元素語義相關的信息,而不關心其圖形化表示;視圖層的是模型元素圖形對象,圖形對象維護與建模元素圖形顯示相關的信息;在MVC 模式中,模型元素語義對象與其圖形化表示之間不能直接相互操縱,而是通過位于二者之間的控制器來完成。
GMF框架是一種典型的模型驅動開發方法,開發人員甚至可以在不編碼的情況下完成模型實體到上層應用的整個驅動過程。GMF模型編輯器的開發過程正是以上介紹MVC分層設計模式的體現。
首先要創建一個GMF工程,工程中要創建三種模型,分別是領域模型、圖形定義模型、工具定義模型以及將三種模型關聯起來的映射模型。由映射模型創建生成器模型。生成器模型中包含了映射模型中的信息。最后,生成器模型可生成模型編輯器的具體實現
代碼。
2 測試系統可視化建模的實現
基于GMF測試系統可視化建模過程如圖2所示。首先測試元模型的定義參考了U2TP 標準規范,采用EMF的.ecore文件來定義。元模型規定了模型中有哪些元素以及它們之間的語義,包括測試數據元模型、測試配置元模型、測試行為元模型三個部分,分別從數據、靜態結構、動態行為三個方面描述了測試系統。
在定義元模型的基礎上定義測試系統模型,其中測試數據模型包含基本數據類型、記錄類型、枚舉類型、集合(無序)以及數組(有序)。在數據實例編輯器中可以編輯、保存測試數據;配置建模對測試組件以及與被測系統的連接進行設計。
首先定義一組測試組件,然后定義它們的接口,最后定義接口與被測系統接口的連接關系。還定義了測試組件、被測系統的接口類型,表示接口接受的消息類型;行為建模定義各種測試行為,包括激勵、響應、定時器行為、分支、循環、判定等。測試行為模型采用UML順序圖表示。
對測試數據、測試配置及測試行為進行建模。通過測試數據模型,生成數據實例編輯器,可編輯具體測試數據,來作為測試所需要的數據池。
為生成TTCN-3代碼,先定義了與TTCN-3代碼相對應的XML Schema,通過測試系統模型以及數據實例編輯器中的數據內容生成相應的XML文件。最后將XML文件生成TTCN-3代碼(圖2)。
3 結語
模型驅動測試是新型的測試方法,彌補了自動化測試的些許弱點。該文旨在將GMF可視化建模的技術應用到模型驅動測試領域,借助Eclipse的插件機制,在Eclipse平臺下開發圖形化的應用程序。實現了測試系統的可視化建模和TTCN-3測試腳本的自動生成。該文簡要敘述了GMF模型編輯器的開發過程,測試系統元模型的定義,包括測試數據元模型、測試配置元模型和測試行為元模型。詳細說明了測試系統可視化建模的實現過程,包括基于GMF構造可視化建模工具,在其上對測試數據、測試配置及測試行為進行建模。