維多利亞3開發(fā)日志#62 | 10/13品質(zhì)保證

牧游社 牧有漢化翻譯
Victoria 3 - Dev Diary #62 - QA on Victoria 3
PDJR_Alastorn, Game Designer
Introduction
介紹
I lied!
紅豆泥斯密馬賽!
We're not talking about Audio this week, we're talking about Quality Assurance, otherwise just known as QA! Excuse the dust as we teardown and set up this new development diary a little earlier than planned. We will eventually have an Audio Dev Diary (looks hopefully at Community) but for now you've all locked in here with me again about a subject I know all too well: how it is to QA Victoria 3.
這周不會像原計(jì)劃里說的一樣講音樂了,我們來改講品質(zhì)保證Quality Assurance,或者就叫品控!我們這次把日志推倒重來,讓這一篇稍微出來的早了一些,希望大家見諒。我們之后還是會出音樂的開發(fā)日志的(充滿希望地看著大家),不過現(xiàn)在你們還是得聽我說道說道這個(gè)我十分了解的話題:如何在維多利亞3里做品控。
Though this is honestly a great introduction to what it's like to QA Victoria 3, or how it is to be a QA in general. As we are at the end of the pipeline we must be the most adaptable members of the team. Broken builds, delays, reworks, and merge errors - these are an everyday occurrence in our profession. Even when things go perfectly, QA is still a race against time or more specifically a race of timeboxing: what is the most important thing to test now and what can be put aside to when there is either time or it is more complete - do we suspect another Market Rework is coming or are we at the final implementation at last?
其實(shí)這篇也不算什么特別好的關(guān)于維多利亞3品控的介紹,更不是怎么做品控的泛泛介紹。因?yàn)槲覀兲幵诹魉€的最末端,我們必須是團(tuán)隊(duì)中適應(yīng)性最強(qiáng)的成員。有問題的版本、延遲、重做、合并代碼錯(cuò)誤——在我們這行這些都是家常便飯。就算一點(diǎn)問題沒有,品控依然是和時(shí)間賽跑的工作,或者說和時(shí)間框賽跑的工作(譯注:時(shí)間框指的是一段不能延長的時(shí)間段,某個(gè)功能必須在這個(gè)時(shí)間段內(nèi)投入運(yùn)行,而非延長時(shí)間來接著做,或者說“后墻不倒”):現(xiàn)在最需要測試的是什么,我們需要把什么放到一邊,等著有時(shí)間或者這個(gè)系統(tǒng)更完善的時(shí)候再回過頭來測試——將來是不是還有一個(gè)市場系統(tǒng)重做,還是說我們到了最終實(shí)裝的階段了?

A regular QA posting, usually among ourselves.常見的品控消息,通常是我們自己人之間發(fā)的。
Not everything can get tested, it's a sad fact. Paradox games are unique in their complexity of interlocking mechanics and systems that to test the full functionality of the game and all of its iterations for every change is impossible. An infinite number of QA with an infinite budget and time could still not deliver a near perfect quality product. Why is that? Well because in that scenario the bottleneck of quality would not be the QA but the developers on the other side of the bug fixes - it's their bandwidth that would then be the limiting factor. The Job of QA is to test and test appropriately balancing the time for technical feedback and gameplay balance based on the development timeline of the game.
很不幸,不是所有東西都會經(jīng)過測試。Paradox游戲的獨(dú)特之處,就在于各種各樣關(guān)聯(lián)的機(jī)制和系統(tǒng)帶來的復(fù)雜性,把游戲的所有功能以及每個(gè)改動的所有版本都測試一遍是不可能的。就算我們有無數(shù)個(gè)做品控的人,還有無限的預(yù)算和時(shí)間,也不可能做出一個(gè)近乎完美的產(chǎn)品。為什么呢?因?yàn)檫@種情況下瓶頸就不是我們這些做品控的了,而是那些修bug的程序員——他們的能力就會成為限制因素。品控的工作是測試,而且是合理的測試,按照游戲的開發(fā)時(shí)間線,來權(quán)衡投入技術(shù)反饋和游戲平衡的時(shí)間。
And before we get too far, the comment that I expect to get the most to this diary: "Why don't you use [insert specific development/testing process], it will solve all your problems!"
在詳細(xì)展開之前,我估計(jì)很多人都會這么評價(jià)這篇日志:“為什么你們不用【某種開發(fā)或測試流程】,只要用了這個(gè)問題就都解決了!”
I wish this were true, but there is no silver bullet for development.
我無比希望那是真的,但是游戲開發(fā)沒有一勞永逸的辦法。
Each model of development and testing mitigates risk in a separate way, but there is still inherently some risk especially because we are talking about the potential for human error: missing connections or building on top of a system that was not originally written with such a perspective multiple iterations ago.
每一種開發(fā)和測試的模式都能在不同的方向上降低風(fēng)險(xiǎn),但是仍然會有一些內(nèi)在的風(fēng)險(xiǎn),因?yàn)檫€有人為錯(cuò)誤的可能性在里邊:沒注意到某些關(guān)聯(lián),或者在一個(gè)許多個(gè)版本之前寫的系統(tǒng)的基礎(chǔ)上接著寫。
The most lock-tight development model that does not allow for any "bugs" also does not allow for any creativity on the part of the developers. Video games may be a product to be sold but they are also inherently an art, which makes QA’ing and solving their problems a much more subjective experience at best. The trick is to find a system that creates as many safeguards as possible without fully boxing in the creativity of the team. I digress and will stop there before I get into a longer wided sidenote. Throughout this diary I will go into more detail about what I mean.
一個(gè)最安全的、完全不會出現(xiàn)bug的開發(fā)模式也不會允許開發(fā)者們有任何創(chuàng)新。游戲或許是拿來賣的商品,但也是一種藝術(shù),這會讓品控和解決開發(fā)者的問題成為一件相當(dāng)主觀的事情。關(guān)鍵在于,要找到一個(gè)有盡可能多的安全保障的系統(tǒng),同時(shí)還不能完全限制團(tuán)隊(duì)的創(chuàng)造力。我有點(diǎn)跑題了,在我寫更多東西之前還是就此打住吧。在這篇日志里,我會進(jìn)一步說明我的意思。
The People, The Process, The Timeline, and Going Forward
人,流程,時(shí)間線,以及未來
As we've moved through the more public side of the development process, my role in QA has shifted while the meme of me as a QA Lead has remained the same. I've gotten a lot of questions about "what exactly a QA Lead does and how my role as Manager/Director was different" so I thought I would take some time to flesh this out for you all with at least a basic explanation.
在我們說完了開發(fā)流程更公開的一面之后,我要提一下,我在品控團(tuán)隊(duì)中的角色發(fā)生了一些變化,但是我作為品控團(tuán)隊(duì)領(lǐng)隊(duì)的梗還是在繼續(xù)流傳。很多人都問我,“品控領(lǐng)隊(duì)到底是干什么的,我作為管理人員或者主管的職位和這個(gè)有什么不一樣嗎?”,所以我覺得是時(shí)候給大家講一講,至少給大家一個(gè)最基礎(chǔ)的解釋。
The People - QA Team Breakdown:
人——品控團(tuán)隊(duì)成員
QA Director:?Represents the QA team’s interests on the studio leadership level, ensuring that all plans of release and development are taking into consideration the bandwidth and requirements of their team.
品控主管:在工作室領(lǐng)導(dǎo)層中代表品控團(tuán)隊(duì)的利益,確保所有發(fā)布和開發(fā)的計(jì)劃都考慮到了團(tuán)隊(duì)的能力和要求。
QA Manager:?Professionally manages the QA Team, less involved in the day to day and more involved in the growth and development of the QA Team as individuals and overseeing staffing.
品控管理人員:以專業(yè)方式管理品控團(tuán)隊(duì),較少參與日常工作,更多的作為個(gè)人和員工管理者的身份參與品控團(tuán)隊(duì)的成長和開發(fā)過程。
QA Lead:?Represents the QA team's interests on the project leadership level, manages day to day prioritization and coordination of testers.
品控領(lǐng)隊(duì):在項(xiàng)目領(lǐng)導(dǎo)層中代表品控團(tuán)隊(duì)的利益,管理每日的優(yōu)先事項(xiàng)以及協(xié)調(diào)測試人員。
QA Tester (Embedded):?Employee of Paradox Development Studio, who lead the charge in testing development, verifying fixes, and giving feedback.
品控測試人員(不是單設(shè)的職位):Paradox的員工,他們帶頭沖鋒,測試已開發(fā)的項(xiàng)目、確認(rèn)修復(fù)、提供反饋。
Community/Beta Tester:?Paradox Community Member who under NDA gets access to an in-progress build to give feedback and partial bug reports on - which the QA will later collate and verify.
社區(qū)/Beta版本測試員:簽訂了保密協(xié)議(NDA)的Paradox社區(qū)成員,他們得以獲取正在開發(fā)中的游戲版本,以便給予反饋和報(bào)告錯(cuò)誤——這些反饋后續(xù)由品控人員收集和鑒別。
Overall QA are an interesting bunch of people. It takes a very dedicated individual to look at an unfinished project and happily get to work, to not only document the flaws but to peer behind the curtain and see the intent of the finished product and give feedback on that. The QA, as an individual, is able to look a developer in the eye, tell them they love a feature and then send them 20+ jiras about all the problems with it with no cognitive dissonance. Sometimes we will throw in a few feedback jiras about how we think it would be cool to tie it into other features as well.
總的來說,品控人員是一群有趣的人。品控需要非常敬業(yè)的人,去照看一個(gè)未完成的項(xiàng)目,并愉快地開始工作,不僅要記錄缺陷,還要透過表象看到成品的意圖并給予反饋。品控人員,能夠看著開發(fā)者的眼睛,告訴他們“我喜歡這個(gè)功能”,然后給他們發(fā)送20多條關(guān)于這個(gè)功能的所有問題的jira條目(譯注:jira是一個(gè)BUG管理系統(tǒng)軟件),而不會有認(rèn)知上的不協(xié)調(diào)。有時(shí),我們也會拋出一些反饋的jira條目,講明我們認(rèn)為將這個(gè)功能與其它功能結(jié)合起來會很好。

Checking if the issues are actually fixed is always an adventure - you never know which new issues you're gonna find
檢查這些問題是否真的被修復(fù)總是一種冒險(xiǎn)——你永遠(yuǎn)不知道你會發(fā)現(xiàn)哪些新問題。
Our need to be critical and take the player perspective also leads to us being very blunt and forward when asked our opinions. In our profession, sugar coating concerns only lead to problems down the line. The trick that I will share on the forums is this - it's possible to be blunt and not a jerk. Browbeating a developer as a QA may get the problem solved but it comes at the cost of the working relationship. I have been many types of QA in my career and if I may be so bold to reflect upon it - it is the QA that is blunt yet respectful that gets more achieved in influencing the game then the one who screams the loudest. As developers are people too, they have feelings and can react emotionally especially if you act emotionally (especially angry) towards them. I ask that you please remember this as we move towards post launch and live support, but I will get into that more later in this dev diary.
我們這個(gè)崗位需要批判,并從玩家的角度出發(fā),這也導(dǎo)致我們在被問及意見時(shí)非常直白和直接。在我們的崗位上,巧言粉飾、裹上糖衣只會導(dǎo)致下一步的問題。我在論壇上分享的訣竅是——直言不諱,但又不太混蛋,這還是有可能做到的。作為一個(gè)品控,對開發(fā)人員橫眉冷對可能會使問題得到解決,但這是以工作關(guān)系為代價(jià)的。在我的職業(yè)生涯中,我做過各種風(fēng)格的品控,如果我可以大膽地反思一下的話——有話就說且又尊重人的品控,而不是大聲叫喊的家伙,才會在影響游戲方面取得更大的成就。因?yàn)殚_發(fā)者也是人,他們也有感情,也會有情緒化的反應(yīng),尤其是當(dāng)你對他們采取情緒化的行為(尤其是憤怒)時(shí)。我請求你在我們后面談到游戲發(fā)布后和在線支持時(shí)記住這一點(diǎn),但我將在本開發(fā)日志很后面才談及這一點(diǎn)。

We were once told that we should go about things in a more positive perspective. That request did not stick for long.
曾經(jīng)有人告訴我們,我們應(yīng)該以更積極的角度去處理事情。這個(gè)要求并沒有堅(jiān)持多久。
I've joked on stream that "I saw the QA team laughing during multiplayer testing and that's either a sign that everythings working or everything is broken." Our profession comes with a strange sense of humor, or maybe it's just the type of people who enjoy our work - after 8 years I'm still not sure.
我曾在直播時(shí)開玩笑說:“我看到QA團(tuán)隊(duì)在多人游戲測試時(shí)笑了,這要么說明一切都正常運(yùn)作,要么說明一切都壞了?!蔽覀兊穆殬I(yè)帶有一種奇特的幽默感,或者只是喜歡我們這份工作的人都是這類人——8年了,我仍然不確定是不是這樣。
The Process
流程
I'm going to talk more about the general process of QA and try to avoid going into too much detail here, otherwise it is a rabbit hole I will never escape. What I will say is this, I am talking high level processes of the QA department as a whole in relation to the project, QA's interfacing with each other department: Code, Design, Narrative Content, VFX, Audio, UI/UX, Environment Art, Tech Art, 2D Art and the various subcategories I've forgotten - each of these have a separate process work a bit differently. This is because they are all developed differently and implemented at different times of the game and so the standard QA has for one team is different from another depending upon the state of development.
我將更多地談?wù)勂房氐某R?guī)過程,并盡量避免在這里談太多細(xì)節(jié),否則這將是一個(gè)我永遠(yuǎn)無法逃脫的無底洞了。我要說的是,這里討論的是更高層面的流程,是關(guān)于QA團(tuán)隊(duì)作為一個(gè)整體如何與項(xiàng)目發(fā)生關(guān)系的,以及QA與其他部門是如何交互的:代碼、設(shè)計(jì)、敘事內(nèi)容、視覺特效、音頻、UI/UX、環(huán)境美工、科技美工、2D美工,以及我已經(jīng)忘記的各種子類別——其中每個(gè)部門都有獨(dú)立的流程,工作方式也有點(diǎn)不同。這是因?yàn)樗鼈兊拈_發(fā)方式不同,在游戲的不同時(shí)期實(shí)裝,所以一個(gè)團(tuán)隊(duì)的標(biāo)準(zhǔn)QA是不同的,這取決于開發(fā)的狀態(tài)。
QA has two types of general process testing, Milestone and Feature.
QA有兩種類型的常規(guī)測試流程,即里程碑和功能。
Milestone testing is the one most people outside of the industry understand as it translates to the words we use - Proof of Concept, Alpha, Beta, Release Candidate, etc. These are all milestones that we use in the development process. The intention is that there is a significant difference between them, the status of its features and even more importantly its gameplay loops and engagement. Milestone encompasses the game as a whole and is generally used in the statements such as "its as you would expect for alpha" etc.
里程碑測試是大多數(shù)行業(yè)外的人所能理解的,因?yàn)樗梢赞D(zhuǎn)化為我們所使用的詞語——概念驗(yàn)證、Alpha、Beta、待發(fā)布版本等。這些都是我們在開發(fā)過程中使用的里程碑。其意圖是,這些開發(fā)狀態(tài)之間有很大的區(qū)別,它的功能狀態(tài),甚至更重要的是它的游戲邏輯和參與度,都有很大差異。里程碑將游戲作為整體來考慮,一般用于諸如“你可以期待在Alpha中看見它”等等說法。

Even while testing the features for milestones. QA, just like the rest of the team finds a way to add a little humor into the documentation.甚至在測試?yán)锍瘫墓δ軙r(shí)也是如此。QA,就像團(tuán)隊(duì)的其他成員一樣,找到了在文檔中添加一點(diǎn)幽默感的方法。
Feature testing is a bit different, here at Paradox we usually refer to it as "development support testing" it's where QA is doing more piecemeal testing of individual implementation of the various pieces of the game. This is where we are ensuring that things merged correctly, that coders did not accidentally overwrite each other and we are caring more that things are working from the technical perspective then the full gameplay perspective.
功能測試則有點(diǎn)不同,在Paradox,我們通常把它稱為“開發(fā)支持測試”,它是指QA對游戲的各個(gè)部分的個(gè)別實(shí)裝內(nèi)容進(jìn)行的更零散的測試。在這里,我們要確保東西被正確地合并進(jìn)游戲,碼農(nóng)們沒有沒有意外地相互覆蓋代碼,我們更多地從技術(shù)層面而不是整個(gè)游戲?qū)用鎭碛^察事情有沒有運(yùn)作。
When a game is in its early stages of development to its alpha milestones - feature testing supersedes milestone testing. That's not to say we do not do alpha milestones but a large part of our testing is in the technical ends of the game as opposed to "playing for balance purposes." The reason behind this is that while the game is still actively being developed and is not yet towards the milestone where features are less likely to change, testing balance is inefficient effort. QA has a limited amount of time and a never ending series of tasks to tackle, so we have to be as smart as we can.
當(dāng)游戲處于從開發(fā)早期階段到a測里程碑之間時(shí),功能測試會取代里程碑測試。這不是說我們不做a測里程碑,但我們測試很大部分上是針對技術(shù)層面,而不是“為平衡而玩”。其原因是,當(dāng)游戲處于活躍開發(fā)階段時(shí),平衡測試多屬于無用功。QA時(shí)間有限,而且有著一堆看不到頭的任務(wù)要處理,所以我們必須盡可能機(jī)靈點(diǎn)。

Early on the fact the game is less polished has to be accepted by the QA team. We find unique ways to cope with this fact.在早期,QA團(tuán)隊(duì)必須接受游戲不太完善的事實(shí)。所以我們有獨(dú)特的方式來應(yīng)對該事實(shí)。

In case you were wondering, this is what that smile looks like today.如果你有疑問,那這個(gè)笑容今天變成這樣了。
As we get further along our milestones, towards beta and release candidates - the inverse is true: milestone testing supersedes feature testing as the main means of gathering data. In beta QA may still dive into features and test them from a technical perspective depending upon the number of changes made by a developer but more often than not they will focus on how these features interact with each other and do they make for meaningful and fun gameplay. Our difficulty in doing this? We need to figure out how to answer this question with some form of certainty as quickly as possible.
當(dāng)我們沿里程碑方向往前繼續(xù)邁進(jìn),走向b測和待發(fā)布版本時(shí),情況卻會反過來:里程碑測試會取代功能測試,以作為收集數(shù)據(jù)的主要方式。在b測時(shí),QA可能仍會深入研究功能,并根據(jù)開發(fā)人員做過的改動,從技術(shù)角度對其進(jìn)行測試。但他們更多時(shí)候會關(guān)注這些功能如何相互作用,以及它們能否帶來既有意義又有趣的游戲性。我們這么做的難點(diǎn)在哪里?我們需要盡快弄清楚以何種形式的確定性來回答這個(gè)問題。
As the game's development progresses so too does QA's standard processes on what is worth bugging and what is an acceptable fyi issue. Technical concerns have priority in early stages of milestone development while in release candidate papercuts with poor UI or incorrect information given to the player are treated as the same severity as broken functionality outright. Because it doesn't matter if it technically works if the player cannot understand it.
隨著游戲開發(fā)進(jìn)行,QA的標(biāo)準(zhǔn)也在不斷變化,如什么是值得捉的蟲子,什么是可接受的參考性問題。在里程碑開發(fā)的早期階段,技術(shù)問題具有優(yōu)先級;而在待發(fā)布版本中,不良的UI或提供給玩家的不明確信息被視為與功能損壞同樣嚴(yán)重。因?yàn)槿绻婕也荒芾斫猓敲醇夹g(shù)上是否可行并不重要。
The Timeline Going Forward (and Farewell)
未來的時(shí)間軸(與告別)
A QA's role adapts as the project progresses. In the beginnings of the project we’re very technically minded and working on ensuring the structure of the game is there. As development progresses we focus more on the features and how they feel and the overarching scope of the game. As we get further along the milestones QA becomes the representative experts of their game. Designers can tell you how it's supposed to work, QA tells you how it does currently and because of this knowledge we work regularly with community, beta testers and influencers in teaching them how things work early on and getting their feedback.
QA的角色會隨項(xiàng)目進(jìn)程調(diào)整。在項(xiàng)目開始階段,我們非常重視技術(shù),并努力確保游戲整體結(jié)構(gòu)到位。隨著開發(fā)進(jìn)行,我們會更關(guān)注功能和對它們的感覺以及游戲的整體范圍。隨著我們在里程碑上繼續(xù)前進(jìn),QA會成為他們游戲的代表專家。設(shè)計(jì)會告訴你功能應(yīng)該如何工作,而QA會告訴你實(shí)際上它如何工作。介于這些知識,我們定期與社區(qū)、b測參與人員與有影響力人士合作,教他們游戲在早期怎么運(yùn)作,并獲得他們的反饋。
Community is very much our comrades in arms in this endeavor, anything reported to Community Team on our forums or discord is brought to QA's attention to ensure we've got it Jira'd and the rest of the team is aware.
在本工作中,社區(qū)是我們的高度戰(zhàn)友,任何在我們的論壇或討論區(qū)中報(bào)告給社區(qū)團(tuán)隊(duì)的內(nèi)容都會被提交給QA,以確保我們會讓Jira和團(tuán)隊(duì)中的其他成員注意到它。
Soon release will be upon us, an exciting time for us all. You all will finally get a hold of the game and the development team will sit here anxiously waiting to hear your feedback and see the shenanigans you all get up to. The QA team itself is going to sit here wondering what last minute changes we made broke what and how that slipped through the cracks of our testing.
游戲的發(fā)布很快就要到來了,這對我們所有人來說都是激動人心的時(shí)刻。你們終于可以拿到游戲了,開發(fā)團(tuán)隊(duì)將坐在這里焦急地等著你們的反饋,看看你們都在整些什么花板子。QA團(tuán)隊(duì)自己也會坐在這里,試圖知道最后一分鐘都做了哪些改動會打破什么,以及蟲子如何從我們的測試縫隙中溜走。
At release and going forward we will have a bug forum where any issues found by you all that you think we do not know about, you can let us know. And even if we do know about it, you can help judge priority of fixing but more information will come in regards to that from the QA Team Lead around release so keep your eyes peeled.
在發(fā)布之時(shí),以及未來,我們都會準(zhǔn)備一個(gè)捉蟲論壇,任何你覺得我們不知道的問題,你都可以在那里讓我們知道。即使我們知道了,你也可以幫助我們判斷修復(fù)它的優(yōu)先級,但更多的信息將由QA團(tuán)隊(duì)領(lǐng)導(dǎo)在游戲發(fā)布前后時(shí)期提供,所以眼睛都睜大點(diǎn)。
And well, that's a summary of high level QA processes, instead of talking about the nitty gritty of testing X features or how many jira's we've written I hope you enjoy the peak behind the curtain to our sense of humor splattered throughout the dev diary.
好了,這就是更高層面的QA流程總結(jié),而不是聊聊我們測了某某功能或我們寫了多少個(gè)jira。我希望你能透過我們在整篇開發(fā)日志中散發(fā)的幽默感,享受讀完這篇日志。
翻譯:AntiAccess 月蝕
校對:三等文官猹中堂
歡迎關(guān)注UP主和主播小牧Phenix!
歡迎關(guān)注牧游社微信公眾號和知乎專欄!微信公眾號改版為信息流,歡迎【置頂訂閱】不迷路,即時(shí)獲得推送消息!
B站在關(guān)注分組中設(shè)置為【特別關(guān)注】,將會在私信內(nèi)及時(shí)收到視頻和專欄投稿的推送!
歡迎加入牧有漢化,致力于為玩家社群提供優(yōu)質(zhì)內(nèi)容!組員急切募集中!測試群組822400145!? ?
本作品英文原文著作權(quán)屬Paradox interactive AB所有,中文譯文著作權(quán)屬牧有漢化所有。