999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ASL的模型驅(qū)動架構(gòu)測試方法*

2014-01-24 06:55:18張小艷
關(guān)鍵詞:語義動作模型

張小艷,文 輝

(西安科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,陜西 西安 710054)

基于ASL的模型驅(qū)動架構(gòu)測試方法*

張小艷,文 輝

(西安科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,陜西 西安 710054)

針對模型驅(qū)動架構(gòu)(MDA)下的軟件開發(fā)方法中測試啟動比較晚、難以發(fā)現(xiàn)隱藏在模型中的缺陷及UML模型描述缺乏精確語義等問題,提出了基于ASL的模型測試方法:從UML模型出發(fā),將動作規(guī)約語言(ASL)運(yùn)用于平臺無關(guān)模型(PIM)上建立測試模型。給出了ASL語句在MDA過程中的工作原理、平臺無關(guān)模型的建立過程、測試用例建立的步驟、測試執(zhí)行的實(shí)施過程,最后結(jié)合實(shí)例,在UML圖的基礎(chǔ)上運(yùn)用ASL對測試環(huán)境進(jìn)行構(gòu)建,并創(chuàng)建了系統(tǒng)的測試用例,對模型及業(yè)務(wù)邏輯進(jìn)行了測試。實(shí)驗(yàn)結(jié)果表明,提出的基于ASL的模型測試方法既能利用模型驅(qū)動對復(fù)雜的測試用例進(jìn)行簡化和抽象,又能在軟件生存期早期揭示軟件的缺陷,防止缺陷隨著軟件開發(fā)過程的進(jìn)行而被放大。

模型驅(qū)動架構(gòu);動作規(guī)約語言;平臺無關(guān)模型;測試用例

1 引言

模型驅(qū)動架構(gòu)MDA(Model Driven Architecture)是一種對業(yè)務(wù)邏輯建立抽象模型,然后由抽象模型自動產(chǎn)生最終完備的應(yīng)用程序的方法。MDA軟件開發(fā)方法已經(jīng)成為提高軟件質(zhì)量和開發(fā)效率的一種新的軟件開發(fā)范型[1]。基于 MDA的測試是在業(yè)務(wù)邏輯建模時開始軟件測試工作,即在開發(fā)早期用UML圖結(jié)合業(yè)務(wù)邏輯的形式建立測試模型、執(zhí)行測試用例并且反饋測試結(jié)果。

在MDA中,平臺無關(guān)模型PIM(Platform Independent Model)隱藏實(shí)現(xiàn)細(xì)節(jié)以獲取系統(tǒng)的業(yè)務(wù)級視圖,這種系統(tǒng)抽象級別的提升帶來了一些測試上的問題,例如,(1)測試啟動比較晚,在系統(tǒng)完成后才啟動;(2)難以發(fā)現(xiàn)隱藏在模型中的缺陷[2]。

UML為MDA模型提供了可視化的表示和基礎(chǔ)的語義,但大部分的動作或方法還沒有精確的語義定義,所以其相關(guān)應(yīng)用(如基于模型的測試用例)無法得以精確地描述。

本文引入動作規(guī)約語言ASL(Action Specification Language)對業(yè)務(wù)模型中的動作進(jìn)行清晰、精確且抽象的描述,建立系統(tǒng)測試用例,并且無歧義地執(zhí)行測試來監(jiān)視測試結(jié)果,實(shí)現(xiàn)單元測試和回歸測試的平臺無關(guān)化。

2 基于ASL的測試基本框架

2.1 ASL及其特性

MDA中,模型可分為平臺無關(guān)模型PIM、平臺相關(guān)模型PSM(Platform Specific Model)兩種[3]。PIM是一個系統(tǒng)的形式化規(guī)范,它與具體的技術(shù)細(xì)節(jié)無關(guān);PSM是基于某一具體目標(biāo)平臺的形式化規(guī)范。PIM與PSM一般都使用UML創(chuàng)建,但UML是一種半形式化的語言,其模型描述缺乏精確語義,所以,在目前的軟件開發(fā)過程中,很難利用工具去驗(yàn)證和分析UML模型的正確性。ASL的出現(xiàn)彌補(bǔ)了這一缺陷,ASL是一個與實(shí)現(xiàn)語言無關(guān)的動作語言,通過編譯器編譯后可直接執(zhí)行,因此可以用ASL編寫基于模型的測試用例。它是一種符合UML動作語義標(biāo)準(zhǔn)的語言,提供了操縱模型元素的能力,為部分UML模型增加了可執(zhí)行行為的定義,并且又不偏向于任何實(shí)現(xiàn)技術(shù)[4]。

ASL語句在MDA過程中的工作原理如圖1所示,ASL語句段總是與常規(guī)UML模型元素關(guān)聯(lián)。各抽象層之間的行為是相互映射的,PIM層中的每一句ASL語句都可以在PSM層和代碼層中找到相應(yīng)的實(shí)現(xiàn)。

2.2 平臺無關(guān)模型的建立

PIM對應(yīng)分析模型,它處于中間抽象層次,關(guān)注系統(tǒng)的整個架構(gòu)實(shí)現(xiàn),與平臺無關(guān)。建立PIM的目的是為了理解問題域,獲取和表達(dá)所有業(yè)務(wù)需求,并且包含了對系統(tǒng)的所有規(guī)約[5]。作為測試對象,平臺無關(guān)模型主要包含域模型圖、用例圖、順序圖、類圖、協(xié)作圖、狀態(tài)機(jī)圖等。基于ASL的模型測試技術(shù)主要以類圖和狀態(tài)圖為基礎(chǔ),加入ASL語句對模型中的動作進(jìn)行擴(kuò)展。圖2給出了ASL協(xié)助建立模型的示例。

Figure 1 Work principle of ASL圖1 ASL工作原理圖

Figure 2 ASL assist in the establishment of model圖2 ASL協(xié)助建立模型

其建立步驟如下:

步驟1域模型的建立。在域模型中,將系統(tǒng)按主題劃分為不同的域,每一個域表示系統(tǒng)中的一個獨(dú)立的主題事務(wù)。

步驟2建立域中的類圖。類圖是平臺獨(dú)立模型的靜態(tài)視點(diǎn),由類名、屬性和方法組成,并且類之間存在關(guān)聯(lián)關(guān)系。其中,方法用來表示通過帶參數(shù)的接口來調(diào)用的動作,在方法中可以進(jìn)行業(yè)務(wù)邏輯的處理和數(shù)據(jù)的計(jì)算。但是,類圖僅是結(jié)構(gòu)化的聲明,每個類方法的行為都由詳細(xì)的ASL描述。圖2中,通過ASL描述后,Traffic Light類的Display Traffic_Light方法在模型層具有了可執(zhí)行能力。

步驟3針對動態(tài)類創(chuàng)建狀態(tài)圖。每個類最多有一個狀態(tài)機(jī),該狀態(tài)機(jī)描述了所有該類對應(yīng)對象的行為。每個狀態(tài)有且只有一個相關(guān)聯(lián)的動作,該動作在對象進(jìn)入這個狀態(tài)的時候執(zhí)行。每個轉(zhuǎn)換上都附有一個信號,該信號導(dǎo)致了轉(zhuǎn)換的發(fā)生[6]。狀態(tài)圖建模過程從識別代表常規(guī)行為的狀態(tài)開始,ASL用來描述狀態(tài)中的動作以及那些能觸發(fā)狀態(tài)轉(zhuǎn)移的信號。如圖2所示,ASL將系統(tǒng)的動態(tài)行為在狀態(tài)圖中展現(xiàn)出來,是對靜態(tài)模型的補(bǔ)充,也是基于ASL模型測試的重要組成部分。

2.3 ASL建立測試用例

使用ASL建立測試用例的過程:首先在測試初始化片段中詳述測試環(huán)境和初始條件;然后以一個或多個片段的方式描述PIM中的每個測試用例。

2.3.1 初始化片段的創(chuàng)建

初始化片段由ASL語句段組成,主要用來構(gòu)建測試用例執(zhí)行環(huán)境,包括測試用例所基于的場景、提供給待測試系統(tǒng)的輸入以及期望的輸出(稱之為測試預(yù)期)。初始化片段分布在獨(dú)立的可執(zhí)行文件中,可以單獨(dú)執(zhí)行。創(chuàng)建初始化片段步驟如下:

2.3.2 測試用例的建立

根據(jù)測試目的的不同將測試分為兩類:一類是模型語義的測試;一類是場景的模擬,即驗(yàn)證需求規(guī)格是否在平臺無關(guān)層正確建模。

模型語義的測試是指對模型元素中對象、屬性、關(guān)系及約束的測試,包括對象唯一性驗(yàn)證、對象關(guān)聯(lián)的導(dǎo)航與驗(yàn)證、方法的調(diào)用、類型一致性檢驗(yàn)等。

(4)ASL是強(qiáng)類型語言,因此模型編譯器可以檢查屬性和本地變量的類型是否一致,這樣在一定程度上確保了類型信息的準(zhǔn)確性。

在PIM中,ASL已經(jīng)將系統(tǒng)的動態(tài)特性完全描述出來,針對特定的業(yè)務(wù)需求,可以通過描繪事件觸發(fā)時的場景來測試系統(tǒng),稱之為場景模擬測試法[7]。從需求規(guī)格說明出發(fā),描述系統(tǒng)用例場景和場景中的動作,把狀態(tài)遷移(測試路徑)的測試與類模型的測試組合起來。以信號序列激發(fā)場景模擬測試,通過檢查對象在接收信號后是否轉(zhuǎn)移到預(yù)期狀態(tài),以及對對象的數(shù)據(jù)成員值的變化情況進(jìn)行跟蹤來驗(yàn)證狀態(tài)本身或者轉(zhuǎn)換是否正確[7]。主要方式有以下幾種:

以上兩類測試構(gòu)成了基于ASL的測試用例。模型語義測試對模型細(xì)節(jié)部分進(jìn)行測試,而場景測試則是在需求規(guī)格的視角下將應(yīng)用場景描述出來,是從全局來測試系統(tǒng)。在場景模擬過程中也穿插著對模型語義的測試,實(shí)現(xiàn)對系統(tǒng)模型的全面測試。

2.4 執(zhí)行測試

基于ASL的測試執(zhí)行過程分為四步:

步驟1將模型、測試規(guī)則等導(dǎo)入,利用模型分析和驗(yàn)證器完成語法分析和驗(yàn)證,保證模型的完整性及語法的正確性。

步驟2執(zhí)行初始化片段,建立測試所需的執(zhí)行環(huán)境和初始化狀態(tài)。

步驟3 為了調(diào)試而交互地執(zhí)行測試用例,或者為了回歸測試而以批處理的方式執(zhí)行測試用例。

步驟4 根據(jù)測試結(jié)果反復(fù)精化模型,直到對于每個測試用例都產(chǎn)生了期望的結(jié)果,并且驗(yàn)證了業(yè)務(wù)需求的正確性。

圖3展示了測試執(zhí)行過程。

Figure 3 Process of test execution圖3 測試執(zhí)行過程

目前,支持ASL語言編譯的工具為Kennedy Carter公司的iUML,它通過可執(zhí)行UML實(shí)現(xiàn)MDA過程,而對平臺無關(guān)模型的測試支持不足,基于ASL的模型測試技術(shù)彌補(bǔ)了iUML工具在測試方面的缺陷。

3 示例分析:煤質(zhì)預(yù)測業(yè)務(wù)

以煤質(zhì)預(yù)測預(yù)報(bào)系統(tǒng)為例,簡要說明在MDA架構(gòu)中運(yùn)用ASL完成模型測試。煤質(zhì)預(yù)測預(yù)報(bào)系統(tǒng)簡要過程是:運(yùn)用煤礦煤質(zhì)計(jì)劃數(shù)據(jù)、生產(chǎn)過程煤質(zhì)數(shù)據(jù)、煤層煤樣數(shù)據(jù),通過煤質(zhì)預(yù)測模型給出下月或下一年度的煤質(zhì)數(shù)據(jù)[8]。

3.1 建立測試初始化環(huán)境

測試初始化環(huán)境控制著測試初始狀態(tài)以及所有測試預(yù)期,它是否模擬了真實(shí)環(huán)境將決定測試結(jié)果的真實(shí)性和正確性[9]。下面根據(jù)煤質(zhì)實(shí)際生產(chǎn)數(shù)據(jù)來建立業(yè)務(wù)對象并初始化數(shù)據(jù):

3.2 煤質(zhì)預(yù)測的測試用例

運(yùn)用ASL中關(guān)聯(lián)漫游、調(diào)用方法、發(fā)送信號等關(guān)鍵特征對煤質(zhì)預(yù)測過程進(jìn)行測試。部分測試片段如下:

在測試用例中,通過find-only操作,確保模型中只提供了唯一的有效句柄,判斷actual不為UNDEFINED則向類對應(yīng)狀態(tài)機(jī)發(fā)送信號PT1:Request_Data(),激發(fā)狀態(tài)跳轉(zhuǎn)并執(zhí)行入口動作。入口動作中通過關(guān)聯(lián)漫游導(dǎo)航對象關(guān)系,驗(yàn)證對象屬性值并進(jìn)行業(yè)務(wù)的處理。若測試用例執(zhí)行過程中報(bào)錯或者被測系統(tǒng)的行為與模型期望不一致,針對錯誤類型修改模型或者調(diào)整測試用例,直到模型反映出系統(tǒng)的預(yù)期行為。

4 結(jié)束語

本文針對模型驅(qū)動架構(gòu)(MDA)下的軟件開發(fā)方法中測試啟動比較晚、難以發(fā)現(xiàn)隱藏在模型中的缺陷及UML模型描述缺乏精確語義等問題,提出了基于ASL的模型測試方法。在模型驅(qū)動的基礎(chǔ)上使用ASL進(jìn)行模型測試建模,即在模型上下文中為處理行為和產(chǎn)生的結(jié)果提供無歧義的、精確的且易讀的定義。針對模型語義以及需求規(guī)格中的場景設(shè)計(jì)測試用例,完成對模型的測試。這樣既能利用模型驅(qū)動對復(fù)雜的測試用例進(jìn)行一種簡化和抽象,也賦予了開發(fā)者建立和集成真正的可復(fù)用測試組件的能力。

[1] Liu Jing,He Ji-feng,Miao Huai-kou.A strategy for model construction and integration in MDA[J].Journal of Software,2006,17(6):1411-1422.(in Chinese)

[2] OMG.Model driven architecture[EB/OL].[2012-08-20].http://www.omg.org/mda/.

[3] Wang Lin-zhang,Li Xuan-dong,Zheng Guo-liang.Research on model-driven software testing[J].Computer Science,2005,32(10):230-235.(in Chinese)

[4] Liu Yang,Li Ya-fen,Wang Pu.Automatic generation framework of model-driven test cases[J].Computer Engineering,2011,37(1):39-40.(in Chinese)

[5] Chris R,Paul F,John W,et al.Driven architecture with executable UML[M].Zhao Jian-hua,Zhang-Tian,Translation.Beijing:China Machine Press,2006.(in Chinese)

[6] Yang Jing,Gu Chun-hua.Automatic test case generation method based on UML state diagram[J].Journal of East China U-niversity of Science and Technology,2011,37(3):346-351.(in Chinese)

[7] Stefan B.Model driven test case construction[C]∥Proc of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering,2007:587-590.

[8] Wu Xue-tao.Forecast in coal quality management[J].Energy Technology and Management,2011(2):156-157.(in Chinese)

[9] Xu Hong-zhe,Chen Jian-ming.The auto-testing technology of UML[M].Xi’an Jiaotong University Press,2006.(in Chinese)

附中文參考文獻(xiàn):

[1] 劉靜,何積豐,繆淮扣.模型驅(qū)動架構(gòu)中模型構(gòu)造與集成策略[J].軟件學(xué)報(bào),2006,17(6):1411-1422.

[3] 王林章,李宣東,鄭國梁.模型驅(qū)動的軟件測試研究[J].計(jì)算機(jī)科學(xué),2005,32(10):230-235.

[4] 劉揚(yáng),李亞芬,王普.模型驅(qū)動的測試用例自動生成框架[J].計(jì)算機(jī)工程,2011,37(1):39-40.

[5] Chris R,Paul F,John W,等.MDA與可執(zhí)行 UML[M].趙建華,張?zhí)欤g.北京:機(jī)械工業(yè)出版社,2006.

[6] 楊晶,顧春華.基于UML狀態(tài)圖的測試用例自動生成方法[J].華東理工大學(xué)學(xué)報(bào),2011,37(3):346-351.

[8] 吳雪濤.預(yù)測預(yù)報(bào)在煤質(zhì)管理中的應(yīng)用[J].能源技術(shù)與管理,2011(2):156-157.

[9] 徐宏喆,陳建明.UML自動化測試技術(shù)[M].西安:西安交通大學(xué)出版社,2006.

Testing method for model driven architecture based on ASL

ZHANG Xiao-yan,WEN Hui
(College of Computer Science and Technology,Xi’an University of Science and Technology,Xi’an 710054,China)

Aiming at the issues of late test start-up in software development methods with model driven architecture(MDA),difficulty in finding the flaws hidden in models,deficient precise semantemes in UML model description and others,proposes a model test method based on ASL:Starting from the UML model,Action Specification Language(ASL)is applied to platform independent model(PIM)in order to build a test model.Narrates the operation mode of ASL sentences in MDA process,creating process of PIM,steps for building test cases,implementation of tests,and finally applies ASL to build test environment on the basis of UML diagrams by combining examples and creates systematical test cases to test the model and business logic.Experimental results show that the proposed model test method based on ASL can not only simplify and abstract the complicated test cases by using model driven,but also disclose the flaws in the earlier part of software life cycle,preventing the flaws from being amplified as the software development process continues.

model driven architecture;action specification language;platform independent model;test case

TP311.5

A

10.3969/j.issn.1007-130X.2014.04.016

2012-09-11;

2012-12-19

通訊地址:710054陜西省西安市西安科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院

Address:College of Computer Science and Technology,Xi’an University of Science and Technology,Xi’an 710054,Shaanxi,P.R.

China

1007-130X(2014)04-0662-05

張小艷(1967-),女,陜西西安人,教授,研究方向?yàn)榫W(wǎng)絡(luò)集成與數(shù)據(jù)技術(shù)、知識工程與智能系統(tǒng)。E-mail:xust_software@163.com

ZHANG Xiao-yan,born in 1967,professor,her research interests include network integration and data technology,knowledge engineering and intelligent systems.

文輝(1987-),男,湖南株洲人,碩士生,研究方向?yàn)槟P万?qū)動架構(gòu)和基于模型的測試。E-mail:284860391@qq.com

WEN Hui,born in 1987,MS candidate,his research interests include modeldriven architecture,and model-based testing.

猜你喜歡
語義動作模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
語言與語義
動作描寫要具體
畫動作
動作描寫不可少
3D打印中的模型分割與打包
“上”與“下”語義的不對稱性及其認(rèn)知闡釋
非同一般的吃飯動作
主站蜘蛛池模板: 欧美日韩国产成人在线观看| 亚洲欧美另类日本| 国产18在线播放| 中文国产成人久久精品小说| 日韩成人午夜| 欧美在线综合视频| www.国产福利| 中文字幕色站| 亚洲中文字幕日产无码2021| 一本大道香蕉高清久久| 久久午夜夜伦鲁鲁片无码免费| 青青热久免费精品视频6| 亚洲国产91人成在线| 毛片大全免费观看| 日韩福利在线视频| 中文字幕第4页| 欧美高清日韩| 亚洲视频一区在线| 亚洲AV免费一区二区三区| 婷婷综合亚洲| 无码丝袜人妻| 日韩毛片在线视频| 在线观看精品国产入口| 亚洲av无码牛牛影视在线二区| 伊人AV天堂| 日韩av在线直播| 波多野结衣无码AV在线| 久久频这里精品99香蕉久网址| 99久久国产综合精品2023| 国产精品久久久免费视频| 国产清纯在线一区二区WWW| 四虎成人免费毛片| 亚洲va欧美va国产综合下载| 伊人丁香五月天久久综合 | 欧美另类视频一区二区三区| 扒开粉嫩的小缝隙喷白浆视频| 人人看人人鲁狠狠高清| 91在线国内在线播放老师 | 国产AV毛片| 日本高清在线看免费观看| 免费一级α片在线观看| 永久免费AⅤ无码网站在线观看| 视频二区国产精品职场同事| 永久毛片在线播| 97国产精品视频自在拍| 丁香五月亚洲综合在线 | 99ri精品视频在线观看播放| 国产乱子伦无码精品小说 | 欧美有码在线观看| 国产精品免费入口视频| 精品久久高清| 国产一区二区三区日韩精品| 青青青国产视频手机| 97av视频在线观看| 国产成人夜色91| 三级毛片在线播放| 亚洲第一区欧美国产综合| 五月激情综合网| 伊人丁香五月天久久综合 | a亚洲天堂| 色偷偷一区二区三区| 精品久久国产综合精麻豆| 亚洲国产91人成在线| 伊人激情综合| 亚洲欧美一区在线| 国产一级裸网站| 精品国产污污免费网站| 在线中文字幕日韩| 黄色网在线| 国产黄色视频综合| 久久久精品无码一二三区| 国产成人精品高清在线| 日本午夜视频在线观看| 国产亚卅精品无码| 一本一本大道香蕉久在线播放| 精品国产香蕉伊思人在线| 亚洲成AV人手机在线观看网站| 久夜色精品国产噜噜| 又污又黄又无遮挡网站| 亚洲AV永久无码精品古装片| av在线手机播放| 亚洲欧美色中文字幕|