Sprint 4: Team 2 Testing Plan - UQdeco2800/2021-studio-6 GitHub Wiki
Sprint 4 Testing
As sprint 4 is the final sprint and was focussed on polishing up the game there was much less to do in testing than in previous sprints where entirely new components were added. Due to this testing was focussed on the combat balancing (which was a task given to us) and minor testing elsewhere.
Automated Testing
Most additional code added during polishing tasks was given automated testing to ensure, as the game would no longer be worked on, that the game continued to function. Automated testing was seen as a priority due to this, as it meant there was no time in future to convert these functional tests to automated ones. Therefore, some additional work was put into functional testing for previously functionally tested components alongside testing additions from this sprint.
Functional Testing
Certain additions/alterations this sprint needed to be functionally tested as they either were unsuitable for unit testing or involved visual displays that have to be directly assessed by people.
Level One
As the level generation is based on exclusively private methods that generate a real level for the game it is illogical to try and unit test it as any unit tests that could be written would not give insight as they would not be testing single parts of the class.
Testing Method: Load in level 1 (starting the game and skipping the tutorial with "Esc") and compare the layout to the given in Excel Sheet
TreeAnimationController & CampfireAnimationController
In order to add some liveliness to the environment and improve player experience, some tree and campfire environmental assets were added. However, in order to have juiciness in the animations they are set to act on a random number generator, therefore it is not possible to test with JUnit.
Testing Method: Navigate to level two and look at the campfire and animated tree environmental assets, should see them animating in a random time pattern.
HUD Scaling
The HUD scaling needed to be tested manually as it was important to maintain consistent HUD positioning across windowed and full screen. This is difficult to test via code as it would require the physical resizing of the application window that houses the game and then comparison of the position of each of the scaled component.
Testing Method: Get to Level 1 and resize windows to see if HUD elements are in location. Get to boss level monitor the scaling again.
User Testing
For user testing this majorly came from the combat balancing task, as it was highly involved and required user tests to be conducted in order to ensure balancing was done correctly (seen here).
Future Testing
As development is completed on the game at the end of this sprint no further testing will be able to be completed on this game. However, for the purposes of reflecting on any future testing improvements this section will be completed based on the assumption that the game will continue to be developed at a later point in time.
For future testing this section will include both testing for elements implemented/altered by this team, as well as overall testing as an improvement for the game as a whole
Automated Testing
- For this teams contributions: Most elements had some test coverage however with future development it would definitely be advantageous to add more coverage to the implemented code (especially for certain classes with lower coverage)
- Overall: Many classes have very little to no coverage so in future development it is very important to make sure that the current code base is fully functional by increasing test coverage before any additional changes are made
Functional Testing
- Overall/This team: Functional testing will be maintained for all visual aspects that cannot otherwise be tested.
User Testing
- Overall: Entire game & Levels play testing should be completed for the whole game to ensure that as a unit the player is experiencing the game as intended
- Assuming the game is released after this point: Some user play information could be collected through logging and parsed through to see if any modifications could help improve user experience