如果您的应用拥有2100万活跃用户,且随时保持在线,那么需要处理的质量难题一定不计其数。为了避免出现严重问题,我们将共同探讨如何抢先一步搞定体验保障工作。
《精灵宝可梦:Go》终于上线。这款手游的人气有多高?很简单,其已经成为全美有史以来最流行的移动游戏,目前拥有2100万活跃用户。
但兴奋的玩家们在游戏时却发现了大量问题。我个人就发现自己无法使用谷歌凭证完成登录,因为其“无法接入该服务器”。后来虽然登录完成,但却由于“GPS连接丢失”而无法捉住身边的妙蛙种子。网上报告该游戏问题的帖子层出不穷,同时也给出了一些潜在的解决方案。Google Play与iTunes出现了大量用于“修复”该游戏问题并保持玩家顺利游玩的相关应用。
我们不禁要问:为什么会有这么多故障?
难道是游戏开发者们没有为汹涌的玩家做好充分准备?或者,他们没有测试全部可能用例——包括地理位置、设备、操作系统、硬件等等?
在上线后的头一周,几乎每天都会出现《精灵宝可梦:Go》服务器崩溃以及影响人们使用体验的报告。值得庆幸的是,这些都没有影响到这款游戏的人气。目前其开发商Niantic公司已经掌握并修复了多种问题,然而随着此游戏在更多国家的上线,恐怕他们还要面临规模更大、强度更为夸张的冲击。
凭借着对游戏的热爱,下面我们一起来看应当从中吸取的四项软件质量保障教训:
教训一:你的实际水平由短板决定——测试并监控API
《精灵宝可梦:Go》的核心在于API。无论是登录应用、识别位置、查看增强现实效果、收集宝可梦小怪物、对战还是开着游戏街,这一切都依靠着API实现数据与请求传递。其中部分API由Niantic公司独立开发,也有一些属于流行的公共API——例如谷歌地理API。
然而很多玩家发现游戏无法检测到GPS位置,或者有时会给出错误位置。
相关问题包括:
• API端点可用性
• 响应请求的具体速度
• 载荷的功能正确性
由于整款游戏基于地理位置的正确性与严谨性而建立,因此即使是小小的误差也会影响到用户体验。游戏厂商不仅需要在部署之前测试不同API功能,还应当立足不同场景监控API功能的正确性——包括地理位置、设备、操作系统与服务供应商对效果的影响。
教训二:验证用户生成的数据
事实上,《精灵宝可梦:Go》并不是Niantic公司的首款增强现实游戏。早在2011年,他们就曾发布了Ingress的beta版本,其允许用户在世界各地的标志性建筑及历史地点收集“门户位置”。正是凭借着这部分数据,该公司才能够建立起《精灵宝可梦:Go》中的竞技场与宠物商店数据库。
虽然群众提供的数据非常庞大,但仍然有可能带来错误的结果。另外,其指向的某些偏僻位置甚至有可能给玩家带来人身安全风险。谁该对此进行控制?当然是游戏厂商!
教训三:测试并监控前端
在《精灵宝可梦:Go》这款游戏中,需要由API与GUI相配合以共同完成信息收集,这也意味着对二者进行测试变得非常重要。
前端图形用户界面(简称GUI)不仅需要API响应,同时亦需要配合设备硬件/传感器数据。举例来说,玩家所处地点由基于位置的传感器GPS提供,而其反过来又会影响到游戏GUI的表现。这意味着测试人员需要利用集成化GUI与API测试工具进行问题分析。
与此同时,要建立起规模化且坚实的自动化测试战略,我们还需要关注GUI与API层的行为优化。我们以此为基础建立更多单元测试,而后是API测试,最后完成数量进一步减少的UI测试。
由于游戏厂商有着极为庞大的全球化推广野心,因此为了在不同区域提供一致的使用体验,前端错误或可用性问题必须得到高度重视。
教训四:准备好应对一切潜在用户场景
与任何一款应用一样,《精灵宝可梦:Go》所面对的用户也是形形色色。他们来自不同的国家、身处不同地点、利用不同设备访问应用,但却希望获得同样的性能表现。
事实上根据我的个人经验,这款游戏在Android设备上非常耗电,我甚至不得不在尝试了几天之后选择将其删除。
我认为游戏开发商在增强现实游戏领域才刚刚起步,这类应用能够带来新的发展方向与潜在可能性,但同时也面临着种种前所未有的挑战。第一次尝试做到这样已经足够令人赞叹,也希望他们能够在未来继续积累经验,真正在软件质量层面带来让每个人满意的成果。
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】
原文标题:4 Software Quality Lessons From Pokemon Go's Wild First Week
原文链接:https://dzone.com/articles/4-software-quality-lessons-from-pokemon-gos-wild-f
核子可乐译