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

基于Q tronic工具的在線測試產品設計

2010-12-27 03:50:42康瑛石劉秀峰
東北師大學報(自然科學版) 2010年4期
關鍵詞:程序游戲信息

康瑛石,劉秀峰

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

基于Q tronic工具的在線測試產品設計

康瑛石1,劉秀峰2

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

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

模型產品設計;在線測試產品;適配器

0 引言

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

測試案例根據給定的模板,臨近備用設備基于被測試系統的執行自動生成.產生的被測試系統的輸出和時間排序會在測試時進行詳盡的動態檢測.

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

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

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

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

1 ABOT測試系統

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

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

圖1 ABOT的結構

圖2 ABOT的信息結構

表1 信息結構描述

表2 信息類型描述

2 Qtron ic在線測試

2.1 被測試系統模型設計

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

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

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

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

●戰績:顯示游戲者的戰績或機器人的戰斗結果;

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

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

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

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

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

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

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

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

圖3 ABOT游戲服務器狀態機

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

2.2 連接Qtron ic和SUT

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

圖4 在線測試適配器架構

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

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

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

2.3 實行測試

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

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

圖5 運行測試的用戶界面

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

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

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

4 已識別的錯誤程序

通過對ABOT服務器的在線測試,已發現3個程序錯誤.

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

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

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

檢查長期無操作的玩家

玩家181831長時間無操作

玩家管理:刪除玩家18183

發送退出系統信息

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

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

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

主機名稱:localhost.localdomain

SOCKET已開

確認SOCKET可再用

端口已連上

收聽……

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

服務器:新連接自127.0.0.1

接收器ID=26064 TOC=0

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

無效

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

4 結論

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

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

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

(責任編輯:石紹慶)

猜你喜歡
程序游戲信息
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
數獨游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
第八章直接逃出游戲
小學科學(2015年7期)2015-07-29 22:29:00
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 国产黑丝一区| 亚洲精品无码AⅤ片青青在线观看| 亚洲欧洲国产成人综合不卡| 国产午夜福利亚洲第一| 亚洲综合18p| 欧美天堂在线| 91人妻在线视频| 国产日韩久久久久无码精品 | 精品成人免费自拍视频| 亚洲欧美另类专区| 成人夜夜嗨| 午夜福利免费视频| 波多野结衣久久高清免费| 国产免费黄| 国产成人成人一区二区| 国产jizz| 极品性荡少妇一区二区色欲 | 成人永久免费A∨一级在线播放| 国产一区二区三区在线精品专区| 日韩成人免费网站| 午夜欧美理论2019理论| 91青青草视频| 国产精品免费电影| 亚洲伊人天堂| 毛片最新网址| 国产原创演绎剧情有字幕的| 亚洲欧美人成人让影院| 国产免费a级片| 精品国产免费观看| 亚洲成a人片| 福利视频一区| 麻豆国产原创视频在线播放| 九色视频一区| a亚洲天堂| 亚洲视频影院| 日韩无码黄色网站| 在线看片免费人成视久网下载| 色综合网址| 91成人在线免费观看| 免费看a级毛片| 尤物午夜福利视频| 国产精品手机视频| 国产亚洲欧美日韩在线观看一区二区| 日韩午夜福利在线观看| 成人无码区免费视频网站蜜臀| 无码中字出轨中文人妻中文中| 亚洲激情99| www.av男人.com| 在线不卡免费视频| 国产精品美女自慰喷水| 国产精品三级专区| 国产一级小视频| 亚洲人成影院在线观看| 亚洲男女在线| 国产成人精品亚洲日本对白优播| 国产9191精品免费观看| 伊人网址在线| 91精品亚洲| 亚洲欧美日韩中文字幕在线一区| 动漫精品中文字幕无码| 国产91久久久久久| 国产一区二区三区免费| 蜜臀AVWWW国产天堂| 91小视频在线| 成人久久精品一区二区三区 | 亚洲国产91人成在线| 国产在线视频导航| 国产精品无码AⅤ在线观看播放| 中文字幕66页| 欧美在线一二区| 亚洲欧美综合另类图片小说区| 57pao国产成视频免费播放| 天堂亚洲网| 国产乱人免费视频| 精品撒尿视频一区二区三区| 99re在线免费视频| 亚洲欧美成人网| 五月激激激综合网色播免费| 免费观看无遮挡www的小视频| 99久久99这里只有免费的精品| 制服丝袜一区| 国产精品一区二区久久精品无码|