TRIPLE XP Weekend

It was received really well last month... so we're doing it again! TRIPLE XP from now until Monday at 11:00am MST.
Hey! I'm PHEN, or Stephen Ma, and I'm an Automation Developer here at New World Interactive. Today I'd like to share with you a little bit behind the scenes of game development and hopefully you'll learn a bit more about development in general!
To describe an Automation Developer, I'll have to talk about Test Automation. First, let's talk about what a 'test' is. A test (in this case) is a deliberate process of verifying systems, features, and regressing bugs to ensure the game behaves the way we intended. As a game develops in number of features, so does the number of tests. More often than not, the number of tests needed is hundreds of times more than the number of features.
Whether that addition is being able to have a player kick open doors, blow others up with explosives, or interacting with AI, the number of ways two systems interact with each other need to be tested. Adding a new feature means we need to develop new tests to cover all new behaviors and every interaction they will have with other systems.
Each of those tests takes a non-small amount of time to execute, and with the need to test everything with every small change it can quickly scale outside what a team can do on any given day.
To come back to what I do as an Automation Developer at New World Interactive, it's someone who will actively work on getting tests into an "automatically-testable" state as early as possible. This would mean identifying a test, bringing parts of the process into code, and having it automatically run on a machine.
You might say this sounds a lot like "AI" or "Bots" - and you would be correct since there is an overlap in those development aspects, but, I'm avoiding those terms here because they don't include other aspects of the testing such as:
- Documenting evidence
- Identifying the root causes of issues
- Scheduling the test to run optimally
- Communicating the scale and impact of issues to the team
- Observing differences in actual behavior vs. expected behavior
A good human test will convey those important aspects in the form of a bug report, while a good automated test will have to do the same thing; but will have to do it without any human intervention.
Describing it as "AI" or "Bots" will limit someone's thinking about what automated test development should be. Designing well automated tests is a non-trivial task and requires thinking outside of bot development, hence the Automation Developer's role!
At the end of the day, I'm a developer working on the game and play an important part of the team to ensure we're making the best game we can. Most of my work is something gamers will never see in game but I'm thrilled I can share a little bit of it with you today.