game-dev

The TDD, the BDD and the requirements

In previous article, we decide to change many system for enhancing game experience. Unfortunately, AI behavior and skill are typical complex system that need access information from environment and change some status. It is hard to prevent bug when changing a system which heavily depend on the interactions with other systems. Turns out, we need testing.

2s6u83.jpg

Because there are so many system and functionality, it is important to separate irrelevant codes and what we want to modify. To regularize exist systems, 3 kinds of testing are introduced:

  1. Unit Test – make sure fundamental components won’t be broken accidentally. We use haxe-utest to test Logger, Collision and other stable systems.
  2. Behavior Test – to ensure third-party library and system interactions work as expected. buddy is chosen to test DatabaseTiled Loading, Path Finding and Behavior Tree modules and AI behavior.
  3. UI Test – use automation test to replace manual test for basic operation. We integrate Unity UI Test Automation into our game to simulate boring operation like toggle widget and drag/drop item.
tdd-bdd.PNG
TDD & BDD
ui-test.PNG
UI Test, easy to find bug (´゚д゚`)

To be honest, it is technically not formal TDD and BDD. However, testings are really help our development process. As game features change, testings got our back. Do you think test driven is suitable for game development? Would you consider using TDD in your game? Please leave your comment and share your ideas. (<ゝω・) ☆

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s