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

基于ASL的模型驅動架構測試方法*

2014-01-24 06:55:18張小艷
計算機工程與科學 2014年4期
關鍵詞:語義動作模型

張小艷,文 輝

(西安科技大學計算機科學與技術學院,陜西 西安 710054)

基于ASL的模型驅動架構測試方法*

張小艷,文 輝

(西安科技大學計算機科學與技術學院,陜西 西安 710054)

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

模型驅動架構;動作規約語言;平臺無關模型;測試用例

1 引言

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

在MDA中,平臺無關模型PIM(Platform Independent Model)隱藏實現細節以獲取系統的業務級視圖,這種系統抽象級別的提升帶來了一些測試上的問題,例如,(1)測試啟動比較晚,在系統完成后才啟動;(2)難以發現隱藏在模型中的缺陷[2]。

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

本文引入動作規約語言ASL(Action Specification Language)對業務模型中的動作進行清晰、精確且抽象的描述,建立系統測試用例,并且無歧義地執行測試來監視測試結果,實現單元測試和回歸測試的平臺無關化。

2 基于ASL的測試基本框架

2.1 ASL及其特性

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

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

2.2 平臺無關模型的建立

PIM對應分析模型,它處于中間抽象層次,關注系統的整個架構實現,與平臺無關。建立PIM的目的是為了理解問題域,獲取和表達所有業務需求,并且包含了對系統的所有規約[5]。作為測試對象,平臺無關模型主要包含域模型圖、用例圖、順序圖、類圖、協作圖、狀態機圖等。基于ASL的模型測試技術主要以類圖和狀態圖為基礎,加入ASL語句對模型中的動作進行擴展。圖2給出了ASL協助建立模型的示例。

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

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

其建立步驟如下:

步驟1域模型的建立。在域模型中,將系統按主題劃分為不同的域,每一個域表示系統中的一個獨立的主題事務。

步驟2建立域中的類圖。類圖是平臺獨立模型的靜態視點,由類名、屬性和方法組成,并且類之間存在關聯關系。其中,方法用來表示通過帶參數的接口來調用的動作,在方法中可以進行業務邏輯的處理和數據的計算。但是,類圖僅是結構化的聲明,每個類方法的行為都由詳細的ASL描述。圖2中,通過ASL描述后,Traffic Light類的Display Traffic_Light方法在模型層具有了可執行能力。

步驟3針對動態類創建狀態圖。每個類最多有一個狀態機,該狀態機描述了所有該類對應對象的行為。每個狀態有且只有一個相關聯的動作,該動作在對象進入這個狀態的時候執行。每個轉換上都附有一個信號,該信號導致了轉換的發生[6]。狀態圖建模過程從識別代表常規行為的狀態開始,ASL用來描述狀態中的動作以及那些能觸發狀態轉移的信號。如圖2所示,ASL將系統的動態行為在狀態圖中展現出來,是對靜態模型的補充,也是基于ASL模型測試的重要組成部分。

2.3 ASL建立測試用例

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

2.3.1 初始化片段的創建

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

2.3.2 測試用例的建立

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

模型語義的測試是指對模型元素中對象、屬性、關系及約束的測試,包括對象唯一性驗證、對象關聯的導航與驗證、方法的調用、類型一致性檢驗等。

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

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

以上兩類測試構成了基于ASL的測試用例。模型語義測試對模型細節部分進行測試,而場景測試則是在需求規格的視角下將應用場景描述出來,是從全局來測試系統。在場景模擬過程中也穿插著對模型語義的測試,實現對系統模型的全面測試。

2.4 執行測試

基于ASL的測試執行過程分為四步:

步驟1將模型、測試規則等導入,利用模型分析和驗證器完成語法分析和驗證,保證模型的完整性及語法的正確性。

步驟2執行初始化片段,建立測試所需的執行環境和初始化狀態。

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

步驟4 根據測試結果反復精化模型,直到對于每個測試用例都產生了期望的結果,并且驗證了業務需求的正確性。

圖3展示了測試執行過程。

Figure 3 Process of test execution圖3 測試執行過程

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

3 示例分析:煤質預測業務

以煤質預測預報系統為例,簡要說明在MDA架構中運用ASL完成模型測試。煤質預測預報系統簡要過程是:運用煤礦煤質計劃數據、生產過程煤質數據、煤層煤樣數據,通過煤質預測模型給出下月或下一年度的煤質數據[8]。

3.1 建立測試初始化環境

測試初始化環境控制著測試初始狀態以及所有測試預期,它是否模擬了真實環境將決定測試結果的真實性和正確性[9]。下面根據煤質實際生產數據來建立業務對象并初始化數據:

3.2 煤質預測的測試用例

運用ASL中關聯漫游、調用方法、發送信號等關鍵特征對煤質預測過程進行測試。部分測試片段如下:

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

4 結束語

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

[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)

附中文參考文獻:

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

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

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

[5] Chris R,Paul F,John W,等.MDA與可執行 UML[M].趙建華,張天,譯.北京:機械工業出版社,2006.

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

[8] 吳雪濤.預測預報在煤質管理中的應用[J].能源技術與管理,2011(2):156-157.

[9] 徐宏喆,陳建明.UML自動化測試技術[M].西安:西安交通大學出版社,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陜西省西安市西安科技大學計算機科學與技術學院

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-),女,陜西西安人,教授,研究方向為網絡集成與數據技術、知識工程與智能系統。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-),男,湖南株洲人,碩士生,研究方向為模型驅動架構和基于模型的測試。E-mail:284860391@qq.com

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

猜你喜歡
語義動作模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
語言與語義
動作描寫要具體
畫動作
動作描寫不可少
3D打印中的模型分割與打包
“上”與“下”語義的不對稱性及其認知闡釋
現代語文(2016年21期)2016-05-25 13:13:44
非同一般的吃飯動作
主站蜘蛛池模板: 国内精品久久久久鸭| 波多野结衣无码中文字幕在线观看一区二区| 国产午夜小视频| 国产成人永久免费视频| 午夜a视频| 狂欢视频在线观看不卡| 亚洲aⅴ天堂| a毛片在线播放| 色噜噜狠狠色综合网图区| 国产成人精品一区二区| 毛片网站免费在线观看| 国产又大又粗又猛又爽的视频| 无码 在线 在线| 久久中文字幕av不卡一区二区| 国产Av无码精品色午夜| 午夜不卡视频| 国产精品一线天| 国产黄色视频综合| jijzzizz老师出水喷水喷出| 综合色亚洲| 99热6这里只有精品| 国产亚洲欧美另类一区二区| 制服丝袜一区| 毛片网站在线播放| 亚洲男人在线| 亚洲无码精彩视频在线观看| 国产欧美日韩综合在线第一| 中文字幕在线日本| 国产日本欧美亚洲精品视| 亚洲欧美日韩天堂| 中国毛片网| 日本在线视频免费| 久久精品无码国产一区二区三区| 老色鬼久久亚洲AV综合| 亚洲人成在线免费观看| 亚洲手机在线| 久久久波多野结衣av一区二区| 97色婷婷成人综合在线观看| 亚洲精品国产首次亮相| 91在线日韩在线播放| 国产91视频观看| 欧美激情网址| 99999久久久久久亚洲| 日韩在线成年视频人网站观看| 18禁高潮出水呻吟娇喘蜜芽| 成人在线亚洲| 这里只有精品在线| 亚洲成aⅴ人片在线影院八| 欧洲熟妇精品视频| 国禁国产you女视频网站| 福利在线一区| 热久久这里是精品6免费观看| 9丨情侣偷在线精品国产| 91毛片网| 国产福利不卡视频| 在线观看91精品国产剧情免费| 亚洲国产AV无码综合原创| 亚洲 欧美 日韩综合一区| 综合天天色| 伊人中文网| 91在线一9|永久视频在线| 日韩av无码DVD| 国产精品99在线观看| 日本精品αv中文字幕| 国产十八禁在线观看免费| 中文无码精品A∨在线观看不卡 | 一级毛片无毒不卡直接观看| 国产aaaaa一级毛片| 国产精品乱偷免费视频| 97超爽成人免费视频在线播放| 亚洲va欧美va国产综合下载| 亚洲成人精品在线| 亚洲水蜜桃久久综合网站| 永久免费av网站可以直接看的| 51国产偷自视频区视频手机观看| 国产精品制服| 亚洲福利片无码最新在线播放| 国产在线98福利播放视频免费| 国产欧美视频在线观看| 在线免费看片a| 欧美精品亚洲二区| 毛片网站免费在线观看|