前提聲明梯轻,此文章是我在網(wǎng)上看到的,拿來分享冗恨。借鑒也是一種學習答憔。
什么是游戲測試
有人把我們當成游戲體驗員。也有人認為我們就是GM掀抹,是游戲里的托虐拓。也有人覺得我們一天到晚玩游戲還能拿工資,是件美差傲武。其中的辛酸蓉驹,也只有我們自己知道。做了半年的測試揪利。我所認知的測試态兴,就是保證產(chǎn)品質(zhì)量∨蔽唬或者說保證游戲的質(zhì)量瞻润。那么從哪幾個方面保證呢?首先就是功能献汗,兼容敢订,性能。其次游戲的可玩性罢吃,是否易上手,都是我們需要考慮的昭齐。我們不僅要對游戲進行測試尿招,保證它的功能。更要對游戲提出建議阱驾,來保證它的可玩性就谜。
游戲測試的基本技能
一款游戲,首先里覆,它得是一款軟件丧荐,所以軟測得一些技能我們也是需要了解的(測試方法、測試用例的設計方法)喧枷。
1)熱愛游戲虹统,玩過游戲弓坞。
首先你得喜歡游戲,玩過較多的游戲车荔,才能快速的上手渡冻。了解游戲的機制,以及發(fā)現(xiàn)游戲中不合理的地方忧便。當然族吻,這個不合理也僅僅是對你個人而講。
2)有相應的計算機基礎
這個就不詳細解釋了珠增。一個搞IT的連這都不會超歌,也就呵呵了吧。
3)邏輯思維
有助于編寫用例蒂教,進行測試工作巍举。較強的邏輯思維,能夠保證用力的覆蓋率悴品,最大程度上減少漏測谨设。
如果只是做初級執(zhí)行的話。其實有以上三點桦沉◇扒疲基本就可以了。隨著我們工作的深入届氢,我們掌握的也會越來越多欠窒。
4)數(shù)據(jù)庫
數(shù)據(jù)庫的操作也算是基本的了。查看用戶數(shù)據(jù)什么的退子,學會這個用起來還是蠻方便的岖妄,再也不用腆著臉去求開發(fā)了。
5)腳本語言
掌握一門語言總是好的寂祥。服務器性能什么的都會用到荐虐。我們都會有自己寫腳本的那天。
6)Linux
我們終歸是要要去做性能的丸凭。了解相應的Linux的知識福扬,可以幫助我們做好性能,更能讓我們看到服務器日志惜犀,一些常規(guī)的操作铛碑。報錯∷浣纾可以更加輕松的定位問題汽烦。
7)肯做事
這是最重要的一點。就算是才高八斗莉御,學富五車撇吞。不做事俗冻,也是沒用的。一定要肯做事梢夯,然后才是會做事言疗。公司招人,最重要的是要你來做事颂砸。說句直白的話噪奄,前面技能要求一大堆,可是我招你進來人乓,就是想你做事勤篮。不會的,咱可以學色罚,公司可以培養(yǎng)碰缔。可是不做戳护,就沒辦法了金抡。
以上只是我的個人觀點。游戲測試與基本技能說完了腌且。我們看看現(xiàn)在國內(nèi)游戲市場梗肝,測試的現(xiàn)狀(大部分情況下)。
網(wǎng)游測試現(xiàn)狀
1)缺少時間測試團隊介入較晚(代理游戲介入更晚)铺董,很多都是策劃和程序已經(jīng)實現(xiàn)了游戲的大部分基礎功能后才開始組織測試巫击,編寫測試用例的時間極為稀少。
解決方案:
我以為精续,在沒有充足的時間去寫用例的情況下坝锰。我們還是很有必要拆分一下測試點,做一個checklist重付。如果什么都沒有的話顷级,就會導致,我們重復的做無用功确垫。沒有邏輯愕把,沒有目的。
2)維護困難網(wǎng)絡游戲內(nèi)容變動頻繁森爽,變動量大,隨之而來的測試用例變動也會頻繁和巨大嚣镜,因此許多團隊放棄制作和更新測試用例爬迟。
解決方案:
時間充足的情況下還是更新維護的要好。畢竟用例是測試開展工作的核心【漳洌現(xiàn)在很多團隊都在走敏捷開發(fā)的路線付呕,人手不足的情況下還是做個checklist吧计福。
3)急于發(fā)現(xiàn)Bug
測試用例需要長期制作和維護才可體現(xiàn)其作用,而目前大多數(shù)測試團隊都急于找到Bug徽职,當執(zhí)行完一遍測試用例后發(fā)現(xiàn)沒有多少新
Bug
象颖,從而開始怠慢測試用例的制作不更新。
解決方案:
這種情況我也遇到過姆钉。切忌心急说订。如果沒有發(fā)現(xiàn)BUG,就仔細閱讀需求潮瓶,挖掘隱藏需求陶冷。累了就去休息休息。發(fā)散一下思維毯辅。
4)缺乏與業(yè)知識不可否認的埂伦,目前游戲測試從業(yè)人員與業(yè)知識不夠豐富,對于測試用例的制作方法了解甚少思恐。
解決方案:
這個是沒辦法的事沾谜。隨著游戲測試人員需求量的增加,測試人員的門檻也越來越低胀莹。只能說基跑,多做,多練嗜逻,給予適當?shù)呐嘤枴?/p>
測試準備期涩僻,怎么確定測試需要的工具,技術
1)首先栈顷,我們要提升自己的高度逆日,以項目經(jīng)理或者測試經(jīng)理的角度來看這個問題。不能單純的以測試的角度來看這個問題萄凤。如果單純的以測試的角度看待這個問題室抽,那么這個問題沒有答案。
2)通過需求及技術的評審靡努,來確定坪圾,測試需要的軟硬件設備。包括惑朦,PC機兽泄,操作系統(tǒng),所需軟件漾月,用例編寫工具病梢,BUG管理工具。
3)技術則需要測試通過與開發(fā)人員進行溝通,了解他們的開發(fā)語言蜓陌。對于新人來講觅彰,不做白盒和自動化的話,就主要了解一下實現(xiàn)邏輯钮热,能夠讀懂代碼是最好了填抬。
4)對于新人來講,性能不會那么快接觸到隧期。我到現(xiàn)在也只是初步接觸到性能飒责。服務端的性能需要寫腳本去測試(我不太懂,不做深入解析)厌秒,客戶端的性能就是查看流量读拆,電量,CPU鸵闪,內(nèi)存等等檐晕,通過縱橫對比的方式,來提出相應的優(yōu)化方案蚌讼。
關于測試的數(shù)據(jù)分析
提升自己的眼光辟灰。了解整個游戲的系統(tǒng),清楚產(chǎn)品需求篡石,知道開發(fā)工作情況為前提芥喇。從當前版本已知BUG,進行分析歸類凰萨。通過分析BUG的分布及易發(fā)點继控,去了解到技術的薄弱點(易忽略點),再和相關人員進行溝通胖眷,避免出現(xiàn)重復性BUG武通。對開發(fā)也是一種技術上的提升。
關于游戲與機型的適配珊搀。
關于適配這個問題冶忱。適配機型,一般在立項的時候就會確定下來境析。當然也有研發(fā)完成后囚枪,在根據(jù)實際情況來確定適配機型的。那么我們再來說說劳淆,RAM ROM CPU分辨率 這些配置對游戲的影響链沼。分辨率,一般都是界面顯示的問題沛鸵,UI忆植,特效,動畫。而RAM ROM CPU朝刊,則會影響到客戶端性能,比如游戲卡蜈缤,崩潰拾氓。所以這就要求我們需要在不同的機型,操作系統(tǒng)上底哥,進行真機測試咙鞍。
當然,我們這里講的機型適配也可以叫做兼容性趾徽。機型適配只適合手游续滋,那么頁游,端游的兼容孵奶,就需要更換不同的瀏覽器疲酌,不同配置的機器,不同的操作系統(tǒng)了袁。進行多次朗恳,重復的測試。
功能測試(functional test)
我做了半年的測試载绿。接觸到的也就是功能測試粥诫。兼容測試≌赣梗客戶端的性能也做過一些怀浆。兼容,我們上面已經(jīng)講過了怕享。接下來我們講講功能执赡。
剛進公司的時候,入手測試一個游戲熬粗。那個時候搀玖,策劃是沒有案子的。這種情況怎么測驻呐?整天問灌诅,問產(chǎn)品,問項目經(jīng)理含末,問策劃猜拾。有問題就問。曾經(jīng)有個同學講佣盒,策劃沒案子挎袜,他都是主觀的跑的。你主觀的跑,你怎么知道盯仪,這個功能是否符合策劃的需求呢紊搪?又要怎么確定Bug呢?所以全景,沒有案子的情況下耀石,我們就要多問。不要覺得煩爸黄,也不要怕別人煩滞伟。這是你的工作。
有案子就不一樣了炕贵。認真的看需求梆奈。不懂得就去問。我有的時候一個案子要看一兩天称开,才開始寫用例(雖然我現(xiàn)在用例寫的很爛)亩钟。不要看過幾次案子,就急著去寫用例钥弯。一定要吃透径荔,不僅要看到需求,更要通過需求脆霎,挖掘到隱藏需求总处,要看的遠【χ耄看到與之交互的模塊是否會有所變動鹦马。要考慮到,這個需求忆肾,是否存在漏洞荸频,如果我是玩家,玩到這里會怎樣客冈。我們不僅要把自己當成測試旭从,我們更是玩家。也需要和策劃场仲,和產(chǎn)品提出相應的合理化的建議和悦。
當我們一切準備工作做好之后,可以和程序進行適當?shù)臏贤ㄇ啤_@個功能鸽素,它實現(xiàn)的邏輯。這樣有助于我們更好的開展測試工作亦鳞。也能在發(fā)現(xiàn)Bug的時候馍忽,更準確的定位問題棒坏。
最后,就是按照用例遭笋,跑功能坝冕,進行測試了。當然坐梯,用例總會有漏掉的地方徽诲,有時候我們測試也不會完全按照用例上進行。但是吵血,一定要保證,盡可能的覆蓋偷溺。
測試用例(test case)
定義:測試用例是為某個特殊目標而編制的一組測試輸入蹋辅、執(zhí)行條件以及預期結(jié)果,以便測試某個程序路徑或核實是否滿足某個特定需求挫掏。
作用:
測試用例是為了有效的發(fā)現(xiàn)游戲中的缺陷而編寫的包涵測試目的侦另,測試步驟,期望測試結(jié)果的特定合集尉共。正確認識和設計測試用例可以提高游戲的品質(zhì)褒傅。便于測試質(zhì)量的度量,增強測試質(zhì)量的可管理性袄友。
特性:
1殿托、最有可能發(fā)現(xiàn)產(chǎn)品缺陷的
2、不是重復的剧蚣,多余的
3支竹、一組相似測試用例中效率最高的
4、操作簡單鸠按,可執(zhí)行性強
依據(jù):
1)策劃文檔
2)版本更新文檔
3)測試計劃
4)測試方案
5)個人習慣
測試用例設計原則
1礼搁、測試用例的代表性:
能夠代表并覆蓋各種合理的和不合理的、合法的和非法的目尖、邊界的和越界的以及極限的輸入數(shù)據(jù)馒吴、操作和環(huán)境設置等。
2瑟曲、測試結(jié)果的可判定性:
即測試執(zhí)行結(jié)果的正確性是可判定的饮戳,每一個測試用例都應有相應的期望結(jié)果。
3测蹲、測試結(jié)果的可再現(xiàn)性:
即對同樣的測試用例莹捡,系統(tǒng)的執(zhí)行結(jié)果應當是相同的。
性能測試
性能測試扣甲,又分為服務器性能和客戶端性能篮赢。服務器性能齿椅,我沒有接觸過。在這里就和大家講講客戶端性能启泣。
我們在手機上或者PC上涣脚,可以通過工具,或者debug看到寥茫,內(nèi)存占用遣蚀,耗電量,流量等纱耻。這個我們就要進行對比芭梯。
縱向?qū)Ρ犬a(chǎn)品之前的各種數(shù)據(jù)參數(shù),橫向?qū)Ρ绕渌漠a(chǎn)品弄喘。這樣對比玖喘,提出合理化的建議。對游戲進行優(yōu)化蘑志。
數(shù)值測試
游戲累奈,除了程序出問題。那么也就剩下策劃了急但。我們不得不承認澎媒,做游戲,最坑的其實不是程序波桩,是策劃戒努。需求變更,咱就不提了突委。一大堆的數(shù)據(jù)表柏卤。技能,裝備匀油,人物缘缚,只要是配的數(shù)據(jù)表的地方都要測試。
技能表敌蚜,就要對照技能去一一測試桥滨。包括技能效果,傷害弛车,人物特效等等齐媒。
人物,裝備這些纷跛,就需要對照數(shù)據(jù)表喻括,按著公式算。
不要嫌麻煩贫奠,這是必須的唬血。
之前我測試過一次望蜡,140+的人物,先是算屬性拷恨,之后算加成脖律,然后逐一測試技能⊥笾叮看到數(shù)據(jù)表頭都是大的小泉。搞了一個周。
之上說的也都算很簡單的了冕杠。只要做了微姊,有點耐心,很快就會上手分预。
接下來我們說說目前興起的云測柒桑。
云測試(Cloud Testing)
定義:
云測試,是基于云計算的一種新型測試方案噪舀。服務商提供多種平臺,多種瀏覽器的平臺飘诗,一般的用戶在本地用Selenium把自動化測試腳本編寫好与倡,然后上傳到他們網(wǎng)站,然后就可以在他們的平臺上運行Selenium腳本昆稿。
之前我有用過testin纺座。說實話,我對這個云測試溉潭,并不是太相信净响。云測上唯一值得欣賞的地方就是兼容,可是看了幾次測試的結(jié)果的數(shù)據(jù)喳瓣。我也表示不太敢相信馋贤。當然,我是用的免費的畏陕,可能付費的就不太一樣配乓。有興趣的同學,還是可以試試的惠毁。
前面也講了那么多犹芹。我再說一下怎樣做好一個測試吧。
(以下純屬個人看法鞠绰,輕噴)
1腰埂、首先的是愛好。
做了半年蜈膨,說心里話屿笼,剛開始牺荠,才從學校出來,就是想混口飯吃刁卜,能拿到3K就行志电,現(xiàn)在我發(fā)現(xiàn)我已經(jīng)喜歡上了這個職業(yè)。沒錯蛔趴,是喜歡挑辆。
2、上進心
我們不可能做一輩子的黑盒孝情,執(zhí)行鱼蝉。我們必須要學習,要進步箫荡。不進步魁亦,則滅亡。
3羔挡、責任心
相信無論是老板洁奈,還是上司或者你,都會喜歡一個有擔當?shù)娜私首啤8矣谪撠熇酰胸熑涡摹?/p>
4、肯做事
交給你的事低矮,要做印叁,不要推卸,不要拖拉军掂。
5轮蜕、會做事
肯做事之后才是會做事。那么怎么才是會做事呢蝗锥?我舉個例子說明一下跃洛。在公司,很多情況下會出現(xiàn)玛追。做事做到一半税课,項目經(jīng)理或者老大,交給你個東西痊剖,去測一下韩玩。這個時候,就要搞清楚陆馁,事情的輕重緩急找颓。優(yōu)先處理比較急的。不要因為他是項目經(jīng)理(老大)叮贩,就優(yōu)先去做他給的任務击狮。當然佛析,若果是隨手可以做的,就做一下彪蓬。
6寸莫、堅持原則
一定要堅持自己的原則。存在重大問題档冬,比如功能未實現(xiàn)膘茎,或者存在重大Bug(這個重大情況視具體情況而定),嚴重影響用戶體驗的酷誓。一定要堅持披坏,不允許發(fā)版本。當然盐数,如果是老板或者項目經(jīng)理要求放綠燈棒拂。那我們就放吧。
7玫氢、永遠不要主觀的去做判斷帚屉。
8、永遠不要帶著情緒去開展你的工作漾峡。
最后涮阔。我再講一下測試的時候需要注意的點。
這個需要注意的點灰殴,視具體情況而定。我從我的切身經(jīng)歷出發(fā)來談掰邢。
1)功能
功能是否實現(xiàn)牺陶,是最基本的了。但是也要注意辣之,交互的模塊是否有變動掰伸,是否帶來了Bug。
我自己的習慣就是怀估,優(yōu)先測試本次版本更新的東西狮鸭。包括修復上個版本的Bug以及本次更新。然后發(fā)版本之后會把大致的基本流程再過一下多搀。當然歧蕉,只是剛上線沒多久的時候。線上版本穩(wěn)定之后康铭,我就不會每次都去泡一下流程了惯退。就是看看交互的會產(chǎn)生影響的模塊。
2)資源配置
我們經(jīng)常會出現(xiàn)數(shù)值从藤,技能催跪,骨骼的短缺锁蠕,造成的BUG。在PC上模擬測試沒問題懊蒸。但是在客戶端就會出問題荣倾。這種情況經(jīng)常出現(xiàn)在剛上線的項目里。就像我上面講的骑丸,盡可能的去跑舌仍。比如上次一個項目,更新后者娱,半個小時內(nèi)抡笼,很多玩家反應會卡死』器ⅲ可是我們在模擬器上怎么都發(fā)現(xiàn)不了推姻。用手機試過之后,發(fā)現(xiàn)是少了一個骨骼框沟。
3)消耗/獲得
各種資源的消耗/獲得藏古,無論對于玩家還是我們來講,這個點都是相當重要的忍燥。
我遇到過幾個問題拧晕。
后端程序的請求沒有即時的推送,導致前端不會即時刷新梅垄。這就會導致厂捞,我無論消耗還是獲得,我的東西看起來就感覺沒有減少/增加队丝。
數(shù)據(jù)表更換靡馁,但是拿的還是之前的舊的表,就會出現(xiàn)机久,報錯或者消耗/獲得的不正確臭墨。
以上的三個問題,是我經(jīng)常遇到的問題膘盖。這些問題多和程序溝通胧弛,就會了解到他們?nèi)菀缀雎缘牡胤健y試的時候會有所針對侠畔。
第一次經(jīng)歷項目上線的時候很緊張结缚,各種擔心,漏測软棺,出問題怎么辦掺冠。在這里和新人講一下,發(fā)版本后,無論出現(xiàn)什么問題德崭,有多嚴重斥黑。第一時間,不要去自責眉厨,先去聯(lián)系相關工作人員锌奴。趕快解決問題才是最重要的。以最快的速度解決問題憾股,給予玩家相應的補償鹿蜀。最大程度上減少損失。
總之服球。多和策劃和程序溝通茴恰。不僅僅有利于自己的工作。也可以了解到他們的不足斩熊。會使自己更快的成長往枣。
多做,多看粉渠,多學分冈,多問。
愿與大家共同成長