PhD student looking for game developers to answer a survey on automated testing

Hi everyone,

My name is Esdras Caleb, and I am a PhD student in Software Engineering focused on Game Development.

I am currently conducting research aimed at developing a tool to facilitate the generation of automated tests for digital games. To do this effectively, I need to better understand the needs, challenges, and practices of game developers.

If you work in game development, I would really appreciate it if you could take a few minutes to complete this questionnaire. If possible, feel free to share it with colleagues or friends who also work in the field.

You don’t need to complete it in one session — your answers are saved in your browser, and you can continue later by accepting the terms again.

Survey link:

https://esdrascaleb.github.io/gamesofengquiz/

Thank you for your time and support!

The problem is there are very few people who know how to write automated tests in this forum, and of the few of us who do know how and have explored GDUint or GUT, we don’t actually end up writing many. It’s a lot of expensive overhead for small developers, and TDD is only useful on certain things. You cannot test look, feel, or sound with automated tests.

How can an automated test tell you if the sound level sounds good between the sound effects and battle music? How can an automated tests tell you if it’s fun to jump from platform to platform? How can an automated test tell you if your graphics look cool?

Beyond that, most people who come here asking for help have spaghetti code. Many (if not most) have never heard of Object-Oriented Programming or Functional Programming. They’ve never heard of Test Driven Development or Business Driven Development. They don’t know how to write a test case, let alone automate one. They’re not aware of Cucumber, or how to leverage it in writing test cases.

Game development, even professional game development, relies heavily on manual testing by people with opinions.

1 Like

I love automated tests and I have written quite a lot of them when programming backend services with TypeScript and Go. But as a solo game developer, I have written only a few automated tests. The parts that can be easily tested are utility libraries, e.g., utility functions for array operations or math logic for working with normal distribution. It’s easy to introduce subtle bugs in those, but also easy to write thorough tests. So, the gain vs. work required is high.

But there is no way I would start creating tests for any visual stuff, such as player animations, a monster’s normal map shader, or the item inventory UI. Writing those tests would require so much work that I would never get anything done. I don’t have a written specification for how the player animation should work, I can change it any time if I feel it could be better. The item inventory UI changes constantly. If I had tests for everything, I would spend most of my time writing and updating tests. I can’t afford that.

Also, my previous experience with UI testing (React, etc.) has been that the gain vs. work required is extremely low. Both writing and running the tests takes a lot of time, and actual bugs are detected rarely, if ever.

AI might be useful in the future if I could have AI players playing the game and reporting unusual stuff happening, just like human test players.

2 Likes