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

        ?

        淺談網頁游戲的測試方法

        2015-06-24 13:12:14吳召堅
        電腦知識與技術 2015年11期
        關鍵詞:性能測試

        吳召堅

        摘要:近年來,網頁游戲發(fā)展迅猛,其游戲測試也越來越受重視,目前已經成為開發(fā)過程中的重要環(huán)節(jié)。該文主要介紹網頁游戲測試的方法、特點、技術技巧等。

        關鍵詞:網頁游戲;游戲測試;接口測試;性能測試;內存泄露

        中圖分類號:TP3 文獻標識碼:A 文章編號:1009-3044(2015)11-0185-02

        On Test Method of Web Game

        WU Zhao-jian

        (Shanghai Game Reign Network Technology Co., Ltd, Shanghai 201317, China)

        Abstract: With the rapid development of web game , the web-game testing is getting more attention in recent years. It has become an important part of game software development process. This article mainly introduces the test method, feature and test skills of web game.

        Key words:Web game; game testing; interface testing; performance testing; memory leak

        1 概述

        網頁游戲就是基于Web瀏覽器的網絡在線多人游戲,因為無需下載客戶端,用戶進入和上手都比較容易。隨著互聯網的快速發(fā)展以及社會快節(jié)奏的生活,越來越多的玩家投入到操作簡單且不那么費時的網頁游戲中。據2014年的《中國游戲產業(yè)報告》數據顯示,中國網頁游戲市場實際銷售收入為202.7億元人民幣,網頁游戲用戶數量達3.07億人。在這樣一個成熟龐大的行業(yè)中,對游戲運營商來說,收益永遠是最重要的。而游戲質量直接影響著運營收入。因此,游戲測試開始成為大家關注的話題。

        2 游戲測試的重要性

        游戲是計算機軟件的一個特殊種類,因此游戲測試也是軟件測試的一個分支,具備了軟件測試大部分特性。在工作中,軟件測試的一些理論方法同樣也適用于游戲測試。

        在互聯網高速發(fā)展的今天,如果同時有10萬人在線玩一款游戲,這款游戲最好能保持運行良好,玩家才會愿意不斷的付費充值。對游戲廠商而言,為運營商提供質量保證的重要性不言而喻,否則直接影響到公司的聲譽及收益。

        因此,越來越多的游戲廠商已經不把游戲測試保留到開發(fā)末期才做了,相反的,他們都遵循了軟件工程學中對于測試的一個基本原則:盡早測試。游戲測試已經被當做游戲開發(fā)過程中極其重要的一個環(huán)節(jié)。測試工作的好壞,直接決定著游戲產品的質量。

        3 游戲測試的方法

        網頁游戲基于web瀏覽器,而web瀏覽器的B/S架構,其實只是一種特殊的C/S架構。相對于傳統(tǒng)的客戶端網絡游戲,網頁游戲有著類似的結構,游戲網頁的前端就是client,游戲服務器后端就是server。后端是游戲程序的邏輯功能設計,前端主要是游戲UI設計。這就意味著,游戲的前端和后端要分開測試。而且,后端程序邏輯的正確性、安全性更加重要,是測試的重點。

        比如,當游戲中某個角色沒有金幣時仍嘗試去購買裝備,前端的邏輯判斷中已經返回出“金幣不足無法購買”的message,進而不會向游戲服發(fā)包。但是如果繞過前端直接向后端游戲服發(fā)包,而后端邏輯中沒有這一層邏輯判斷,那么玩家就能在沒有金幣的條件下非法獲得裝備,造成游戲的不平衡。一些網頁游戲的外掛制作者,可以輕松的通過瀏覽器截包工具查詢到游戲后端接口,進而自己直接向后端游戲服發(fā)包。如果后端接口的邏輯不嚴謹,利用外掛的玩家就能非法獲利。因此,測試工程師的大量精力,會放在后端測試上。

        3.1 游戲后端測試

        3.1.1 接口功能測試

        接口用于游戲前后端的數據交互,前端通過網絡協(xié)議傳遞的數據往后端接口的輸入數據。網頁游戲的測試工作量主要偏向于接口測試。測試工程師首先通過游戲策劃文檔確定需求,而后針對需求以及后端工程師提供的接口定義文檔進行測試用例設計,通過后端接口功能測試來確保游戲功能的正確實現。

        后端接口的測試用例設計主要從有游戲業(yè)務場景、基本功能以及異常測試幾個方面,利用等價類、邊界值、流程分析等基本方法考慮。除了這些,接口測試還需要注意一下幾點:

        1)參數檢查:對接口的輸入參數務必進行有效性檢查,比如整型數值的上限,字符串長度上限等。

        2)數據庫數據測試:接口的輸入項不只是前端所傳的參數,還包括數據庫中的現有數據。比如,玩家花費金幣購買裝備的接口,輸入項包括花費金幣值的接口參數和存在數據庫中的現有金幣值。因此,必須對數據庫中的相應數據進行邊界值測試,比如在金幣不足的情況下調用購買裝備接口。

        3)接口依賴關系檢查:上面的策略只是對單個接口的測試方法。在線上游戲中,玩家的一個操作在程序中可能已經多次發(fā)包,即對游戲后端調用了多個接口來完成的。因此,還需要從業(yè)務處理的角度,對游戲需求中所設計的多個接口之間依賴調用進行測試。

        3.1.2 后端性能測試

        網頁游戲的性能測試主要是后端服務器負載測試,以及一些特殊接口的并發(fā)量測試。使用LoadRunner自動化性能測試工具不是為一種簡單高效的方式。

        一款新游戲剛上線時,大量玩家會受新鮮感好奇心的驅使注冊賬號進行試玩,此時游戲服通常會處于最大的用戶數的階段。成千上萬個玩家頻繁向游戲服發(fā)包,如果服務器承受不了這么大的壓力,造成玩家的體驗將會相當差,那么這款游戲從剛出生就沒法吸引玩家。

        做游戲服負載測試時,通常使用LoadRunner構造成千上萬個虛擬用戶,執(zhí)行游戲的“新手教程”所包含的一系列接口,測試游戲服務器在此壓力下是否會有響應錯誤、響應緩慢、數據丟失等錯誤。

        對于一些特殊場景,比如SLG游戲的大型國戰(zhàn)期間,也需要執(zhí)行多用戶并發(fā)測試。在這種場景下,可能會產生某些隱藏問題,如內存泄露、線程鎖等問題。

        3.2 游戲前端測試

        3.2.1 前端內存泄露測試

        網頁游戲的前端一般用Flash制作,除了達到策劃文檔的需求,更需要考慮的是性能的優(yōu)化,界面流暢度等內在體驗的問題。對于測試工程師來說,測試前端性能時最需要關注的地方就是是否有內存泄露。

        內存泄露是指由于疏忽或錯誤造成程序未能釋放已經不再使用的內存的情況。應用程序分配某段內存后,由于設計錯誤,失去了對該段內存的控制,因而造成了內存的浪費。內存泄露會使玩家的網頁隨著時間越來越卡,嚴重影響玩家的游戲體驗。

        舉個例子,游戲策劃要求當玩家沒有金幣時購買裝備,前端彈出一個金幣不足的提示框,顯示2秒后消失。Flash程序構造出提示框時,提示框是一個有效對象,2秒之后這個框消失,在程序中這個提示框對象就沒有用了,正確的做法應把這個提示框對象回收并釋放所占內存,因為下一次再出現這種提示框,實際上是程序構造的一個新的對象。但是在某種條件下,程序中存在另一個對象對這個提示框的引用,則Flash的GC(垃圾收集器)認為這個提示框對象是有用的而不回收,當玩家不斷的點擊購買裝備,Flash程序也就不斷的構造出新的提示框實例,就會造成內存泄露,久而久之,玩家的網頁會卡爆。

        對于Flash前端的內存泄露問題,通常使用Adobe Flash Builder中自帶的內存概要分析功能進行測試。重復加載某個動畫,使這個類的實例數不斷增加,再使用Flash的垃圾收集器清掉之前構造的無效實例。如果垃圾收集器無法回收這些無效實例,那么程序中就存在內存泄露。

        3.2.2 游戲界面友好性測試

        由于游戲行業(yè)中激烈的市場競爭,以及其特殊的娛樂目的,游戲界面的友好性、易用性、合理性設計相對于其他行業(yè)的軟件界面有更為重要的意義。在進行游戲界面測試時,大到需要評定游戲是否容易上手,小到需要關注各個按鍵布局是否合理等。

        4 結論

        本文針對網頁游戲的前后端不同方向,簡單綜述了其各自的通用性測試方法和特點。其中提到的網頁游戲測試方法,大部分是筆者工作經驗的整理,但仍然存在一定的局限性。比如對于接口測試,除了完成功能測試,還需考慮如何構建自動化回歸測試以提高效率。

        其實,網頁游戲中最常見的缺陷,通常都是游戲金幣復制、裝備復制、無限刷資源等技術性漏洞。以及游戲業(yè)務判斷不嚴謹、條件不合法之類的邏輯漏洞。如何設計出更完善的測試用例以防止線上發(fā)生漏洞,才是每一位測試工程師有待研究的必要課題。

        參考文獻:

        [1] Charles P.Schultz.游戲測試精通[M].北京:清華大學出版社,2007

        [2] 張紅艷.淺談游戲測試技術[J].硅谷,2009(22)

        [3] 孟繁雅.游戲測試的用例設計[J].程序員:游戲創(chuàng)造,2008(5).

        [4] 李智勇.ActionScript3.0垃圾回收機制及優(yōu)化策略[J].信息技術,2012(10).

        [5] 華鑫.游戲軟件開發(fā)流程探討[J].中國科技博覽,2012(38).

        [6] 王志森.探索式測試方法在網絡游戲軟件測試中的應用[D].上海:上海交通大學,2011.

        猜你喜歡
        性能測試
        基于LoadRunner的網絡倉庫系統(tǒng)性能測試及優(yōu)化
        Hadoop性能測試自動化研究
        軟件導刊(2016年12期)2017-01-21 14:43:14
        關于Java軟件的性能測試分析
        計量自動化系統(tǒng)主站性能測試應用研究
        科學與財富(2016年2期)2016-03-24 16:28:59
        自動扶梯主驅動鏈條性能測試分析與潤滑保養(yǎng)
        人事薪資管理系統(tǒng)軟件測試方案研究
        車聯網專用短程通信技術
        關于聚羧酸系減水劑的性能論述
        論轉向系統(tǒng)匹配構架和實踐
        黃麻、洋麻纖維性能研究
        中國纖檢(2015年3期)2015-03-13 18:28:41
        国产尤物自拍视频在线观看| 国产熟女高潮视频| 天天爱天天做天天爽| 无码啪啪熟妇人妻区| 在线观看国产精品一区二区不卡| 亚洲国产精品久久无人区| 成人免费无码大片a毛片抽搐色欲| 奇米影视777撸吧| 亚洲国产麻豆综合一区| 人妻少妇久久精品一区二区| av在线播放中文专区| 亚洲av乱码一区二区三区林ゆな| 国产成人无码免费视频在线| 精品久久久久久无码不卡| 国产人妖在线免费观看| 区一区二区三区四视频在线观看| 成人免费a级毛片无码片2022| 国产人妻久久精品二区三区特黄 | 波多野结衣在线播放| 国产无人区码一码二码三mba| 色爱无码A V 综合区| 熟女乱乱熟女乱乱亚洲| 国产毛片av一区二区| 国产午夜伦鲁鲁| 麻豆国产成人av高清在线观看| 色综合久久久久综合一本到桃花网| 国产精品国产三级国产an不卡| 国产精品亚洲а∨无码播放| 狠狠色噜噜狠狠狠狠米奇777| 中文字幕一区二区人妻出轨| 黄色国产一区在线观看| 亚洲一区精品在线中文字幕| 亚洲婷婷五月综合狠狠爱| 四虎影视在线观看2413| 亚洲一区二区女优av| 日本一区二区三区四区啪啪啪| 欧洲熟妇色| 无码国产精品一区二区vr老人| 亚洲啪啪AⅤ一区二区三区| 日本人妻系列中文字幕| 亚洲欧美乱日韩乱国产|