Testing Decision Making Process - Jacob1225/pufferfish-minecraft-mod GitHub Wiki

Testing Decision Making Process

Initially, our team began using forge 1.12.2 for development until the McJunitLib minecraft testing library was discovered. For Space Invaders, the main functionality of the mod is client-sided functionality that occurs within the gui screen. Unfortunately, the minecraft testing library does not support testing client-sided interaction, thus unit testing for code the game logic and acceptance testing for GUI interaction was primarily used as testing.

On the other hand, the arcade machine, game token, prize token and game trophy are all minecraft structures that have interaction with the player and the minecraft world. It is important for the team to ensure that these structures functioned as intended as more code is added to the code base.

Major Decision Points

After researching different tools and solutions to test minecraft specific code, the only viable option seemed to be the McJunitLib testing framework. Thus, the team decided to switch to version 1.16.5 as it was the only version compatible with the library.

Moreover, deciding how to test the client-sided interaction was based on what solutions would be both comprehensive and effective. Therefore, the team decided to use acceptance testing to test our use cases for the gui features. A major reason was that bug tracking was easier, since it was clear when playing the game what behaviour was not functioning correctly.