游戏邦在:
杂志专栏:
gamerboom.com订阅到鲜果订阅到抓虾google reader订阅到有道订阅到QQ邮箱订阅到帮看

自动化真的是游戏QA的未来出路吗?

发布时间:2014-06-09 14:42:47 Tags:,,,,

作者:Arran Oakes

自动化被宣告为QA领域方面的一大突破,事实果真如此吗?

对于游戏QA来说,自动化通常意味着早期建模状态的更多信心,并且可节省极为重复性任务的大量时间和抓狂状态。

无论是运用于普通测试还是特定测试,如果开发团队能够与QA在初其阶段合作编写单元测试,这就可以节省QA进行回归测试的功夫。在QA之前你采用的自动化操作越早,团队就能够腾出越多时间富有前瞻性地采用不同方法找到漏洞。

QA(from adamrudd.net)

QA(from adamrudd.net)

减少重复测试

通过运行平行测试,测试主管可以获知哪一个测试区域产生了最多问题。这个信息可用于直接的手工测试,并且避免将时间花费在测试不完整的功能上。索尼就是使用自动测试来确保其手工测试团队能够腾出双手并且更有效率地完成任务——理想情况下可用自动化工具包揽大量乏味或极耗成本的测试用例。

这样整个测试团队就无需再被禁锢于棘手的测试多人模组中,产生围绕着“用一根牙签杀死1000个敌人”这种任务的无聊测试员。在多人模式载入测试中,自动化工具投入700多个小时运行游戏测试的情况并不鲜见,这增加了检测到低发生率问题的机率。

除此之外,自动化工具还可以生成自己的调试信息,视频采信,自动化核心文化链接和翻译以及开发者路径。

尽管它对QA具有如此之多的潜在优势,但令人意外的是除了大型开发商和发行商之外,行业中的其他团队最近才刚开始运用这一方法。原因有很多,包括经济实力、技术局限性,以及最难克服的文化障碍。

经济挑战

自动化工具价格不菲。进行较大规模的自动化测试需要大量的软件、潜在硬件以及技术人员投入。最后一个条件通常最具挑战性,因为很难找到精通自动化艺术的人才。也就是说,最好现在就开始将你们最棒的开发者和系统工程师来开发测试自动化框架。

技术局限性

从技术角度来说,功能或设计变化在某些工作室中甚为普遍,所以你必须确保你的框架具有适应性和模块化特点。这便于你在发生设计变化时尽快更新测试组件,除此之外,进行更高级的自动化并令其可靠运行(更不要说是产生一致结果)也并非易事。

与较大规模的时间或金钱投入一样,获得高级股东和更广泛的制作团队的认同也是一个必需条件。

在产生实际结果之前,你可能还会经常遇到任务延迟的情况。

文化障碍

最重要的是,没有一种自动化框架会像真正的人类测试员那样具有适应性,所以这需要开发团队的支持和认同。

你越早与特定团队合作,就越可能产生好结果。每次成功都可以让你获得改变团队文化的机会。某些时候,索尼会在开发项目启动之前,与开发者一起设计测试框架。

要尽量避免仅仅启动类似UI或截图对比这种高级整合测试,这些可能在概念上比较容易理解和编写,但它们也非常脆弱并且不易于扩展。这只会让你在维护上浪费时间和金钱,阻碍你的项目进程。

总结

尽管如此,自动化还是存在巨大的潜在益处。例如,Unity能够向如此多平台开发和发布产品的功能,几乎都是自动化的功能。它每次可运行大量的测试用例,促使Unity团队更轻松地针对15到20个平台修订功能。

简而言之,自动化是QA领域中最新且最具潜力的工具。任何中型开发者最好都要尽早在这方面花点时间。(本文为游戏邦/gamerboom.com编译,拒绝任何不保留版权的转载,如需转载请联系:游戏邦)

Is automation really the future of game QA?

By Gaming IQ’s Arran Oakes

Automation has been heralded as one of the greatest leaps forward in QA, but is it really all it’s cracked up to be?

For game QA, automation generally means more confidence in a build’s status earlier, and significant time – and frustration – saved on extremely repetitive tasks.

Whether applied to general testing or specific cases, if dev teams can work with QA to write unit tests in the initial stages, it can save QA from having to run into regressions on builds. The more upfront automation you have on the builds before they hit QA, the more time the teams can spend finding bugs proactively and using different approaches.

REDUCING REPETITIVE TESTING

By running tests in parallel, a test lead can understand which areas of a test case are generating the most fails on a particular build. This information can be used to direct manual testing, and avoid time expended on testing incomplete features on a build. Sony is using automated tests to ensure that their manual test teams are freed up to be more effective – ideally using the automation tools to wrap up a lot of the tedious or costly test cases.

No more tying up the whole test team on smoke-testing multiplayer builds, herding bored testers towards headshots or tasks along the lines of ‘kill 1,000 enemies with a toothpick’. In the case of multiplayer load testing, it’s not uncommon to have automated kits spend 700-plus hours running in-game tests, increasing the chance that low frequency issues will be detected much faster.

As an added bonus, the automated kits also generate their own debug information, video capture, automatic core file linking and translation and developer trace.

With so many potential advantages for QA, it may seem surprising that automation has only recently started gaining momentum for all but the largest developers and publishers. There are several common reasons for this: financial, technical and, often the most difficult to overcome, cultural.

FINANCIAL CHALLENGES

Automation is not cheap. Doing it on any significant scale requires investment in software, potentially hardware, and almost certainly skilled people. The latter is often the most challenging, as people versed in the art of automation are hard to come by. That said, it would be well worth setting your best developers and system architects to work on test automation frameworks now.

TECHNICAL LIMITATIONS

Technically, feature or design changes tend to be prevalent with some studios, so you’d need to ensure that your frameworks are as adaptable and modular as possible. This enables you to update a test suite as quickly as possible when design changes occur. Additionally, actually doing higher level automation and getting it to run reliably – let alone with consistent results – is not easy.

As with any significant investment of time or money, buy-in from senior stakeholders and the wider production teams is required.

It is not uncommon to see pushback until you can demonstrate tangible results.

THE CULTURE BARRIER

At the end of the day though, no automation framework is as adaptable as a real tester, so it usually requires substantial buy-in from development teams.

The earlier you can start working with a specific team, the better the results you’ll likely see. With each success you gain traction to change the culture. In some cases, Sony is working with developers to design in-test frameworks before development even starts.

Try to resist the temptation to start on only high-level integration tests such as UI or screenshot comparisons. These may be conceptually easy to understand and author, but they are also very fragile and not easily scalable. This could hold you back while you just lose time and money on maintenance.
A WORLD OF BENEFITS

Nevertheless, the potential benefits of automation are huge. For example, Unity’s ability to develop and release across so many platforms is almost solely attributable to automation. It enables them to more easily verify features across 15 to 20 platforms with a massive number of test cases run on every single commit.

Quite simply, automation is the latest, and potentially greatest, tool in the QA arsenal. Any mid-sized developer would be well advised to invest time in it as soon as possible.(source:develop-online


上一篇:

下一篇: