Test Specification
Test Specification[edit | edit source]
Note: Since we are only building a prototype (and not a robust program) for the Kickstarter pitch, our tests at this point are not so much code-based as they are customer-based. We want to specifically show the owners (the Lowry's) that we have the ability to do the things they are asking so we can screen-capture these things for our Kickstarter video. In addition, a lot of our code base has yet to be written. As of this week's deliverable date (15 March 2014), this is our test plan.
Here is our "Template": Project Requirements
For each of the requirements, we must create a test or test suite that guarantees that we have met the indicated objectives.
Please add to this document a section for the portion of the program you have been assigned and identify describe the test cases you will run. We will post our actual integration test results (PASS/FAIL) on this page to indicate the status of development of our program.
Item Creation Engine[edit | edit source]
Test Description | Test Passed? |
Update() method called on mesh object changes its geometry at run-time |
PASS |
Object geometry is correctly generated from vertices |
FAIL |
Object properties (material makeup, density, etc.) write to item class |
FAIL |
Do not allow vertices to be moved outside the item's bounding box |
FAIL |
Single method correctly computes item's mass from its materials and geometry |
FAIL |
Editing only allowed within material/financial constraints |
FAIL |
Provide completed sword template file |
FAIL |
Screen coordinates correctly translate to object coordinates and vice versa |
FAIL |
Item class files meet formatting and content requirements of combat team |
FAIL |
Demonstrate that re-load after editing and saving an object keeps and loads the changes made previously |
FAIL |
Vertices of object are stored in appropriate order after object manipulation (i.e. after delete, create new, etc.) |
FAIL |
Editing appropriately allows for undoing and redoing actions (or should this be UI?) |
FAIL |
Provide needed actions for UI interface |
FAIL |
Combat Engine[edit | edit source]
Test Description | Test Passed? |
Player passes out after losing two-thirds of his blood points |
FAIL |
Unconscious players regenerate blood slightly faster than normal |
FAIL |
Blood points must always be between zero and the maximum amount, inclusively |
FAIL |
Severe injuries in the arms disable the player's ability to swing his weapon |
FAIL |
Severe injuries in the legs cripple the player, slowing movement speed and making him clumsier |
FAIL |
The most severe injuries in crucial places (ie. head, throat, etc) cause immediate death |
FAIL |
Severe injuries in crucial places (ie. head, throat, etc.) cause immediate unconsciousness for a time if they do not cause immediate death |
FAIL |
More severe bleed injuries cause player to lose more blood points at a faster rate |
FAIL |
Injuries are caused only when something comes into contact with the player's skin or armor |
FAIL |
A shield and armor protects the player from all injuries except those for which they are weak or vulnerable (like fire hitting chain mail) |
FAIL |
An injury's severity is properly calculated according to the momentum of the player and the object system and the player's protection at the points of collision |
FAIL |
Item Creation UI[edit | edit source]
Test Description | Test Passed? |
Clicking on forge opens up menu for Item Creation |
FAIL |
Choosing an item to edit successfully loads and displays it |
FAIL |
The vertices on the item are highlighted and selectable |
FAIL |
Item correctly rotates intervals of 90 degrees around the y-axis when flipped |
FAIL |
Weapon stats are correctly displayed |
FAIL |
Clicking the vertex editor button in the toolbox enables vertex editing (all other buttons are reach items for now) |
FAIL |
Vertices successfully snap to the underlying grid |
FAIL |
Newly added vertices are successfully displayed and can be manipulated. |
FAIL |
Selecting a weapon part causes that weapon type to be placed in focus (vertices appear and are selectable) |
FAIL |
The materials of weapon types can be changed from the weapon parts window |
FAIL |
Changes to a weapon type's material are reflected visually in the rendered item |
FAIL |
Contents of Options and Help windows change when toolbox selection changes |
FAIL |
Dragging and dropping a vertex causes the item underneath to change its geometry correspondingly |
FAIL |
Dragging a vertex causes the outside borders of where it can be dragged to be displayed (low priority) |
FAIL |
Dragging a vertex too close to another existing edge or vertex causes a visual effect to appear indicating that the vertex cannot be dragged beyond it. (low priority) |
FAIL |
When symmetric mode is enabled, all operations on vertices on one side of the screen (left/right) are mirrored on the opposite side of the screen, if an opposite vertex exists. (Reach feature) |
FAIL |
When a vertex is added, the new vertex is reflected by the item underneath |
FAIL |
Vertices can be deleted |
FAIL |
When a vertex is deleted, the deletion is reflected by the item geometry underneath. |
FAIL |