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