Unity 开发高级/资深 11:测试、监控、线上排障与安全
2026-06-10
·
3 分钟阅读
返回总览

测试与质量保障
- 单元测试:公式、配置解析、状态机、协议解析、条件系统、红点逻辑。
- EditMode Test:不依赖场景的编辑器逻辑和纯 C# 逻辑。
- PlayMode Test:启动、场景加载、UI 打开、基础交互、战斗流程。
- 冒烟测试:启动、热更、登录、进主城、打开核心 UI、进入战斗。
- 资源巡检:缺失脚本、Missing Reference、重复资源、贴图格式、Shader 缺失。
- 配置巡检:ID 冲突、引用不存在、奖励非法、任务链断裂、活动时间错误。
- 长稳测试:挂机、反复切场景、反复打开 UI、战斗循环、弱网重连。
- QA 工具:GM、Debug 菜单、日志面板、性能面板、一键复制环境信息。
需要掌握的工具
- Unity Test Framework:EditMode、PlayMode、纯逻辑和运行时测试。
- NUnit:组织断言、参数化测试和测试夹具。
- AltTester、Airtest、Poco:做 UI 自动化、冒烟和长稳测试。
- 资源巡检脚本:检查缺失引用、命名、贴图格式、Shader、Prefab。
- 设备农场或云真机:覆盖不同机型、系统版本和性能档位。
- CI 测试任务:在提交、合并或构建前自动跑配置、资源和核心逻辑检查。
可继续细分方向
- 单元测试和 PlayMode 测试。
- UI 自动化和冒烟测试。
- 资源、配置和构建巡检。
- 长稳测试、弱网测试和设备兼容测试。
日志、监控与线上排障
- 日志系统:等级、模块、时间、玩家 ID、设备、版本、服务器、上下文。
- 崩溃监控:C# 异常、Native Crash、ANR、OOM、GPU Driver Crash。
- 符号解析:dSYM、mapping、so、IL2CPP 符号、构建号匹配。
- 性能上报:FPS、卡顿、内存峰值、加载耗时、包体、下载失败。
- 关键链路:启动、热更、登录、进场景、战斗、支付、断线重连。
- 线上开关:关闭活动、禁用入口、降级特效、切换资源、屏蔽问题 SDK。
- 排障流程:收集日志、确定版本、复现路径、影响范围、临时止血、根因修复。
- 事故复盘:时间线、影响、原因、修复、预防、责任不甩锅。
需要掌握的工具
- Firebase Crashlytics、Bugly、Sentry:崩溃、异常和用户影响分析。
- ELK、Grafana、Prometheus、Loki:日志、指标、看板和告警。
- Logcat、Xcode Device Logs、Console.app:本地和真机日志排查。
- 符号解析工具:dSYM、mapping、so、IL2CPP 符号还原堆栈。
- 埋点平台:启动、热更、登录、加载、战斗、支付和活动数据。
- 线上开关后台:活动关闭、资源回滚、特效降级、入口禁用。
- 事故复盘模板:统一记录时间线、影响、根因、修复和预防。
可继续细分方向
- 崩溃、ANR、OOM 和符号解析。
- 客户端日志、埋点和性能上报。
- 线上开关、降级和回滚。
- 事故响应和复盘。
安全与反作弊
- 客户端不可信:关键经济、战斗结果、支付结果必须服务端校验。
- 协议保护:签名、时间戳、随机数、重放保护、简单加密、压缩混淆。
- 行为检测:速度、坐标、伤害、冷却、资源产出、异常请求频率。
- 支付安全:订单号、平台回调、服务器验签、补单、重复发货保护。
- 资源保护:清单签名、关键配置校验、防止直接替换。
- 风控日志:异常行为、设备、账号、IP、版本、场景、协议上下文。
- 客户端检测:越狱、Root、调试器、注入、改包,只作为辅助证据。
需要掌握的工具
- HTTPS/TLS、证书和签名工具:保障基础通信安全。
- 协议签名和重放测试工具:验证时间戳、随机数、序列号和校验逻辑。
- 代码混淆、资源加密工具:降低直接篡改和静态分析成本。
- Charles、Wireshark:从攻击者视角验证抓包、重放和篡改风险。
- 支付验签工具和订单后台:排查补单、重复发货和异常订单。
- 风控后台:查看异常速度、坐标、伤害、请求频率和设备行为。
- Root/越狱/调试检测库:只作为辅助信号,不能替代服务端校验。
可继续细分方向
- 协议安全和重放保护。
- 支付安全和订单校验。
- 客户端资源保护和混淆。
- 风控日志、作弊检测和服务端校验。
开发高级/资深关注点
- 质量保障不是只靠 QA 手工点。
- 线上问题必须能定位到版本、用户、设备、链路和失败原因。
- 每个高风险功能上线前要有开关和回滚策略。
- 反作弊不能只依赖客户端检测。
- 事故之后要沉淀工具、日志或流程,避免同类问题重复发生。
评论