Abstract:Games are usually created incrementally, requiring repeated testing of the same scenarios, which is a tedious and error-prone task for game developers. Therefore, we aim to alleviate this game testing process by encapsulating it into a game called Playtest, which transforms the tiring testing process into a competitive game with a purpose. Playtest automates the generation of valuable test cases based on player actions, without the players even realising it. We envision the use of Playtest to crowdsource the task of testing games by giving players access to the respective games through our tool in the playtesting phases during the development process.
What problem does this paper attempt to address?
The problem that this paper attempts to solve is the repetitive and error - prone manual testing tasks in the game development process. Specifically, game developers usually need to repeatedly test the same game scenes, which is not only dull but also prone to human errors. To solve this problem, the author proposes a system named PlayTest, aiming to relieve this burden by transforming the game testing process into a competitive game.
### Main problems and solutions
1. **Repetitiveness and error - proneness**:
- In the game development process, testing the same scenes can become very monotonous and error - prone.
- Traditional static test cases (fixed inputs and test oracles) are difficult to adapt to the random behaviors common in games, so they are not suitable for dynamically changing program behaviors.
2. **Automatically generating valuable test cases**:
- PlayTest automatically generates valuable test cases through players' operations, while players do not know that they are generating these test cases when playing the game.
- This method utilizes the concept of crowdsourcing, that is, collecting various game trajectories and assertions through the participation of a large number of players, thereby generating more extensive and effective test cases.
3. **Gamifying the testing process**:
- Transform the dull testing process into a purpose - driven game (Game with a Purpose), enabling players to help developers test games while enjoying the game.
- In this way, not only can the testing efficiency be improved, but also more people can be motivated to participate in game testing.
### Specific implementation methods
- **Play module**: Designed as a player - versus - player game, players obtain points and rewards by completing specific tasks (such as detecting mutated program versions).
- **Test module**: Runs in the background and is responsible for extracting information from players' game trajectories and assertions to generate static and dynamic test cases.
- **Abstract purpose**: Ensure that players generate test cases without knowing it, maintain the fun of the game, rather than testing for the sake of testing.
- **Associate success with valuable test cases**: Successful gameplay should be able to generate valuable static and dynamic test cases, but players should not directly bear the task of creating test cases.
### Expected effects
Through PlayTest, the author hopes to effectively utilize players' behavior data in the game development process, generate high - quality test cases, thereby reducing the workload of manual testing, improving testing efficiency, and ultimately improving the quality of the game.
### Summary
The core problem of this paper is to solve the repetitive testing tasks in game development and transform it into an interesting and efficient testing tool through gamification. Through PlayTest, the author hopes to improve the coverage and effectiveness of game testing without increasing the burden on developers.