• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      面向網(wǎng)絡(luò)游戲的自動化接口測試系統(tǒng)設(shè)計

      2018-05-18 07:58:32周紹凱姚礪
      現(xiàn)代計算機(jī) 2018年10期
      關(guān)鍵詞:測試用例用例工具

      周紹凱,姚礪

      (1.東華大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,上海 200051;2.東華大學(xué)計算機(jī)軟件與理論系,上海 200051)

      0 引言

      2016年6月,國家新聞出版廣電總局發(fā)布了《關(guān)于移動游戲出版服務(wù)管理的通知》;2016年12月5日,文化部發(fā)布了《關(guān)于規(guī)范網(wǎng)絡(luò)游戲運(yùn)營加強(qiáng)事中事后監(jiān)管工作的通知》。一系列的通知出臺,不斷地為我國的網(wǎng)絡(luò)游戲創(chuàng)造更加良好的市場環(huán)境。

      2017年,游戲市場銷售收入已經(jīng)突破2000億元,占據(jù)了整個泛娛樂產(chǎn)業(yè)中四成收入,并且依然處于快速增長階段,市場三年復(fù)合增長率達(dá)到21.2%。中國上市游戲企業(yè)數(shù)量,從2016年底的158家增長到2017年底的185家。

      網(wǎng)絡(luò)游戲本質(zhì)上是一套強(qiáng)反饋且有社交功能的意義系統(tǒng),游戲+社交正在以不可忽視的姿態(tài)進(jìn)入人們生活,網(wǎng)絡(luò)游戲也逐漸成為繼文字、圖片、視頻之后的第四媒介。在各個社交平臺上,網(wǎng)絡(luò)游戲已經(jīng)成為了社交的一部分,隨著社交平臺的催化和傳播,其也進(jìn)一步促進(jìn)了網(wǎng)絡(luò)游戲的火熱。

      整個市場越發(fā)成熟,網(wǎng)絡(luò)游戲用戶對產(chǎn)品的要求也日趨提高,行業(yè)競爭狀況也日趨激烈。而對游戲企業(yè)而言,提供游戲產(chǎn)品質(zhì)量保證的重要性不言而喻,其直接影響到公司的聲譽(yù)及收益。因此,游戲測試已經(jīng)成為游戲開發(fā)過程中極其重要的一個環(huán)節(jié),也直接決定著游戲產(chǎn)品的最終質(zhì)量。

      對于更新迭代頻繁的網(wǎng)絡(luò)游戲,在數(shù)十個版本之后的內(nèi)容會非常繁雜,游戲的測試任務(wù)復(fù)雜、工作量大,對于接口測試、歷史功能回歸測試和操作多角色測試等,采用自動化的接口測試方案就非常必要。

      目前通用的接口測試工具如:Jmeter、SoapUI、Post-Man,其在使用初期效率高、對于測試人員入門較容易,但方式固定、擴(kuò)展差、二次開發(fā)困難,難以用于復(fù)雜用例中的接口交互、數(shù)據(jù)更改等操作。

      本文提出并實(shí)現(xiàn)了一個用于網(wǎng)絡(luò)游戲的測試用例自動化執(zhí)行的測試系統(tǒng),可以通過獨(dú)立和簡單的測試用例編寫,對復(fù)雜的網(wǎng)絡(luò)游戲項(xiàng)目進(jìn)行自動化接口測試。

      1 總體設(shè)計

      對于自動化測試用例的設(shè)計,需要考慮到測試的針對性和用例的可復(fù)用性。本文設(shè)計的測試系統(tǒng)所面向的游戲公司,其已有多款三至五年版本內(nèi)容的線上游戲,積累有大量的測試用例以及所遇到的各種問題,但實(shí)際測試時仍以手工測試為主。本文針對手工測試的成本高及測試覆蓋局限性,基于混合式測試自動化框架思想,提出了以測試用例為驅(qū)動的自動化測試系統(tǒng),能有效提高網(wǎng)絡(luò)游戲的測試效率。

      1.1 設(shè)計思想

      為進(jìn)一步降低該自動化接口測試系統(tǒng)的開發(fā)和使用成本,從開發(fā)維護(hù)和實(shí)際使用兩方面入手。

      開發(fā)維護(hù):(1)自動化接口測試系統(tǒng)的開發(fā),結(jié)合游戲公司中已有的工具和腳本進(jìn)行開展,一方面減少開發(fā)時間,另一方面降低使用人員的學(xué)習(xí)成本;(2)開發(fā)生成測試用例模板的工具,通過對游戲公司內(nèi)已有的測試用例進(jìn)行整理,歸類出不同類型的測試用例模板,并結(jié)合后續(xù)的自動化測試進(jìn)行適當(dāng)?shù)恼{(diào)整;(3)獨(dú)立的自動化接口測試執(zhí)行工具,測試用例與測試執(zhí)行工具分離,便于各自的單獨(dú)升級和維護(hù)。

      實(shí)際使用:(1)自動化接口測試執(zhí)行工具與測試用例,可任意組合,切換內(nèi)外網(wǎng)環(huán)境、不同通信協(xié)議后進(jìn)行測試;(2)根據(jù)具體游戲項(xiàng)目,調(diào)整被測游戲的IP地址、端口等信息后,便可根據(jù)測試用例對不同的游戲執(zhí)行自動化接口測試;(3)通過對測試執(zhí)行工具的升級,不斷地將新的事件驅(qū)動、關(guān)鍵字驅(qū)動等進(jìn)行持續(xù)集成;(4)通過對用例模板的補(bǔ)充完善,能進(jìn)一步提升測試用例編寫的針對性和覆蓋率。

      1.2 系統(tǒng)架構(gòu)

      本文所述的自動化接口測試系統(tǒng),由測試用例模板生成工具、接口測試工具、自動化測試執(zhí)行工具構(gòu)成。其中用例模板生成工具、接口測試工具可獨(dú)立運(yùn)行,自動化測試執(zhí)行工具的使用基于測試用例而實(shí)現(xiàn)。根據(jù)測試用例與測試工具的不同組合,可在內(nèi)外網(wǎng)環(huán)境、不同通信協(xié)議下對網(wǎng)絡(luò)游戲進(jìn)行測試。

      1.3 自動化測試流程

      根據(jù)網(wǎng)絡(luò)游戲的手工測試過程,而設(shè)計的自動化測試系統(tǒng)執(zhí)行流程,如圖1所示。

      自動化測試的執(zhí)行流程:由讀取以Excel形式保存的測試用例開始,根據(jù)需求連接所需測試的游戲服務(wù)器,并查詢或創(chuàng)建測試所需的游戲角色,將測試用例內(nèi)的測試步驟解析成相應(yīng)的測試執(zhí)行腳本,在游戲服務(wù)器內(nèi)執(zhí)行測試后,將測試結(jié)果保存到測試用例內(nèi),待所有測試需求都執(zhí)行后,最終完成自動化測試。

      2 關(guān)鍵技術(shù)

      2.1 用例模板設(shè)計

      圖1 自動化測試流程圖

      為使測試用例能更加靈活和具有針對性,設(shè)計了通用和特殊的兩種測試用例模板。

      通用的測試用例模板,是根據(jù)該網(wǎng)絡(luò)游戲項(xiàng)目的測試工作業(yè)務(wù)積累和測試方法,預(yù)先制作并提供一部分的測試用例模板,需求及測試人員僅需對差異內(nèi)容略作修改便可進(jìn)行測試工作,用以完成相似的測試業(yè)務(wù)內(nèi)容,充分體現(xiàn)了測試用例的復(fù)用價值和測試用例模板的實(shí)用價值,對測試用例模板內(nèi)已提供的測試數(shù)據(jù)略作相應(yīng)調(diào)整后即可。

      特殊的測試用例模板僅提供填寫的樣例,需要需求及測試人員對用例進(jìn)行完善,用以開展新的測試業(yè)務(wù)執(zhí)行。如該新的測試業(yè)務(wù)和測試用例(特殊的測試用例)有再次利用的價值,會通過將其增加到測試用例數(shù)據(jù)庫中,用以豐富和完善該項(xiàng)目的測試用例。

      為使測試用例可自動化執(zhí)行,需要將測試用例中填寫的內(nèi)容,按照一定的格式進(jìn)行填寫。在讀取到測試用例文件之后,會依次解析各個測試用例表格內(nèi)填寫的內(nèi)容,然后將文字轉(zhuǎn)化為相應(yīng)的操作步驟,并在測試信息驗(yàn)證通過后才會執(zhí)行自動測試。

      2.2 自動化測試執(zhí)行

      在測試開始前,從測試用例的Excel文件內(nèi)讀取所測試游戲的信息和測試所需執(zhí)行的步驟(如Python的openpyxl模塊)。測試用例的數(shù)據(jù)轉(zhuǎn)換,以接口返回值的檢查操作轉(zhuǎn)換為例,測試用例內(nèi)的文字如下:

      查看接口返回值|接口名#

      發(fā)接口|接口名#

      核對接口返回值|接口名#參數(shù)1;參數(shù)2|返回值字段名#預(yù)期值

      測試執(zhí)行工具中,將其轉(zhuǎn)化為執(zhí)行操作的代碼如下:

      在測試過程中,模仿客戶端進(jìn)而實(shí)現(xiàn)與服務(wù)器的接口交互操作。根據(jù)測試需要的不同,提供了http與socket兩種與服務(wù)器連接通信的方式(如Python的httplib、urllib、socket模塊)。

      在測試驗(yàn)證時,通過單元測試的執(zhí)行工具,對服務(wù)器返回的接口信息進(jìn)行驗(yàn)證、通過SSH(Secure Shell)的方式進(jìn)入服務(wù)器(如Python的Paramiko模塊)對操作結(jié)果日志進(jìn)行驗(yàn)證、連入游戲服數(shù)據(jù)庫(如python的MySQLdb模塊)后核對相應(yīng)表內(nèi)和字段的數(shù)據(jù)變化。

      在測試完成后,將測試結(jié)果寫入到測試用例內(nèi)相應(yīng)的位置。

      3 實(shí)驗(yàn)分析

      通過使用用例模板工具,在項(xiàng)目開發(fā)過程中可完成60%的自動化用例開發(fā),并為之后的冒煙測試提供測試用例,在測試階段完善30%的自動化用例,較之前減少50%以上的用例編寫時間。使用自動化接口測試,在歷史功能的回歸測試和需要多接口交互及數(shù)據(jù)更改的復(fù)雜測試時,減少了80%以上的測試時間。

      4 結(jié)語

      本文設(shè)計了生成測試用例模板所用的工具,以及基于測試用例的自動化接口測試系統(tǒng),并利用Python語言編程實(shí)現(xiàn)了該自動化接口測試系統(tǒng)設(shè)計。該自動化接口測試系統(tǒng)可應(yīng)用于實(shí)際網(wǎng)絡(luò)游戲測試工作,并能用于解決一些相關(guān)問題,具有一定的實(shí)際意義。本文介紹了該自動化接口測試系統(tǒng)設(shè)計中一些關(guān)鍵技術(shù)的實(shí)現(xiàn)原理,有助于讀者更好地理解和把握該自動化接口測試系統(tǒng)的基本思想和實(shí)現(xiàn)過程。

      在之后的工作中,隨著被測項(xiàng)目的更新迭代和新的測試?yán)碚撆c技術(shù)出現(xiàn),也可以通過不斷地升級和完善該自動化測試系統(tǒng),在與現(xiàn)有功能相結(jié)合后,達(dá)到測試系統(tǒng)持續(xù)集成的目的。

      參考文獻(xiàn):

      [1]趙家剛,狄光智,吳丹桔.計算機(jī)編程導(dǎo)論—Python程序設(shè)計[M].北京:人民郵電出版社,2013.10.

      [2]Wesley J.Chun著.Python核心編程(第二版)[M].宋吉廣譯.北京:人民郵電出版社,2008.7.

      [3]Alex Martelli,Anna Martelli Ravenscroft,David Ascher編.Python Cookbook(第 2 版)中文版[M].高鐵軍譯.北京:人民郵電出版社,2014.10

      [4]Ron Patton著,張小松,王鈺,曹躍等譯.軟件測試[M].北京:機(jī)械工業(yè)出版社,2015,9.

      [5]姚礪,束永安.軟件測試自動化關(guān)鍵技術(shù)的研究[J].安徽大學(xué)學(xué)報(自然科學(xué)版),2003(04).

      [6]王世俊.軟件自動化測試框架的研究和實(shí)現(xiàn)[D].華東師范大學(xué),2006

      [7]王東剛.自動化測試結(jié)構(gòu)論[J].程序員,2009(11).

      [8]梁家安.自動化軟件測試技術(shù)研究[D].江南大學(xué),2011.

      [9]張浩.一種自動化測試系統(tǒng)集成方案的設(shè)計與實(shí)現(xiàn)[D].東南大學(xué),2015

      猜你喜歡
      測試用例用例工具
      UML用例模型中依賴關(guān)系的比較與分析
      波比的工具
      波比的工具
      基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
      聯(lián)鎖軟件詳細(xì)設(shè)計的測試需求分析和用例編寫
      從出土文獻(xiàn)用例看王氏父子校讀古書的得失
      基于混合遺傳算法的回歸測試用例集最小化研究
      “巧用”工具
      讀者(2017年18期)2017-08-29 21:22:03
      基于依賴結(jié)構(gòu)的測試用例優(yōu)先級技術(shù)
      《修辭學(xué)發(fā)凡》用例的當(dāng)代學(xué)術(shù)價值
      上林县| 广汉市| 华池县| 香格里拉县| 唐山市| 庆元县| 甘泉县| 北辰区| 柏乡县| 阜阳市| 洛南县| 靖安县| 安新县| 定襄县| 黄骅市| 贵南县| 静安区| 玉环县| 城市| 江油市| 石景山区| 大埔县| 潍坊市| 赫章县| 宣威市| 东阳市| 木里| 富阳市| 湖南省| 南郑县| 兴和县| 博客| 凌源市| 广安市| 镇原县| 灵台县| 新竹市| 虹口区| 佳木斯市| 宜丰县| 布拖县|