游戏测试了解
1、MMORPG 的定义是什么?
MMORPG 是一个缩写,全称是:Massively Multiplayer Online Role-Playing Game,中文翻译为:大型多人在线角色扮演游戏。
拆开理解:
- Massively Multiplayer(大型多人)“大型” 指的是游戏的服务器架构可以同时支撑成千上万的玩家在同一个虚拟世界里活动。你不是在和一个、十几个,而是和无数真实的人共享一个世界。“多人” 是游戏的核心。你遇到的几乎每个角色背后都是一个真实的玩家,而不是电脑控制的程序(NPC)。
- Online(在线)游戏需要一个持续的互联网连接。这个世界是永远存在的,不会因为你下线而停止运转。其他玩家依然在游戏中生活、成长和互动。
- Role-Playing(角色扮演)玩家在游戏中扮演一个虚拟角色,通常可以从不同的种族(如人类、精灵、兽人)、职业(如战士、法师、牧师)中选择,塑造其外观、性格和发展路线。游戏有一个宏大的背景故事和世界观,玩家在其中探索、成长,并可能创造自己的故事。
- Game(游戏)它具备游戏的一切要素:等级提升(升级)、技能学习、装备获取、战斗、任务、探索等等。
2、核心测试方法论
1)功能测试 - 保证“玩法”的正确性
这是基础,但MMO的功能测试复杂度更高。
- 核心玩法系统:任务/副本、战斗/技能、AI行为。需测试正常流程、分支、异常情况。
- 案例:测试一个副本Boss,不仅要测试能否击败它,还要测试队员中途掉线是否能正常重连并获取奖励、Boss技能仇恨列表是否正确、多人同时释放特效技能时伤害计算是否准确。
- 成长与经济系统:这是MMO的命脉,需要极度精确。测试重点:数值公式(攻击力=基础值+装备加成)、物品掉落概率、装备强化成功率、拍卖行交易手续费、货币产出与消耗平衡。需要大量边界值测试
- 例如:背包满了还能否收到邮件附件?金币达到上限会怎样?
- 社交与多人协作系统:组队、公会、好友、聊天、邮件、交易。测试重点:事务一致性。
- 例如:A和B交易,A放上了物品,B放上了金币,在点击确认的瞬间,A断网了,物品和金币该如何处理?(必须回滚,不能消失)
2)性能与压力测试 - 保证“大规模”在线
这是MMO测试区别于单机游戏的最大不同。
- 服务器性能测试:压力测试:使用机器人模拟成千上万玩家同时登录、在主城聚集、同时释放技能。目标是找出服务器承载极限、发现内存泄漏、CPU过载等问题。同步与一致性测试:确保所有玩家看到的世界状态是一致的。例如,一个怪物被击杀,所有附近的玩家应该几乎同时看到它倒下,不能有的玩家看到它“诈尸”。
- 客户端性能测试:帧率(FPS)与发热:在多人同屏的战斗场景(如公会战、世界Boss)中,测试不同档次手机的帧率表现。流量与耗电量:监测游戏在不同网络下的流量消耗。
3) 兼容性与本地化测试
- 兼容性:测试大量不同机型(不同品牌、OS版本、屏幕分辨率、芯片型号),尤其是低端机型的表现。
- 本地化:如果游戏发行海外,需测试文本翻译、文化适配(例如某些图案在某些地区的禁忌)、支付方式等。
4)安全与反作弊测试
- 核心:思考“玩家如何作弊?”并尝试破解自己的游戏。
- 常见测试点:修改本地客户端:尝试修改内存、破解购买、加速器(倍攻外挂)。网络协议破解:抓包并篡改发送给服务器的数据(例如,将“购买1个”修改为“购买-999个”从而刷金币)。机器人脚本:模拟点击自动刷资源,破坏经济系统。
5) 长线运营与社区测试
- 回归测试:每次版本更新,都需要对旧功能进行全面回归,确保新内容不破坏旧系统。
- 线上监控:游戏上线后,实时监控服务器状态、经济系统数据(如金币通胀)、异常道具流失等。
3、常用工具
- 缺陷管理工具:Jira、Tapd、TestRail。用于记录、跟踪、回归Bug。
- 性能工具:
- 服务端:Jmeter、LoadRunner、自研机器人进行压测。
- 客户端:Unity Profiler、UWA、Perfdog。用于分析性能瓶颈。
- 抓包工具:Charles、Fiddler、Wireshark。用于分析网络协议,排查网络问题和安全问题。
- 兼容性测试平台:Testin、WeTest。云测平台,能快速覆盖大量真机。
- 自动化测试:UI Automation、Appium、自研工具。用于处理大量重复的回归测试用例。
测试岗面经 文章被收录于专栏
整理面试过程中的测试问答,常看常新,多多学习!有些问题是从其他人那里转载而来,会在文章下面注明出处,希望大家多多支持~~,觉得满意的话就送一朵小花花,谢谢! 内容目录:https://www.nowcoder.com/discuss/779856598809264128?sourceSSR=users