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

        ?

        基于Q tronic工具的在線測試產(chǎn)品設計

        2010-12-27 03:50:42康瑛石劉秀峰
        東北師大學報(自然科學版) 2010年4期
        關鍵詞:數(shù)據(jù)類型適配器端口

        康瑛石,劉秀峰

        (1.浙江工商職業(yè)技術學院,浙江寧波 315000; 2.奧博學術大學計算機系,圖爾庫 20520)

        基于Q tronic工具的在線測試產(chǎn)品設計

        康瑛石1,劉秀峰2

        (1.浙江工商職業(yè)技術學院,浙江寧波 315000; 2.奧博學術大學計算機系,圖爾庫 20520)

        運用了一種基于模型的測試工具Q tronic,優(yōu)化設計出一個系統(tǒng)測試模型產(chǎn)品,并分析了如何實現(xiàn)適配器和如何運用自動生成的測試實例對系統(tǒng)進行有效測試.測試結果證明,一個成功的設計模型產(chǎn)品能極大地提高發(fā)現(xiàn)系統(tǒng)隱藏錯誤(Bugs)的機會.

        模型產(chǎn)品設計;在線測試產(chǎn)品;適配器

        0 引言

        傳統(tǒng)軟件測試難以勝任手動測試的過程,不能處理復雜的軟件規(guī)格.為解決這一難題,通過采用新的途徑從系統(tǒng)規(guī)格中自動獲得測試案例.途徑之一便是模型測試產(chǎn)品(MBT),運用該產(chǎn)品測試可以根據(jù)模型的部分描述或給定的完整系統(tǒng)而自動生成.用模型測試產(chǎn)品可以代替上百次的手工繪制測試案例,如測試設計者寫出被測試系統(tǒng)(SU T)的抽象模型,模型測試工具將從模型里自動產(chǎn)生一套測試案例.優(yōu)勢在于測試的產(chǎn)生過程能夠在模型里系統(tǒng)地形成與測試需求相關的所有組合,從而實現(xiàn)測試設計的自動化過程.

        測試案例根據(jù)給定的模板,臨近備用設備基于被測試系統(tǒng)的執(zhí)行自動生成.產(chǎn)生的被測試系統(tǒng)的輸出和時間排序會在測試時進行詳盡的動態(tài)檢測.

        離線測試是傳統(tǒng)的測試方法.依此方法,測試案例的產(chǎn)生和執(zhí)行是分成兩個互相獨立的階段的,所有的測試案例都是先產(chǎn)生后執(zhí)行.與傳統(tǒng)的離線測試相比,在線測試體現(xiàn)了其長期測試的優(yōu)勢,如測試可持續(xù)數(shù)小時甚至數(shù)天,減少了離線測試時狀態(tài)空間爆炸的問題,并允許非確定性、即時系統(tǒng)測試[1].

        模型測試產(chǎn)生于像電話交換器這樣的硬件測試,近幾年已經(jīng)擴展到軟件領域[2].模型測試已發(fā)展成不同風格的研究工作.例如文獻[3-4]包括大范圍的模型測試工作.人們已經(jīng)研究了模型測試的生成技術并將此技術運用于一些工業(yè)系統(tǒng)[5-6].一些模型測試工具得到了很好的發(fā)展,如:A ETGG,Case M aker,A TD-Automated Test Designer和Conformiq Qtronic等[7].

        我們運用Conformiq Qtronic(1.0.5版本)工具來執(zhí)行手機游戲服務在線模型測試.當輸入既定的系統(tǒng)的“設計模型”時,Confo rm iq自動導出測試.導出的測試實際上是黑盒測試,它取決于性能的模型和測試系統(tǒng)的端口狀態(tài)和設置,而非實施的內(nèi)部結構[8].Q tronic提供在線和離線測試模式兩個補充模型來配置導出測試.在線模式中,Qtronic從設計模型中產(chǎn)生大量不同的測試案例,并直接在運行的系統(tǒng)中執(zhí)行.離線模式中,從模型中產(chǎn)生測試腳本,隨后可在系統(tǒng)中獨立執(zhí)行.

        本文通過Q tronic建模型以及演示在線測試來展現(xiàn)測試模型設計,討論了適配器插件法的創(chuàng)建以及運行測試,并分析測試了結果.

        1 ABOT測試系統(tǒng)

        在ABOT系統(tǒng)中,一個物理區(qū)域內(nèi)游戲者可以用像手機那樣的便攜設備進行交互式游戲.服務器在游戲者手持的屏幕上用電子地圖提供物理游戲區(qū)域交換.便攜設備會隨著游戲者在游戲區(qū)域內(nèi)的位置定期更新服務器.服務器計算所有游戲者的圖像區(qū)域,并將運算出的信息發(fā)布給所有在線登陸的游戲者們.根據(jù)收到的位置信息,游戲者可以和其他游戲者進行打斗,或根據(jù)程序(客觀的能夠提高游戲者的經(jīng)驗價值)在一個可打斗的距離,程序可根據(jù)打斗隨意移動.如果俘獲一個機器人,便能獲得程序中的機器人的點數(shù).如果游戲者在打斗中失敗,他的經(jīng)驗價值還有所擁有機器人將被分配給贏家.失敗者可以通過返回主頁凡人方式復活.

        ABOT游戲服務器的結構有兩個主要部件(見圖1).通信管理器,作為服務器和游戲管理者的一個信息媒介,基本上是服務器的引擎.游戲管理者,所有的輸入信息首先由信息分析器進行分析以便后續(xù)工序.然后,一個“客戶經(jīng)理”對游戲者進行身份驗證和注冊,然而,登陸的游戲者和點數(shù)是由“游戲經(jīng)理”和“點數(shù)經(jīng)理”分別管理的.“打斗結果經(jīng)理”用來決定打斗的結果,“位置經(jīng)理”用來變換GPS位置到游戲者的像素位置,并運算游戲者與其他所有游戲者、交換服務器和游戲者們之間的數(shù)據(jù),不對稱的交換會被用到.也就是說游戲者用點對點(PtP)方式,通過3G或GPRS技術鏈接,將數(shù)據(jù)發(fā)送給服務器,服務器通過無線的DVB-H媒介將數(shù)據(jù)發(fā)布給其他游戲者.這一方法使游戲者們可以積極地進行游戲互動,服務器可以修改游戲設置并發(fā)布適當?shù)臄?shù)據(jù)給游戲者們.信息結構經(jīng)常在服務器和游戲者之間交換信息(見圖2).信息的每個字段解釋見表1和2.

        圖1 ABOT的結構

        圖2 ABOT的信息結構

        表1 信息結構描述

        表2 信息類型描述

        2 Qtron ic在線測試

        2.1 被測試系統(tǒng)模型設計

        我們需要用Qtronic模型語言(QML)建立被測試模型,從而能夠用Qtronic工具執(zhí)行在線測試. QML即用文本也用圖示的符號.然而,圖示符號總是要依賴文本符號進行完善.文本的QML基本屬于變種的Java語言[9],然而,圖示模型用狀態(tài)機提供基本模型,沒有像正交直線或歷史狀態(tài)那樣的先進特征.一個圖示編輯Qtronic制造模型者創(chuàng)建和編輯圖示的規(guī)格.

        在QML中,系統(tǒng)的靜態(tài)描述類似Java語言的類別定義.此外,還類似標準Java特征(像構造器方法、分類方法等)系統(tǒng)規(guī)格,包括系統(tǒng)端口的定義,數(shù)據(jù)類型通過這些端口輸入或輸出.程序1體現(xiàn)了系統(tǒng)分程序描述ABO T服務器端口,即輸入接受信息,輸出發(fā)送信息.

        用程序2列出服務器用到的5種數(shù)據(jù)類型.其中,M sgHdr是其他3種輸入數(shù)據(jù)類型的超級類型.輸入信息記錄類型有3種:

        ●賬戶:游戲者用來登錄的用戶名和密碼;

        ●戰(zhàn)績:顯示游戲者的戰(zhàn)績或機器人的戰(zhàn)斗結果;

        ●超時:顯示超時信息的類型.

        輸出記錄數(shù)據(jù)類型“回應”用來通過被測試系統(tǒng)對檢驗器進行信息宣布,同時也宣布字段信息類型TOC和信息目錄.

        完成了對系統(tǒng)端口和通過這些端口輸入輸出的數(shù)據(jù)類型的定義以后,整個體統(tǒng)就成為一個Java.通過擴展狀態(tài)機的類別,機器人類別將有一個從超級類別獲得的Run(自動運行項)程序執(zhí)行的線程.如果文本QM T符號用來具體說明服務器的性能,那么執(zhí)行狀態(tài)機的編碼就會被添加到Run程序.然而,如果選擇圖解模型建模服務器性能,因為性能會從圖解模型輸入,所以就沒有必要定義Run程序了.

        我們的研究采用QM T的圖解表示法建模服務器性能.通過分析服務器的需求,得到下列幾個主要功能:

        ●用戶賬戶管理:負責新玩家的注冊和賬戶認證;

        ●戰(zhàn)績管理:裁決游戲者之間和游戲者與機器人之間的打斗結果,并不斷改變機器人的所屬權;

        ●游戲者與機器人位置管理:更新游戲者的實際位置,分別發(fā)布游戲者和機器人的像素信息.

        基于上述這些功能,我們把服務器分為6個狀態(tài),如圖3所示.在程序3編碼摘錄中可以看到,狀態(tài)機對轉變的作用如同機器人類別中的程序一樣.在執(zhí)行測試時,服務器的狀態(tài)機將會通過從狀態(tài)機獲得的start程序啟動.

        圖3 ABOT游戲服務器狀態(tài)機

        生成設計模型令人關注的方面是SU T超時性能的建模.每當注冊玩家變換位置,服務器就會通過GPS定位系統(tǒng)接收信息.服務器收集位置信息并有規(guī)律地(每隔5 min)把它發(fā)送給游戲中的所有玩家.我們理想地認為,既然發(fā)布信息體系完全獨立于服務器的其他活動,那么它應該用服務器狀態(tài)機的圖解狀態(tài)來建模.然而,QM T的圖解版本并不支持圖解狀態(tài),所以我們用QM T的文字版本把信息發(fā)布系統(tǒng)建模成一個單獨分開的QM T線程.實際上,SU T的任何模型都可以解讀并且能夠在電腦運作時間當作線程來應用.因此,我們可以為一個給定的類別增添多個線程,擴展狀態(tài)機的類別.這種方法在展示在機器人類別的main功能里.

        2.2 連接Qtron ic和SUT

        要進行在線測試,Qtronic必須通過適配器連接到SU T上.適配器用來把Qtronic的普通端口轉換成測試系統(tǒng)的某個端口(實驗中用輸入/輸出端口表示).此外,適配器是縮小模型與SU T之間抽象缺口的好方法[8].因為基于模型的測試工具產(chǎn)生的測試程序組太抽象了,沒有足夠的具體細節(jié),測試系統(tǒng)不能進行測試.圖4表示在線測試結構中的適配器.

        圖4 在線測試適配器架構

        在線測試過程之初,適配器作為一個C++動態(tài)鏈接庫(DDL)的插件輸入Qtronic.測試一開始,適配器就按照由測試器啟動的本身特有的線程運行.當Q tronic發(fā)送數(shù)據(jù)時,適配器就接受程序要求,它還把從SU T那里接收到的數(shù)據(jù)送回到Qtronic那里{qtronic08}.為了簡化這個機制,Qtronic運用一種普通的數(shù)據(jù)類型,即datum與適配器進行通信.適配器的任務就是從SU T支持的數(shù)據(jù)類型轉換數(shù)據(jù).

        在適配器的安裝啟用中有兩個端口用來和測試器進行通信,即接受端口和發(fā)送端口.接受端口程序是測試器把數(shù)據(jù)發(fā)送到SU T,而發(fā)送端口程序則是適配器把SU T發(fā)送的信息返送回測試器.輸入端口和輸出端口用來執(zhí)行與SU T的通信合作.程序4給出的編碼樣本,展示的就是當玩家操作時,適配器與Qtronic測試器和SU T的通信活動.同樣也展示了普通數(shù)據(jù)類型datum是怎樣轉換成SU T具體數(shù)據(jù)類型的.在案例中,注冊程序力求構建一個能夠被發(fā)送到ABOT游戲服務器的登錄信息,而接受信息程序則用來檢索由服務器返送回來的回應信息.

        只有基于普通數(shù)據(jù)類型的Datum才會在Q tronic和適配器之間交換.適配器與SU T交流時要把普通數(shù)據(jù)測試器從內(nèi)部的QML record數(shù)據(jù)類型轉換成具體的數(shù)據(jù)類型、子類型.QML record是用來建模數(shù)據(jù)類型的,而數(shù)據(jù)類型由運用了reco rd數(shù)據(jù)類型的設計模型定義的(見程序2).Datum和QM TRecord之間的轉換在程序4中表示出來.這是QMLDataM apper和Datum Factory類別完成的.在這個程序末尾,我們構建了一個Response記錄,設置其字段值,從而使數(shù)據(jù)從QM TReco rd轉換成Datum,最終發(fā)送到測試器.

        2.3 實行測試

        更確切地說,ABO T游戲服務器在線測試是用來核對服務器和游戲者之間發(fā)送與接收信息的準確性.也就是說,每當服務器接收到測試器的信息,我們期待服務器執(zhí)行接收這條信息的任務;當服務器發(fā)送一條信息給測試器時,我們預料服務器會產(chǎn)生結果.例如,一玩家注冊時,typeOfContent=x08信息就會發(fā)送到服務器,服務器接收到注冊信息時就會核實玩家的賬戶登記.如果玩家注冊成功,服務器就反送回一條信息typeOfContent=x09,否則就顯示注冊失敗.

        Qtronic在線測試時,需要下載系統(tǒng)模型和適配器插件.下載完系統(tǒng)模型之后,Q tronic將檢測模型的結構是否完整,報告不匹配之處.Q tronic根據(jù)給定的模型自動生成測試案例,排除有悖于實際系統(tǒng)運行的案例,逐個確認測試結果的有效性.測試進行中,像過渡范圍和狀態(tài)范圍這些基于模型的范圍標準是用來指導測試生成的.可以安裝的測試執(zhí)行過程的附加選項也有很多,如已選標準的Stop at 100% Coverage,或者是運行單一測試案例的Single Test Run,圖5顯示的就是Qtronic的用戶界面.

        圖5 運行測試的用戶界面

        表3是從應用于ABOT服務器的測試執(zhí)行過程(在線模式)的結果中摘錄的一部分.符號→表示系統(tǒng)對Qtronic生成的SU T的輸入,而符號←表示SU T觀察到的反應.有了生成測試序列,來自于SU T的反應信息就會受到模型現(xiàn)行狀態(tài)的檢查,就這樣通過檢查證明其正確性.由于SU T是確定的,其他的測試運行就會產(chǎn)生不同的結果序列.

        我們對表3中展示的測試給以解釋說明.第1行,注冊者擁有用戶名和密碼,但是字段為空,導致第2行的注冊失敗信息.在第3行里,一個用戶(用戶2)試著注冊,這一次成功了,SUT回復了信息并給這個用戶分配了角色任務.隨后,在第5行SU T收到建立新賬戶的請求,系統(tǒng)在第6行回復確認成功.7到18行描述的是兩個玩家之間的打斗場景.第7行里的玩家打斗數(shù)據(jù)信息早在兩個玩家打斗之前就發(fā)送了,然后是玩家和對手的詳細信息.玩家對手分析打斗數(shù)據(jù)并給初始玩家提供結果(第9行和第10行).其他兩條打斗結果信息是發(fā)送給SU T的打斗結局.可能有3種結局:我輸了、我贏了和不確定,分別由信息類型0,1和2來表示.一般SUT每5min會把游戲里所有玩家的位置發(fā)送給所有在線注冊玩家.[Response 2發(fā)布玩家位置信息]第23,24和25行是SU T通過輸出端發(fā)送給測試器的單向信息.

        表3 Otron ic測試ABOT游戲服務的運行過程

        4 已識別的錯誤程序

        通過對ABOT服務器的在線測試,已發(fā)現(xiàn)3個程序錯誤.

        錯誤程序1在轉變bot所屬列表時,服務器顯示錯誤:“分隔錯誤”.例如,在確定戰(zhàn)斗結果時,如果轉變bot的所屬列表,如將bot從輸家列表上轉移贏家列表,服務器即顯示錯誤并崩潰.這一錯誤在3處都出現(xiàn)過.

        原因是當C++STL的迭代器的某一成分丟失,迭代器便失效.當下一成分出現(xiàn)時,錯誤即顯示.原代碼如下:

        錯誤程序2當將長期不操作的玩家移出玩家控制管理時,程序顯示“分隔錯誤!”.顯示的錯誤如下.

        檢查長期無操作的玩家

        玩家181831長時間無操作

        玩家管理:刪除玩家18183

        發(fā)送退出系統(tǒng)信息

        游戲大師.cpp 1026行:p is null分隔錯誤.

        這一錯誤發(fā)生的原因與錯誤1類似.導致這一錯誤的代碼如下:

        錯誤程序3當服務器收到信息時顯示錯誤“爭論無效”.這一程序在溝通經(jīng)理和游戲大師這兩個服務器啟動時出現(xiàn)錯誤.

        主機名稱:localhost.localdomain

        SOCKET已開

        確認SOCKET可再用

        端口已連上

        收聽……

        接收器(25285)接受新信息:從127.0.0.1的新連接

        服務器:新連接自127.0.0.1

        接收器ID=26064 TOC=0

        發(fā)送器(25288)閱讀信息表的信息

        無效

        解決這一錯誤程序的辦法是確保游戲大師先于管理經(jīng)理開啟.

        4 結論

        本文細致地描述了SU T模型設計及其優(yōu)化措施.另外,試用了另一種正在研發(fā)的產(chǎn)品——適配器.用其對模型和SU T進行測試.通過案例分析了Otronic測試器的運行.通過更改軟件,測試其他設計軟件變得更方便.我們通過利用QML建立一個文本模型,通過分線傳遞信息只需5 s.試用了無分區(qū)連接服務器,并使用分開的程序設施,因此每5 s從服務器發(fā)的信息都能直接發(fā)送到Q tronic.

        [1] M IKUCION ISM,LARSEN K G,N IELSENB.T-Uppaal:onlinemodel-based testing of real-time systems:tool Demo[J].In the 19th IEEE International Conference on Automated Software Engineering,2004,51:396-397.

        [2] EI-FAR I K,W H ITTA KER J A.Model-based software testing[M].Wiley:Encyclopedia on Softw are Engineering,2001: 231-256.

        [3] PETREN KO A.Fault Model-D riven test derivation from finite state models:annotated bibliography[J].Lecture Notes in Computer Science,2001,2067:196-200.

        [4] GRONAU A,HARTMAN A,KIRSH IN K,et al.Methodology and architecture for automated softw are testing[M].Haifa: IBM Research Laboratory in Haifa Technical Report,2000:147-213.

        [5] LARSEN G,M IKUCIO ISM,N IELSEN B.Online testing of real-time system s using UPPAAL[M].Austria:Wo rkshop on Fo rmal App roaches to Testing of Software,2004:367-382.

        [6] MARIUSM,LARSEN K G,LARSEN B N,et al.Testing real-time embedded softw are using UPPAAL-TRON-an industrial case study[M].New Jersey:In Embedded Softw are(EMSOFT),2005:139-148.

        [7] U TTING M,LEGEARD B.Practical model-based testing[M].Morgan Kaufman:A Tools App roach,2007:298-312.

        [8] HU IMA A.Imp lementing conform iq Qtronic[J].In Test Com/FA TES,2007,35:1-12.

        Onlinemodel-based testing design using the Qtron ic tool

        KANG Ying-shi1,L IU Xiu-feng2

        (1.Zhejiang Business and Technology Institute,Ningbo 315000,China; 2.Department of Computer Science,Abo Akademi University,Turku 20520,Finland)

        In this paper,online model-based testing design using the Q tronic tool:1)describe the techniques used to design and op timize the model;2)imp lement a m iddle-w are p roduct-the adap ter; 3)integrate the adap ter w ith the testing model and the SU T;4)run the online tests using themodelbased testing tool,qtronic.Our results demonstrate that a successful design increases the chances of discovering hidden imp lementation errors.

        model design;online model-based testing;adap ter

        TP311

        520·60

        A

        1000-1832(2010)04-0066-10

        2010-09-18

        國家發(fā)改委基金資助項目(20083293).

        康瑛石(1955—),男,副教授,主要從事機電產(chǎn)品設計開發(fā)與教學研究.

        (責任編輯:石紹慶)

        猜你喜歡
        數(shù)據(jù)類型適配器端口
        詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
        一種端口故障的解決方案
        科學家(2021年24期)2021-04-25 13:25:34
        如何理解數(shù)據(jù)結構中的抽象數(shù)據(jù)類型
        適配器模式及其應用
        電子測試(2017年11期)2017-12-15 08:57:45
        端口阻塞與優(yōu)先級
        新型水文測驗GPS適配器設計與應用
        基于藍牙串口適配器的GPS接收機與AutoCAD的實時無線通信
        地礦測繪(2015年3期)2015-12-22 06:27:26
        美國麥格普公司新型M—LOK相機三腳架適配器
        輕兵器(2015年20期)2015-09-10 07:22:44
        初識電腦端口
        電腦迷(2015年6期)2015-05-30 08:52:42
        生成樹協(xié)議實例探討
        中文字幕一区二区三区四区在线| 亚洲国产成人一区二区精品区| 亚洲国产精品第一区二区| 最新国产乱视频伦在线| 中文人妻av大区中文不卡| 人妻中文久久人妻蜜桃| 性刺激的大陆三级视频| 久久久久久成人毛片免费看| 狠狠色噜噜狠狠狠狠97俺也去| 高清中文字幕一区二区三区| 久久久久国色av免费观看性色| 国产熟女高潮视频| 久久se精品一区二区国产| 丝袜美腿亚洲综合第一页| 久久精品国产清自在天天线| 亚洲最大日夜无码中文字幕| 精品999无码在线观看| 久久国产在线精品观看| 美女av一区二区三区| 久久青草免费视频| 精品色老头老太国产精品| 国产成人无码av一区二区在线观看 | 大地资源高清在线视频播放| 欧美疯狂性xxxxxbbbbb| 青青青国产免A在线观看| 国产精品亚洲一区二区麻豆| 狠狠躁夜夜躁人人爽天天古典| 亚洲美女影院| 久久狠狠髙潮曰十八女人| 亚洲色偷偷综合亚洲avyp| 国产人在线成免费视频| 久久婷婷国产综合精品| 精品久久综合日本久久综合网| 中文亚洲av片在线观看| 亚洲另类欧美综合久久图片区| 少妇高潮免费在线观看| 美女内射毛片在线看免费人动物| 蜜臀av一区二区| 亚洲视频不卡免费在线| 中文字幕亚洲精品一区二区三区| 欧美日韩亚洲国产精品|