Team 6 Sprint 4 Code Implementation Test Plan - UQdeco2800/2022-studio-2 GitHub Wiki
Team 6 - Sprint 4 Code Implementation Test Plan
Over the course of the past 12 weeks, we have developed various classes and methods, all working but not written to their full potential. In sprint 4 we aimed to optimise what we developed, reducing bugs and code smells with our strong understanding of how the libraries and language working with, hindsight is a wonderful tool. Here is our plan of attack:
Testing Plan:
- Tackle Code Smells
Using sonarLint and sonarCloud fix any code smells, with the limitation of any issues with code duplication usually can't be resolved without changing big portions of the class.
- Tackle Bugs
Again using Using sonarLint and sonarCloud to fix any obvious bugs
- Optimise Code
Now that the obvious stuff is out of the way we go in and use computer memory tools to test which parts of our implementation take up large portions of memory and hardware when run. That implementation can then be optimised, either by correctly disposing of instances or adjusting how our implementation works.
- Testing
With everything cleaned and optimised, we can now write test classes for classes and methods that can be tested. We are heavily limited to being unable to test a lot of the UI implementations like screens due to time constraints and skill level, headless testing isn't well understood by our team.
- GitHub Build
To make sure we haven't broken something, commit and see if it builds without errors online (sadly loading-screen branch had some issues with this)
- UML/ Sequence Diagrams and Document
Finally, develop UML and sequence diagrams, then document all that has been done to its own wiki so we know how it works when we look at it again (someday)
So What Exactly Does This Plan Apply To?
Player modifier
components/player/PlayerModifier.java
Player stamina / mana
components/CombatStatsComponent
components/player/PlayerActions
entities/factories/PlayerFactory
Player stamina, health and mana display
components/player/PlayerStatsDisplay
Player movement animation
Death screen
Keybinds / controls menu
/core/src/main/com/deco2800/game/components/maingame/OpenKeyBinds.java
/core/src/main/com/deco2800/game/components/player/OpenPauseComponent.java
Key Prompt
PlayerFactory
player/PlayerKeyPrompt
player/PlayerKPAnimationController
Transition Screen
source/core/src/main/com/deco2800/game/screens/LevelTransitionScreen.java
source/core/src/main/com/deco2800/game/components/levelTransition/LevelTransitionDisplay.java
source/core/src/main/com/deco2800/game/components/levelTransition/LevelTransitionActions.java
source/core/src/main/com/deco2800/game/components/levelTransition/TransitionInputComponent.java
source/core/src/main/com/deco2800/game/components/player/KeyboardPlayerInputComponent.java
Win Screen