# 刻意测试每条规则的边缘

> 通过测试小型浏览器游戏中的移动、计时、屏幕边缘、计分器和重复输入的限制来查找边缘情况故障。

- URL: https://oneshotgems.ai/zh-Hans/topics/testing-game-boundaries
- 类别: 游戏开发者指南
- 类型: 指南
- 更新日期: 2026年10月5日

许多游戏缺陷出现在规则发生变化的边界上，例如平台边缘前的最后一个像素、允许收集的最后一件物品、计时器归零的瞬间，或重新开始时收到的输入。边界测试要选取略低于限制、恰好达到限制、略高于限制的值，再确认每种结果都符合预期。生成的原型尤其需要这类测试，因为正常游玩看似没问题，极端情况却可能悄悄多给分或卡住玩家。

## 在尝试打破限制之前先绘制限制

列出带有阈值的规则。门需要3把钥匙才打开，就测试2把、恰好3把，以及玩家可额外收集时的4把。如果平台在屏幕边缘结束，就分别慢速接近、快速接近和跳跃接近。如果计时器归零时结束一回合，就观察归零前一帧、归零时的状态转换，以及紧接着到达的输入。这些情况有助于发现边界差一错误和重叠的状态转换。

## 探测时间和重复输入

分别测试按一次操作、按住操作和快速连按。观察跳跃会不会重复、菜单会不会连续前进两次、同一件拾取物是否被重复计数。还要测试状态转换前后的输入，例如游戏结束覆盖层出现时按下重新开始。如果游戏用 requestAnimationFrame 制作动画，标签页进入后台后回调运行时间可能会变化；对于依赖经过时间的游戏机制，还要测试隐藏标签页再返回的情况。

## 常见问题

**游戏测试中“略低于限制、恰好达到限制、略高于限制”是什么意思？** 选择规则阈值两侧的值以及恰好位于其上的值。对于三键门，使用两个键、三个键以及三个以上的任何可达到的计数进行测试。

**隐藏标签暂停总是一个错误吗？** 否。决定时间在隐藏时是否应该暂停或继续，然后测试所选的行为。重要的部分是计时器和动画根据明确的规则恢复。

## 跟随好奇心探索

- [如何重现浏览器游戏错误](https://oneshotgems.ai/zh-Hans/topics/reproducing-game-bugs): 通过捕获构建、设置、准确输入、预期结果和观察到的结果，将令人困惑的游戏失败转化为可重现的报告。
- [使浏览器游戏测试可重复](https://oneshotgems.ai/zh-Hans/topics/deterministic-game-tests): 控制随机值、时间和起始条件，以便游戏测试产生可比较的结果，并且更容易诊断失败。

## 延伸阅读

- [MDN 请求动画帧](https://developer.mozilla.org/en-US/docs/Web/API/Window/requestAnimationFrame)

---
规范页面: https://oneshotgems.ai/zh-Hans/topics/testing-game-boundaries
