专栏首页新梦想软件测试自动化测试与游戏开发不适原因分析
原创

自动化测试与游戏开发不适原因分析

目前国内的游戏行业,几乎还没有比较成功的游戏自动化测试体系,有少数公司在做,但是效果都不很明显。为什么会出现这样的情况?答案很简单,因为大规模的自动化测试并不适用于游戏测试领域。

那么,为什么在传统软件测试中大行其道的自动化测试会在游戏测试领域中出现水土不服呢?

结合传统软件与游戏行业,来跟大家一起分析一下。

一、成本耗费问题

首先我们来谈一谈钱这个很俗的事,一个团队要不要做自动化测试,首先要考虑的可能不是技术方案而是我们可以投放到质量上的钱有多少。成本主要来源于2各方面,一是自动化测试工程师的人力成本,二是实现自动化测试开发和维护的时间成本。这两方面的成本都会最终折算成钱体现在项目总成本上。

一名自动化测试工程师的人力成本基本上等价于2-4名普通的黑盒测试工程师,而在游戏项目中,黑盒测试工程师是不可或缺的(至于原因,我们下面再讲),也就是说自动化测试工程师是额外投入的成本。投入的少,基本不起作用,投入的多,项目成本能不能扛得住也是个问题,尤其是对很多创业团队而言。

另一个层面,自动化脚本的开发需要与程序和策划有深度交互,这种深度交互会耗费其他人员非常多的时间,从而影响了其他人的工作进度,进而影响整个项目的进度。这一点是经常容易被忽视的一个成本。

二、游戏的感官特征

游戏是感官性非常高的一类软件,与视觉,听觉,感觉有直接关系,这点与传统软件差别较大。测试过程中需要人去直观的去体验,比如图标位置,音频是否合适,关卡玩起来是不是流畅等等,这些是自动化测试无法替代的,也是上面说的黑盒测试在游戏项目中不可或缺的原因。

三、迭代速度

游戏的迭代速度相比传统软件要更加快速,尤其是手游行业。一周一个甚至几个版本都是正常现象。在这种迭代速度下,自动化测试显然很难跟得上项目进度,很有可能一个功能已经上线了,自动化脚本开发还没有完成。面对这种时间上的不匹配,很多事情变成然并卵了,自动化测试的作用也就相对被拉低了。

四、需求变更速度

在游戏行业,需求变更的频度远远超过传统软件行业。原因有很多,列举几点:一是市场变化太快,二是很多设计需要反反复复的验证才能确定哪种体验更好一些,三是移动互联网时代产品与用户的反馈时间被缩短,四是游戏功能之间的耦合度非常高,开发过程中某些功能的设计会导致其他功能变的不再适用,必须进行重新设计。

那么问题来了,需求变更如此频繁,自动化测试怎么适应?可能昨天写的脚本,今天发现就全废了。

五、缺乏自动化测试意识

几乎所有的游戏在前期架构设计上就没考虑到游戏自动化测试的需求,所以在游戏后期介入自动化测试几乎是不现实的。另外,游戏开发公司没有意识到自动化测试的意义,所以也无法开展。除了公司,很多测试者自身能力不足,或者接触不到游戏代码或其他需求无法满足,导致无法进行自动化测试。

结合上面的几点,全面的大规模的自动化测试并不适用于游戏测试领域,尤其是手游领域。可能小规模或局部自动化测试还值得尝试一下,比如服务端的自动化测试(服务端变更相对不频繁,与人为感官联系不大,逻辑性代码较多)。

自动化测试是一剂很好的方药,对某些病症有很好的疗效,但不能被看作是包治百病的大力丸,乱使用只会适得其反。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Selenium中Page Object设计模式

    Page Object(页面对象)模式,是Selenium实战中最为流行,并且被做自动化测试同学所熟悉和推崇的一种设计模式之一。在设计测试时,把页面元素定位和元...

    软件测试君
  • 持续测试的那些事

    敏捷,DevOps 和持续交付已然存在于现今每个技术人员的词汇当中。我们都想要像硅谷里的巨头和初创公司一样,敏捷开发,快速发布软件,做出创新的产品。向敏捷转型在...

    LinuxSuRen
  • Machine Learning-模型结果的应用之道

    当你有了一个相当不错的模型结果了,这个时间就需要上线应用了,但实际上这个过程也是需要注意很多东西的呢,比如汇报你的项目结果、上线计划沟通、上线后的监控等等,都是...

    Sam Gor
  • 接口测试之RESTful案例应用

    在接口测试之RESTful中对RESTful做了详细的介绍,在前面的基础上继续完善案例的应用。在接口测试中,当客户端请求服务端,服务端响应返回给客...

    无涯WuYa
  • 50个必须要会的微服务面试题[每日前端夜话0xAB]

    根据 Gartner 的说法,微服务是云开发的新应用平台。微服务是独立部署和管理的,一旦应用实现在容器内,它们与底层操作系统的交互很少。因此,如果你希望把微服务...

    疯狂的技术宅
  • 「自动化测试」微服务自动化测试简介

    微服务 - 也称为微服务架构 - 是一种构建方式,它将应用程序构建为松散耦合服务的集合,具有完整的业务功能。微服务架构允许连续交付/部署大型复杂应用程序。本文将...

    首席架构师智库
  • 从头到脚说单测——谈有效的单元测试

    ? 导语 非常幸运的是,从4月份至今,我能够全身心投入到腾讯新闻的单元测试专项任务中,从无知懵懂,到不断深入理解的过程,与开发同学互帮互助,受益匪浅。在此过程...

    腾讯技术工程官方号
  • pyqt中QTableWidget里的下拉列表

    有时候我们希望在QTableWidget的单元格中进行下拉列表的选择,就像excel里面这样。那么怎么设置呢?怎么实现读和写呢?特别是在pyqt中,在c++中,...

    钱塘小甲子
  • 再见,微服务

    本文翻译自Alexandra Noonan 的 Goodbye Microservices: From 100s of problem children to ...

    芋道源码
  • 关于自动化测试的前期发展历史及未来发展趋势

    今天的软件市场完全以消费者为导向,为了保持相关性,产品必须处于不断的准备发版状态。面对不断变化的消费者品味,企业如何确保这一点?自动化测试在其中发挥了重要作用,...

    新梦想IT职业教育

扫码关注云+社区

领取腾讯云代金券