亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2011-01-31 06:12:02繆淮扣
        關(guān)鍵詞:狀態(tài)圖測試用例郵箱

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

        (1.上海大學(xué)計(jì)算機(jī)工程與科學(xué)學(xué)院,上海200072;2.上海市軟件評測重點(diǎn)實(shí)驗(yàn)室,上海201112)

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

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

        UML是一種面向?qū)ο蟮臉?biāo)準(zhǔn)建模語言,已廣泛應(yīng)用于Web應(yīng)用建模等領(lǐng)域.從測試用例生成的角度出發(fā),F(xiàn)SM利用其自身的特點(diǎn)在軟件建模、測試和驗(yàn)證中得到了廣泛的應(yīng)用.UML在產(chǎn)生測試用例方面已有很多成熟的理論和方法.文獻(xiàn)[4]利用時(shí)間擴(kuò)展UML狀態(tài)圖的語義,介紹了時(shí)間擴(kuò)展UML狀態(tài)圖的混合時(shí)間Petri網(wǎng)模型的構(gòu)造方法、混合時(shí)間Petri網(wǎng)模型測試用例生成方法.文獻(xiàn)[5]給出了順序圖的形式化定義,并將其用于對類圖以及狀態(tài)圖一致性的核對,但未將順序圖用于生成形式化測試模型的研究.文獻(xiàn)[6]從UML2.0順序圖中得到與其對應(yīng)的消息流通圖,并通過遍歷該圖得到相應(yīng)的測試序列.雖然這些方法可以從UML模型中直接產(chǎn)生測試用例,但是由于沒有形式化推理工具的理論引導(dǎo),因此,不能提供模型驗(yàn)證,缺乏嚴(yán)格的理論推導(dǎo)和證明.

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

        1 FSM和場景

        1.1 FSM

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

        1.2 場景

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

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

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

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

        2 投影

        2.1 定義

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

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

        2.2 實(shí)例分析

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

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

        圖2 郵箱服務(wù)系統(tǒng)的FSMFig.2 FSM of E-mail service system

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

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

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

        3 實(shí)現(xiàn)方法

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

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

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

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

        3.1 UML模型的文本表示

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

        表1 UML和XMI元素對應(yīng)表Table 1 Corresponding elements of UML and XMI

        3.2 FSM文本表示

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

        表2 FSM和SCXML元素對應(yīng)表Table 2 Corresponding elements of FSM and SCXML

        表1和表2是UML模型到FSM模型轉(zhuǎn)換的基礎(chǔ),模型能通過文本的形式得到很好的表達(dá),為后面模型之間的轉(zhuǎn)換做好準(zhǔn)備.

        3.3 算法

        模型的生成過程按照以下幾個(gè)步驟進(jìn)行:

        (1)使用開源工具ArgoumUML對系統(tǒng)狀態(tài)變化以及場景進(jìn)行建模,然后導(dǎo)出并保存為XMI格式的文本;

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

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

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

        (5)導(dǎo)入使用SCXML格式表示系統(tǒng)狀態(tài)變化的FSM;

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

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

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

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

        4 結(jié)束語

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

        [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] 唐波,廖偉志.統(tǒng)一建模語言狀態(tài)圖的測試用例生成方法[J].計(jì)算機(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模型的轉(zhuǎn)換[J].計(jì)算機(jī)科學(xué),2009(7):113-116,149.

        [8] 胡軍,于笑豐,張巖,等.基于場景規(guī)約的構(gòu)件式系統(tǒng)設(shè)計(jì)分析與驗(yàn)證[J].計(jì)算機(jī)學(xué)報(bào),2006,29(4):513-525.

        猜你喜歡
        狀態(tài)圖測試用例郵箱
        基于ASP.NET的高校畢業(yè)論文管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
        關(guān)于我放寒假后的真實(shí)狀態(tài)
        基于Web 的高校資產(chǎn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
        沒問題郵箱
        趣味(語文)(2018年10期)2018-12-29 12:28:30
        基于混合遺傳算法的回歸測試用例集最小化研究
        關(guān)于停止使用dianxunjishu@china.com郵箱的通知
        基于UML狀態(tài)圖的軟件系統(tǒng)測試用例生成方法
        郵箱變更
        基于依賴結(jié)構(gòu)的測試用例優(yōu)先級技術(shù)
        一本色道无码道dvd在线观看| 久久99精品久久水蜜桃| 欧美日韩一区二区三区自拍| 91日韩东京热中文字幕| 国产精品第1页在线观看| 亚洲av无码av在线播放| 午夜爽爽爽男女免费观看影院| 色婷婷五月综合激情中文字幕| 亚洲成在人网av天堂| 乱人伦中文无码视频| 成人av毛片免费大全| 精品久久久久久99人妻| 国产剧情国产精品一区| 亚洲色图在线免费观看视频| 日日噜噜夜夜久久密挑| 亚洲人成在线播放网站| 四月婷婷丁香七月色综合高清国产裸聊在线 | 国产亚洲精品一区在线| 少妇被日到高潮的视频| 久久九九有精品国产尤物| 久久精品国产自在天天线| 日本视频一中文有码中文| 日本中文字幕人妻精品| 就去吻亚洲精品欧美日韩在线| 香蕉人人超人人超碰超国产| 开心激情视频亚洲老熟女| 日韩av中文字幕一卡二卡 | 天堂无码人妻精品av一区| 国产成人无码a区在线观看导航| 国产精品熟女视频一区二区三区| 人妻av一区二区三区av免费| 久久精品国产精品亚洲毛片 | 亚洲va久久久噜噜噜久久男同| 日本丰满少妇xxxx| 喷水白浆视频在线观看| 成人全部免费的a毛片在线看| 青青草免费激情自拍视频| 九九久久国产精品大片| 北条麻妃毛片在线视频| 国产无遮挡又黄又爽又色| www插插插无码视频网站|