DanielBullimore / OOmutiny

OO Javascript frontend
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Testing Plan 1.0. Game Loop #28

Open DanielBullimore opened 4 years ago

DanielBullimore commented 4 years ago

Link to Feature List: #25

Testing Method:

Manual / User Testing:

An html document will be written for manual testing of the game loop. On that document a form will display a text input, textarea and 5 button inputs. The buttons will allow manual triggering of funRedrawTheWorld(), funBenchmark(), funStartLoop(), funStopLoop() and combined with a number from the text input funTurnCircle().

1 run funBenchmark()

2 start the game loop

3 enter a manual loop interval "solar year" and run funTurnCicle

4 run funStopLoop

Programmatic Testing:

Game loop class will also be subjected to programmatic testing by an internal testing method. The method will compare the states, properties and methods conform to those described in the feature description. Programmatic testing will be conducted by the manual testing html document prior to displaying manual testing interface. Outputs of progress and results for that test will be logged in text to the displayed document. This test will animate the sun with its four planets orbiting it to visually prove the game loop and its threads are running. A temporary object called planet will be written. It will be used to render the four planets in the test. The object will contain a color, xy cords, distance from sun

[Attach / Upload testing program and link it]

Pass Criteria

1 Security, Accessibility & Visibility:

1.1 Pretest state:

1.1.1 file O.class.js is loaded in document header. 1.1.2 the class O() exists in javascript namespace. 1.1.3 an instance of O() as been decleared and its state has been printed to the testing document. That state matches the UML class for this object.

1.2 Post testing state:

[Define this feature's required post-testing security/accessibility/visibility states]

Other/Notes:

[notes]

2 Interface & display:

although gameloop does not have a GUI presence, the testing document will for debugging and such. 2.1 Pretest state:

[Define this feature's pretest states from a user perspective] 2.1.1 A textarea is displayed to output testing info and results 2.1.2 A text input exists to allow testers to manual enter a solar year. 2.1.3 Five buttons labeled: World, Benchmark, Start, Stop, Turn; enabling the tester to run Game Loops 5 methods. 2.1.4 A blank canvas with black background.

2.2 Post testing state:

[Define this feature's required post-test states from a user perspective] 2.2.1 The black canvas displays a yellow circle (the sun) at its center 2.2.2 A brown circle orbits the sun at 1/11th of the solar year per mercury cycle 2.2.3 A purple circle orbits the sun at 1/7th of the solar year per venus cycle 2.2.4 A green circle orbits the sun at 1/4th of the solar year per earth cycle 2.2.5 A red circle orbits the sun once per solar year at 360/[solaryear] 2.2.6

Other/Notes:

[notes]

3 Persistent Memory:

(what does the system know about this feature?)

3.1 Pretest state:

3.1.1: [A]. the O() instance's mecury array will contain one repeating act interrupt which calls a function to append "mecury tick" to the text area every 11 cycles. [B].

[Define this feature's persistent memory pretest states]

Post testing state:

[Define this feature's required persistent memory post-testing states]

Other/Notes:

[other]

Restrictions:

[Explicitly define what sates must not result from testing this feature]

Exceptions:

[Describe any controlled error states which can be thrown, what must trigger those errors and how a user will be affected]