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