检测回归的策略

我知道写testing是一个很好的方法来捕捉回归。 但是还有什么其他的策略? TDD和游戏开发不合适,但捕捉回归显然是可取的。 我很乐意find一些便宜而简单的方法来获得回归,而不必花费很多精力或者在事实之后编写testing。

建议的策略不一定是完美的,如果他们能够给出粗略的想法或者事情来迅速testing,那么这也是有益的。

请指教。

首先,我会挑战TDD和游戏开发不混合的假设。 虽然在游戏开发中有一些难以进行unit testing的东西(你如何为graphics效果编写一个合适的unit testing,其中唯一正式的要求是“看起来很酷”?)还有其他几个领域是有意义的。 例如,你的核心游戏规则。

但是比自动化unit testing更有用的是自动化集成testing。 为您的游戏创建一个框架,允许您自动:

  1. 加载预定义的游戏场景
  2. 模拟他们几秒钟,模拟玩家input,如果有必要(最好以增强的速度)
  3. 检查场景的结果是否是你期望的结果,如果不是,则报告

当你的游戏使用一个随机数字发生器时,确保你在每次testing中使用相同的数值。

为每个function创建一个testing套件,并创建一种自动运行所有testing的方法。 作为一个例子,这里是Factorio游戏的testing套装:

https://www.youtube.com/watch?v=erYjMMBXy7A

试想手动testing您在84秒video中看到的每一个function。 当然,没有自动化的testing服可以取代真正的血肉testing玩家,但是如果你有一套全自动的testing服,它仍然可以为你节省数百小时的游戏时间,大大加快你的testing修复周期。