ACGN紙上談兵005 — 辛勤的基層遊戲測試員們(Game testers)
2016年8月我從華盛頓大學MHCI+D碩士班畢業後開始了找工作的道路,在找工作期間,我接到了一家派遣公司(Staffing agency)的電話,問我有沒有興趣在做遊戲測試員(Game Tester),基於自己本身是名遊戲玩家,加上對遊戲測試這個產業的好奇心,在經過了面試後我順利地被錄取了,雖然由於我馬上就找到了全職的工作,所以實際上只當了幾天的測試員,但這個短暫的經驗也讓我對於遊戲測試這個產業有了一些初步的認識。適逢最近電馭叛客2077 (Cyberpunk 2077)上市之後,因為數量眾多的Bug導致極差的遊玩體驗,除了開發公司CD Projekt Red(CDPR)和各通路平台(Sony和Microsoft)接受退款外,Sony甚至破天荒的把遊戲下架,寫下了一個歷史,在玩家社群中也出現了非常多的責難之聲,質疑CDPR為何沒有做好遊戲測試和Debug,在明知品質不行的狀況下端出半成品。於是想趁這個機會,和大家聊聊我所體驗到的遊戲測試到底是怎麼一回事。
本篇原本刊載在PTT C_Chat版上,這次增改後放上Medium,另外遊戲產業非常的大,各家公司文化差異也很大,我亦非專職遊戲測試員,此篇文章將會以我自己的經歷為基礎加上部分網路上其他測試員的分享而成,望拋磚引玉讓其他有類似經驗的人也一起分享心得。
遊戲測試(Game Testing)概觀
遊戲測試是品質保證(Quality Assurance, QA)的一部分,是遊戲開發中一個非常重要的環節,其目的在於確保遊戲有依照開發者所預期的方式運作。這裡所指的運作主要是指程式方面,遊戲不會崩潰、破圖、卡住、延遲等等,換言之就是確保重要的Bug有被抓出來處理,也包含翻譯問題、錯字、誤植等等。相對之下,遊戲的體驗部分,比方說介面設計複不複雜、關卡難不難、特效好不好、劇情棒不棒等等則一般不歸Game Tester管,這部分一般是由Game UX Testing/Gameplay testing來負責,在文章最後面會另外說明。除此之外還有所謂的Alpha和Beta Tester(封測/公測),不過這種不是工作,大部分是由遊戲公司內部員工或直接線上招募玩家進行。
雖然都被稱之為Game Tester,但在遊戲測試員中也有階層存在的。一般來說能夠成為遊戲公司內的正職測試員一般除了豐富的遊戲測試經驗外,還需要專案管理和程式撰寫能力,其職位比較像是Technical PM,有時會需要撰寫或運用一些自動化的腳本來做測試和爬log找問題,並做為與外部遊戲測試員的對口,安排測試計畫與進度等等。而另一種則是像我當時那樣的打工仔,由外部公司僱傭以協助測試的基層測試員,主要是協助遊戲公司找bug做紀錄以方便工程師處理,這種測試員的門檻一般很低,只需要通過簡單的術科測試就可以錄取,當然薪水也是很低。依照遊戲公司預算開發周期不等這種遊戲測試的開始時間沒有固定,但依照我當時的經驗,大概上市前6個月就開始在測試了,測Bug也有分語言,如果你精通外語,而該遊戲需要會該外語,薪水就會比較高(一些)。
遊戲測試可以說是整個遊戲開發過程中最重要得一個環節,但也是最無聊的一個環節。但很有趣的是,想要從事遊戲測試員的人可以說是源源不絕。相對於其他產業要找測試員都要祭出高額的報酬,遊戲大概是少數玩家甚至會願意付錢給廠商只要能他先玩到遊戲。而且這可以說是通往真正遊戲產業的敲門磚,也因此有不少有志於從事遊戲產業工作的玩家在大學課餘就開始從事遊戲測試的工作。畢竟可以在冷氣房工作還可以領錢,還可以玩到未上市的遊戲,怎麼看也比去便利商店打工來的吸引人。
成為約聘的遊戲測試員
一般中大型公司遊戲中後期的Debug部分不會由公司自己進行,而是外包給專門的遊戲測試公司進行。不過該類公司比較是擔任專案管理的腳色,實際的測試部分,會再委託另外的人力仲介商(Staffing agency)派遣約聘的測試員(contractor),由於這每一層級都會抽一定比例的費用,在層層剝削下,通常這種外包約聘的測試員的薪水都很低,我當時拿到的薪水是每小時10美金,剛好是西雅圖的法定最低薪資,同時中午午休是不支薪的,所以工作一天的薪水就是稅前80美金。
雖然說成為測試員沒有什麼學歷和經歷要求,我也遇過有人平常是不玩遊戲的,但畢竟要做遊戲的測試和紀錄bug,所以筆記能力和實際上的遊戲技巧還是很重要的。記得當初去應徵時,除了填寫基本資料外還包含了兩個考試
- 播放一個觸發Bug的錄影,在看過一次影片之後要可以清楚記錄下該Bug的觸發流程與結果
- 實際的遊戲技巧測試,會要求你玩一些比較需要反應力的遊戲(我玩的是FPS),並在限定時間內拿到超過一定的分數
如果以上兩者都合格後就會被錄取,之後還要前往實際上的遊戲測試公司進行講習(Orientation)。講習的部分除了介紹遊戲測試的職責外,更重要的就是簽署保密協議(Non-Disclosure Agreement, NDA)。NDA是一份非常重要的文件,保證了遊戲的內容不會被洩漏出去,由於玩到未上市的遊戲是很令人興奮的一件事,加上很多來當測試員的都是大學生,初生之犢不畏虎,所以洩密事件常常發生。簽署NDA是非常嚴肅的事情,如果有任何的違反名字會被紀錄(俗稱黑掉),甚至會影響到未來找工作。值得一提是很多人認為NDA只是針對產品未上市前,但在遊戲業界很多NDA還包含了發售後,因為在過程中你可能會看到一些後來取消的項目或內部數據,遊戲公司要確保這些內容也不會流出。
在完成了講習後就會成為正式的約聘者,之後就可以排班。測Bug是一週七天,一天8小時,視情況也會有夜班和大夜班,我所在的派遣公司是一次排一天8小時的班,如果你被選上,會於每天傍晚寄送通知詢問你明天是否可以上班,你可以選擇接不接受,當然如果你常常都沒空,那就不會繼續找你了。在回了訊息後可以參加隔天的排班並收到確認訊息後,就可以準備第二天去上班啦。另外偶爾也會出現補班(比方說有人做到一半要離開或是早上報到時間沒來),甚至會有候補位,跟大家一樣早上到場,有人沒來就遞補,大家都有來就給你1小時工資回家這樣。
洞八洞洞,測試員集合
遊戲測試員的上工和工作狀況和工廠作業員很像,對於當過兵的人來說可能會很懷念(?),由於一家測試公司通常會有好幾個專案並行進行,而為了保密,在開始前測試員都不會被告知要測試哪款遊戲,所以會在早上8點集合後現場宣布組別。為了保密,所有手機和通訊器材全部都必須鎖櫃子,大衣等也不可以帶入。大家分好組(不同遊戲或內容)排好隊領好識別牌,時間到後便會由該小組領班帶入工作區。
工作區基本上就是一個大型的辦公室,我在的那個測試中心算是比較大的,一個區域大概有2百名測試員。在自己的座位上通常至少會有一人一台已經安裝好該遊戲的電腦/遊戲主機和另一台用來讓你撰寫報告的電腦。如果你在這時還對於遊戲測試有著美好的想像,比方說坐在沙發上,玩遊戲寫寫筆記,那你的想像就會在這裡幻滅。
遊戲測試員的工作
前面已經有提過,遊戲測試員的主要工作內容就是測試並記錄遊戲中的Bug,但每個人負責的部分都不一樣。在記錄用電腦中會有一份Excel表格,裡面羅列自己該測試的已知Bug,而要做的事大概有兩件
首先是針對已經修好的Bug,照表格內所說的步驟操作確認已經被修復,比方說文件上面會說:
開新遊戲,開場影片時暫停,開啟選單,把遊戲從全螢幕調成視窗 →當機那
你的工作就是照上面步驟來看看該Bug會不會出現,如果沒有就代表修好了,可以在表格上標註已確認修復
其二就是確認特定Bug的出現條件,有的時候開發者只知道某些Bug的存在但不知道觸發機制,那測試員就必須要依循線索去確認機制,比方說文件上可能就只有一條:
遊戲在玩家完成X任務時有機會當機
那測試員就要嘗試各種排列組合來確認該Bug的出現條件,你可能運氣好只測一次就發現了觸發機制,但也有可你重複幾十次的關卡還是找不到問題,這種情況下可能你當天做不完,那就要在表格詳實的記錄"已經測試哪些內容"以方便接你班的人繼續。
遊戲測試在比的就是耐心和細心,在測試的過程中要很小心,盡可能都依照固定的模式來進行以免出現其他的問題,還要盡量記住自己所做的步驟以免出現Bug結果你沒有辦法記錄下來。有的時候你也需要和別人合作,比方說測試網路連線功能,你可能要和你隔壁的測試員連線對戰,乍聽之下很好玩,但當你同一個關卡打了10次以上……當然,如果測試途中出現了未發現的Bug,那也要像上面所說的詳細記錄,工作電腦有一個系統可以回報,會由領班那邊確認訊息完整度和沒有重複。
在每天工作的最後,必須要確保你所拿到的list上已經測試過的bug的紀錄有詳實的更新,這份表格最後會由領班統整後上繳給開發團隊,或是表格就直接與開發團隊那裏同步,之後其便會根據表格紀錄來Debug來對Bug依照嚴重度進行分級並修正,修完後便會更新表格並釋出新的Build給測試公司,等待下一輪的測試員的來到。
半軍事化的管理
前面我提到如果你當過兵或做過工廠作業員可能會覺得有種親切感,除了那個早上點名集合,手機進鎖櫃外,還有就是測試公司的嚴格管理制度,至少我當時待的測試公司是如此。不過雖然是嚴格管理,和當兵不同不是為了要訓練服從,主要是為了杜絕一切洩密的可能性,具體來說:
- 工作中禁止聊天,禁止和非同組測試員交談或窺視其螢幕,領隊會巡場監視
- 由於每個區域是用辦公隔板隔開,而不同區域負責的遊戲可能不同,所以也禁止隨便起立,因為可能會透過隔板看到對面隔間的測試玩家,當然也不可以隨便和非同組組員說話
- 有部分高機密的項目會在獨立的房間進行,門口都有人看守
- 上廁所需要先舉手,一次一人由領隊或副領隊結伴,當然行走過程中也是禁止交談亂看
遊戲測試的工時是一天8小時,不含午餐時間。每2小時一次15分鐘休息,各組休息時間會大致錯開,由領隊整隊帶到休息室。休息室位在測試區的內部,門是單向上鎖,進去後只有領隊可以開門讓你出來,休息室有水,其他零食飲料則要自己購買。有趣的是休息室會有一些遊樂器材,比方說桌球撞球之類,但是由於一次休息人數可能有20-40人,但器材只有一兩套,所以大家就真的是輪留,我印象很深刻的是有一張桌球說,大家排隊,一人一球,輸的就下去換人,因為裡面禁止用手機所以這成了大家的唯一消遣娛樂。至於中午午餐時間倒是可以允許前往大廳拿手機(也有人自己帶便當),但要再進去需要領隊帶,用餐區域當然也是有人看管,嚴格禁止任何和測試有關的話題。
最後,當4:45的鐘聲響起,宣告一天的結束,這時領隊便會再次整隊,把整個小組帶回大門口,交回識別證後便各自解散,通常在之後的5-7點這段時間如果你有被選上擔任隔天的測試人員,那就會收到訊提詢問是否參加。
遊戲體驗測試(Game UX Testing/Gameplay Testing)
在文章一開始我有提到遊戲測試是以抓Bug為主而不管遊戲設計本身,因此在最後這裡提一下這種以探討遊戲本身設計為主的研究: 遊戲體驗測試(Game UX Testing/Gameplay Testing)
遊戲體驗測試所探討的是遊戲內容在設計上是否與玩家遊玩的感受相合,遊戲設計師在設計時通常都有一種假設在,並基於該假設來設計各種遊戲內的元素與機制,而遊戲體驗測試便是去驗證該設計是否真的符合玩家的預期,比方說遊戲教學是否好理解,UI設計得好不好,任務或關卡會不會太過困難或簡單,玩家對操作與效果的感受等等。這一類的測試一般不會由QA進行,而是由專業的使用者研究員(User Researcher)主持,為了確保回饋的真實性會公開招募玩家參與。有興趣的志願者通常會先上網寫一張有點長的問券,詳列自己的遊戲經驗等等,之後研究員再從中選出最符合的玩家參加。
這種類的測試就跟不少玩家的想像比較類似,過程中通常都較放鬆,流程大概就是讓你玩一些還在開發中的遊戲的特定關卡,並詢問一些你在遊玩上的想法與感受或是如何做決定之類的,有一個人玩的也有連線型遊戲一次找18個人一起玩的。有時玩的內容非常早期,比方說裡面可能沒有任何材質貼圖
,配音是工程師自己錄的,或美術全部都是手繪草稿之類,也有可能只有幾張投影片而沒有真的玩的東西,主持者會說請你想像一下。這類測試的報酬通常滿高的,大概是50–150美金/2個小時,不過為了避免你成為專業受試者鎖導致的偏誤,通常每3個月才可以參加一次。
下面這張圖是一個標準的遊戲測試房間,房內有多個攝影機從各角度錄音錄影,手把按鍵和遊戲畫面當然也會錄下以便之後分析。測試員通常會在另外一間房間裡面透過單面鏡或攝影機來對測試員下指令或是提問,整體來說算是滿有趣的過程。
結語
在遊戲體驗中有一個很重要的要素:成就感(Achievement),但遊戲測試由於是反覆進行同樣的內容,無法取得成就感,最後容易導致強烈的倦怠感。有不少測試員懷抱著滿腔熱血與興趣投入了工作,但在那的消磨下回到家連遊戲都不想玩了。一款剛開發完成,還沒有Debug的3A及遊戲其Bug的數量可以以萬來計算,每一款遊戲背後除了無數的開發時間外,透過無數的測試時間,最終才能成為可以一玩的商品。