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

基于場景的形式化測試模型生成方法

2011-01-31 06:12:02繆淮扣
上海大學學報(自然科學版) 2011年5期
關鍵詞:文本模型

黃 龍, 繆淮扣, 王 皙, 郭 亮

(1.上海大學計算機工程與科學學院,上海200072;2.上海市軟件評測重點實驗室,上海201112)

測試是提高軟件可靠性的重要方法,而基于模型的測試是一種高效的測試方法.統一建模語言(unified modeling language,UML)以其操作簡單、易懂和易用的特點,在Web應用開發的建模中得到了廣泛的應用.雖然現在有很多從UML模型直接生成的測試用例的方法,但由于其半形式化的特點,使得UML模型很難直接用于基于模型的自動測試.

有限狀態機(finite state machine,FSM)是一個重要的建模工具,可為軟件設計人員提供一種便利的對軟件功能建模的方法.FSM具有成熟的理論基礎,它利用形式語言和自動機理論來設計和分析模型.目前,已有一些使用FSM建模Web應用的研究[1-3].而基于場景的測試能夠清晰明確地驗證用戶需求,提高測試的效率與質量,具有廣泛的應用前景.

UML是一種面向對象的標準建模語言,已廣泛應用于Web應用建模等領域.從測試用例生成的角度出發,FSM利用其自身的特點在軟件建模、測試和驗證中得到了廣泛的應用.UML在產生測試用例方面已有很多成熟的理論和方法.文獻[4]利用時間擴展UML狀態圖的語義,介紹了時間擴展UML狀態圖的混合時間Petri網模型的構造方法、混合時間Petri網模型測試用例生成方法.文獻[5]給出了順序圖的形式化定義,并將其用于對類圖以及狀態圖一致性的核對,但未將順序圖用于生成形式化測試模型的研究.文獻[6]從UML2.0順序圖中得到與其對應的消息流通圖,并通過遍歷該圖得到相應的測試序列.雖然這些方法可以從UML模型中直接產生測試用例,但是由于沒有形式化推理工具的理論引導,因此,不能提供模型驗證,缺乏嚴格的理論推導和證明.

本工作在已有研究[7]的基礎上,研究了如何使用UML順序圖表示場景,并利用場景來規約使用FSM表示的系統行為模型,從而得到基于場景的形式化測試模型.

1 FSM和場景

1.1 FSM

有限狀態機(FSM)M通常是一個5元組,M= (Q,Σ,δ,q0,F),其中Q={q0,q1,…,qn}表示非空的有限狀態集,在任一確定的時刻,FSM只能處于一個確定的狀態qi(0≤i≤n);Σ={σ1,σ2,…,σm}表示非空的有限輸入符號集,在任一確定的時刻,FSM只能接收一個確定的輸入σj(1≤j≤m);δ:Q× Σ→Q為狀態遷移函數.如果在某一確定的時刻,FSM處于某一個狀態qi∈Q,并接收一個輸入的字符σj∈Σ,那么,下一時刻將處于一個確定的狀態qj=δ(qi,σj)∈Q;q0∈Q為初始狀態,FSM由此狀態開始接收輸入;F∈Q為終止狀態集合,在達到終態后,FSM不再接收輸入.

1.2 場景

所謂場景(scenario),就是描述系統中各相關構件之間如何進行交互,以完成操作的某一個系統功能[8].本工作使用UML順序圖來表示場景.

UML是一種定義良好、易于表達、功能強大且普遍適用的建模語言.順序圖(sequence diagram)是強調消息的時間次序的交互圖,順序圖展示了一組角色和扮演這些角色的實例發送和接收的消息.

圖1為一個簡單的UML順序圖,由3個對象和3條同步消息組成.順序圖著重反映的是一組消息發生的時間的先后次序,其中消息“M1*”中的符號“*”表示該條消息可以重復進行多次(如可以模擬用戶輸入信息的操作),而消息“#”表示該條消息是緊接上一條消息自動進行的內部遷移操作(如用戶點擊另一頁面的鏈接時,由當前頁面進行的跳轉).

圖1 UML順序圖Fig.1 UML sequence diagram

2 投影

2.1 定義

本工作所定義的投影操作,是在描述系統狀態變化的FSM上,根據由順序圖表示的場景進行遍歷得到約簡后的FSM,該FSM只包括場景中所涉及的對象間的遷移.

投影的具體過程如下:①從順序圖中得到對象間進行通信的消息序列;②把得到的消息序列和描述系統狀態變化的FSM中的遷移集合進行交運算;③輸出只包含進行求交運算得到的遷移集合的子FSM,以達到對系統FSM約簡的目的.

2.2 實例分析

本工作通過使用一個網站的郵箱服務來說明如何利用本方法得到基于場景的形式化測試模型.用戶通過點擊一個網站主頁中的郵箱服務,進入登錄界面后輸入用戶信息,并在確認信息后進入個人郵箱進行后續操作.

圖2所示的郵箱服務功能包括從網站主頁選擇鏈接到郵箱登錄界面,輸入用戶信息點擊Submit,在信息得到確認后進入個人郵箱界面,或者點擊Cancel退出到登錄界面.在進入個人郵箱界面后,可選擇進入收件箱等界面進行操作(模型在此省略后續操作).最后點擊Logout退出到登錄頁面.

圖2 郵箱服務系統的FSMFig.2 FSM of E-mail service system

圖3為模擬用戶登錄郵箱后不進行其他操作直接退出郵箱的場景.

圖3 模擬用戶操作的場景Fig.3 Scenario imitating user’s operation

圖4為使用圖2所示的場景和圖3所示的系統FSM進行投影操作后,得到的基于場景的FSM,所生成的測試模型可以用于后期自動產生測試用例.

3 實現方法

首先,使用UML狀態圖對系統行為進行建模,并根據文獻[7](主要針對非正交的UML狀態圖)中的方法進行形式化轉換工作;然后,使用UML順序圖對場景進行建模;最后,通過對系統行為的FSM和場景進行投影操作,得到基于場景的形式化測試模型(見圖5).

圖4 投影操作后的FSMFig.4 FSM after projection operation

圖5 形式化測試模型的生成Fig.5 Generation of formal testing model

本工作采用可擴展標記語言(extensible markup language,XML)文本格式來存儲UML模型,用狀態圖擴展標記語言(state chart XML,SCXML)文本格式來存儲FSM模型.

3.1 UML模型的文本表示

元數據交換(XML-based matadata intercharge,XMI)使用XML的語法,是為程序員和其他用戶提供元數據信息交換的標準方法.XMI產生的目的在于幫助使用UML以及不同語言和開發工具的程序員彼此交換數據模型,規范了如何從UML模型生成XML文檔,實現二者之間的無縫裝換.XMI元素與UML模型的對應關系如表1所示.

表1 UML和XMI元素對應表Table 1 Corresponding elements of UML and XMI

3.2 FSM文本表示

SCXML給出了FSM模型的XML文本表示,它是基于呼叫控制擴展標記語言(call control XML,CCXML)和Harel State Tables的執行環境.SCXML提供了通用狀態機的描述方法,并且可以定義和處理復雜的概念,例如層次性,因此,本工作選用SCXML作為FSM的文本表示方式.SCXML元素與FSM模型的對應關系如表2所示.

表2 FSM和SCXML元素對應表Table 2 Corresponding elements of FSM and SCXML

表1和表2是UML模型到FSM模型轉換的基礎,模型能通過文本的形式得到很好的表達,為后面模型之間的轉換做好準備.

3.3 算法

模型的生成過程按照以下幾個步驟進行:

(1)使用開源工具ArgoumUML對系統狀態變化以及場景進行建模,然后導出并保存為XMI格式的文本;

(2)使用已有的方法[7]形式化系統行為狀態圖,并保存為SCXML格式的文本;

(3)導入使用XMI格式存儲的場景;

(4)解析導入的場景,輸出消息序列,并保存在程序內存中;

(5)導入使用SCXML格式表示系統狀態變化的FSM;

(6)對系統FSM和消息序列進行投影操作,輸出投影后的結果,使用SCXML格式進行保存.

上述過程包括了對表示UML模型的XMI文本的載入和解析.由于XMI是一種XML語言,層次的查找和分析成為工具原型主要的功能模塊,通過調用dom4j的API來查找Node以實現解析的目標,解析過程分別如圖6和圖7所示.

圖6 載入XMI文檔界面Fig.6 Loading XMI

圖7 解析后的SCXML文檔界面Fig.7 Result of resolution in the form of SCXML

4 結束語

本工作提出了生成基于場景的形式化測試模型的方法,采用XMI作為UML模型的文本表示語言,采用SCXML作為FSM模型的文本表示語言,通過投影操作完成對系統行為模型的約簡,并得到基于場景的精簡的測試模型.下一步的工作是研究場景本身應具備的一些性質,使得所生成的測試模型具有完備、冗余少的優點,并對所得到的測試模型進行可視化研究.

[1] CHOWT.Testing software designs modeled by finite-state machines [J]. IEEE Transactions on Software Engineering,1978,SE-4(3):178-187.

[2] OFFUTTJ,LIUS Y,ABDURAZIKA,et al.Generating test data from state-based specifications[J].Software Testing,Verification&Reliability,2003,13(1):25-53.

[3] ANDREWSA,OFFUTTJ,ALEXANDERR.Testing web applications by modeling with FSMs[J].Software Systems and Modeling,2005,4(3):326-345.

[4] 唐波,廖偉志.統一建模語言狀態圖的測試用例生成方法[J].計算機仿真,2007,24(8):90-92.

[5] LIX S,LIUZ M,HEJ F.A formal semantics of UML sequence diagram [C]∥ Proceedings of the 2004 Australian Software Engineering Conference.2004:168-177.

[6] SAMUELP,JOSEPHA T.Test sequence generation from UML sequence diagrams[C]∥ Ninth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing.2008:879-887.

[7] 郭亮,繆淮扣,王皙,等.UML模型到FSM模型的轉換[J].計算機科學,2009(7):113-116,149.

[8] 胡軍,于笑豐,張巖,等.基于場景規約的構件式系統設計分析與驗證[J].計算機學報,2006,29(4):513-525.

猜你喜歡
文本模型
一半模型
重要模型『一線三等角』
初中群文閱讀的文本選擇及組織
甘肅教育(2020年8期)2020-06-11 06:10:02
重尾非線性自回歸模型自加權M-估計的漸近分布
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
3D打印中的模型分割與打包
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
論《柳毅傳》對前代文本的繼承與轉化
人間(2015年20期)2016-01-04 12:47:10
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
主站蜘蛛池模板: 精品国产香蕉伊思人在线| 日韩精品久久无码中文字幕色欲| 日韩小视频网站hq| 国产h视频在线观看视频| 国产精品开放后亚洲| 最新国产你懂的在线网址| 日韩精品欧美国产在线| 欧美一区二区自偷自拍视频| 91无码网站| 成人福利免费在线观看| 91尤物国产尤物福利在线| 国产欧美在线观看精品一区污| 67194成是人免费无码| 欧洲熟妇精品视频| 国产精品亚洲日韩AⅤ在线观看| 欧美黑人欧美精品刺激| 欧美www在线观看| 日本免费a视频| 亚洲一区二区精品无码久久久| 日韩毛片免费观看| 2020精品极品国产色在线观看| 激情六月丁香婷婷四房播| 一级成人欧美一区在线观看 | 精品视频91| 欧美日韩国产精品va| 国产成人AV男人的天堂| 精品乱码久久久久久久| 国产91精品久久| 欧美爱爱网| 精品一区二区三区自慰喷水| 亚洲婷婷丁香| 亚洲国产中文在线二区三区免| 伊人网址在线| 91口爆吞精国产对白第三集| 国产精品人莉莉成在线播放| 亚洲精品国产成人7777| 高清色本在线www| 国产无人区一区二区三区| 狠狠色丁香婷婷综合| 中国国产高清免费AV片| 亚洲精品无码久久久久苍井空| 亚洲中文久久精品无玛| 欧美精品在线看| 先锋资源久久| 麻豆精品国产自产在线| 亚洲视频a| Aⅴ无码专区在线观看| 伊人色天堂| 伊在人亚洲香蕉精品播放| 色哟哟国产成人精品| 国产经典三级在线| 久久99久久无码毛片一区二区| 美女无遮挡拍拍拍免费视频| 国产精品无码AⅤ在线观看播放| 欧美激情综合一区二区| 在线中文字幕日韩| 91免费观看视频| 最新痴汉在线无码AV| 91久久夜色精品国产网站| 无码高潮喷水专区久久| 一级福利视频| 久久综合伊人 六十路| a毛片在线免费观看| 亚洲精品麻豆| 国产精品手机在线播放| 欧美成人精品高清在线下载| 国产视频大全| 麻豆国产在线不卡一区二区| 日韩a在线观看免费观看| 国产精品爽爽va在线无码观看| 欧美国产另类| 毛片最新网址| 久久中文无码精品| 天天综合天天综合| 精品国产女同疯狂摩擦2| 大陆精大陆国产国语精品1024| 日韩国产高清无码| 日韩天堂网| 一本大道香蕉久中文在线播放| 亚洲综合一区国产精品| 国产性爱网站| 国产自产视频一区二区三区|