-
Notifications
You must be signed in to change notification settings - Fork 0
Verification Plan
This document details the tests that will be performed in order to verify that the behavior of our application works to our determined requirements.
Verifications will be completed manually through human interaction with the application and its components, after each an implementation for each requirement has been attempted.
Initial verification tests will be performed for the application's respective components by the person to which they are assigned. Other team members will be notified when this is complete through Facebook.
Other team members will then verify the components by performing specified tests once the functionality for a component overall is determined to be finished by its owner and inform the team of the results of these tests by a weekly meeting (Monday or Friday).
In general, if there are no delays or setbacks, verification for all components of the Fighter class will be completed by May 19. The owners of each respective component will test components individually by the corresponding deadline (i.e, individual testing for Fighter is complete on May 10), then components will be tested by all team members by the following week. Components will be tested to the completeness of this specification for all classes by June 2.
The class "Fighter" and the level "1" will be utilized as a control input to reliably compare the rendered interface from page to page without the possible concern of changes in class causing inconsistent output. The class "Druid" and the level "20" will be utilized as a control input for magic-related features and steps as "Fighter" is not a class that learns spells. "1" and "20" are utilized to test the constraints of Level's DnD level accommodation as those are the minimum and maximum levels, respectively, and, as test cases, represent the full scope for generalized level-up features.
Using the "Bard" class, mid-level inputs will be utilized for each verification test if time allows, if the functionality of a particular function or component is highly dependent on the robust input of class or level or if it is otherwise necessitated by the feature in question.
Requirement | Verification |
---|---|
Users must be able to find and select the class for their search query in the drop-down menu for class selection, and have visual indication that this has been completed. |
1. Click on the drop-down menu. 2. If a textbox expands from the drop-down menu and displays class names, click on the class "Fighter". 3. Verify that the text displayed in the drop-down menu now shows "Fighter". 4. Verify that the stored class name in stepClass in stepDescription is "Fighter". 5. Repeat steps 1-4 for the classes "Druid" and "Bard." |
Users must be able to deselect the class for their search query in the drop-down menu for class selection, and have visual indication that this has been completed. |
1. Verify that the class "Fighter" has been selected through the aforementioned process. 2. Click on the drop-down menu. 3. Click on the class "Fighter". 4. Verify that there is no text displayed in the drop-down menu text box. 5. Verify that that the stored class name in stepClass in stepDescription is now null. |
Available classes must be sorted in increasing alphabetical order in the drop-down menu for class selection. |
1. Click on the drop-down menu. 2. Verify that the classes are displayed in the textbox in the order: "Bard", "Druid", Fighter". |
Requirement | Verification |
---|---|
Users must be able to find and select a level from 1 - 20 for their search query in the drop-down menu for levels, and have visual indication that this has been completed. |
1. Click on the drop-down menu. 2. Verify that the numbers 1-20 are displayed. 3. Click on the number "1". 4. Verify that the text displayed in the drop-down menu now shows "1". 5. Verify that the stored level name in stepLevel in stepDescription is "1". 6. Repeat steps 1-4 for the levels 2, 7, and 20. |
Users must be able to deselect the level for their search query in the drop-down menu for levels, and have visual indication that this has been completed. |
1. Verify that the level "1" has been selected through the aforementioned process. 2. Click on the drop-down menu. 3. Click on the level "1". 4. Verify that there is no text displayed in the drop-down menu text box. 5. Verify that that the stored class name in stepLevel in stepDescription is now null. |
Levels must be sorted in ascending order in the drop-down menu for levels. |
1. Click on the drop-down menu. 2. Verify that the levels are displayed vertically in the textbox in the order: "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ... 20". |
Requirement | Verification |
---|---|
Users must be able to begin the level-up process by clicking on the "Go" button. |
1. Select the class "Fighter" and verify that it has been selected correctly by the aforementioned process in "Class Selection". 2. Select the level "1" and verify that it has been selected correctly by the aforementioned process in "Level Selection." 3. Verify that the "Go" button is present on the page below the drop-down menus. 4. Click on the "Go" button. 5. Verify that the page that is displayed is the page for Step 1. 6. Repeat steps 1-5 for the class "Druid" and the level "20". |
Users must only be able to navigate to the a new page if both class and level have been selected |
1. Select the class "Fighter", but do not select a level. 2. Click the "Go" button. 3. Verify that the page has not changed from the home page. 4. Repeat steps 1-3, except select level "1" and do not select a class. 5. Repeat steps 1-4, except select a different class, and a different level (ex: "Bard", "17"). |
Requirements | Verification |
---|---|
|
1. Select the class "Fighter" and the level "1" and iterate through the level-up process. 2. Verify that each page is in the correct order listed above up to "Update Features", which is the last step for "Fighter" and all non-magic-using classes. 3. Verify that the level-up order that the application iterated through for "Fighter" corresponds with the stored StepDescription order for Fighter's LevelRecipe . 4. Repeat steps 1-3, except for the class "Druid" and the level "20" and verify that each page is in the correct order up to "Learn Spells, Cantrips, Incantations" which is the last step in the level-up process for Druids and all magic-using classes. NOTE: There is no consistent format for these Steps to which output for different class iterations can be accurately compared, but the title for each Step across respective classes will always be the same. |
Requirement | Verification |
---|---|
On the top of each step page, users must be shown the Class and Level for which they are iterating through a level-up process. | 1. Iterate through the level-up process for the class "Fighter" and the level "1". 2. Verify that the class "Fighter" and the level "1" are displayed in a header at the top of every Step page. |
On the top of each step page, users must be shown which Step they are on, both number and title, and the purpose of the Step, in terms of what information it provides (Ex: Step 1, Increase Hit Points) | 1. Iterate through the level-up process for the class "Fighter" and the level "1". 2. Verify that each Step has a "Step {N}" heading, with N indicating the placement in the step ordering. 3. Verify that each Step has a title. Verify that this title corresponds to a feature title (i.e, "Increase Hit Points"). 4. Verify with a novice Dungeons & Dragons player that the instructions listed for the Step are sufficient to understand the purpose and function of the Step. 5. Repeat steps 1-4 with an expert Dungeons & Dragons player. |
Requirement | Verification |
---|---|
There must be a next button at the bottom right section of the page. | 1. Begin the level-up process with the class "Fighter" and the level "1". 2. Iterate through the level up process for "Fighter", level "1". 3. Verify that there is a next button at the bottom right section for every page throughout the level-up process. 4. Repeat steps 1-3 for the class "Druid" and the level "20". |
Upon clicking the next button, users must be taken to the next step, unless this step is the last (Step 1 to Step 2 / last step to Completed Page) | 1. Begin the level-up process with the class "Fighter" and the level "1". 2. Iterate through the level up process for "Fighter", level "1". 3. Verify that the next button correctly . 4. Repeat steps 1-3 for the class "Druid" and the level "20". |
There must be a back button at the bottom left section of the page | 1. Begin the level-up process with the class "Fighter" and the level "1". 2. Iterate through the level up process for "Fighter", level "1". 3. Verify that there is a back button at the bottom right section for every page throughout the level-up process. 4. Repeat steps 1-3 for the class "Druid" and the level "20". |
Upon clicking the back button, users must be taken to the previous step, unless this step is the first (Step 4 to Step 3 / Step 1 to Homepage) | 1. Begin the level-up process with the class "Fighter" and the level "1". 2. Iterate through the level up process for "Fighter", level "1". 3. Verify that there is a back button at the bottom right section for every page with the aforementioned process. 4. Verify the ordering of the Steps with the aforementioned process, if not already done so. 5. Verify that the back button iterates the application in an exact reverse of the forward order (Simple Increases, Increase Hit Points, Increase Proficiency, Features, Action Features (when applicable), Enhance Features (when applicable), Shape Features (when applicable), Update Features (when applicable), Magic, Increase Spell Slots (when applicable), Learn Spells, Cantrips, Incantations (when applicable)) 6. Repeat steps 1-3 for the class "Druid" and the level "20". |
Requirement | Verification |
---|---|
There must be a progress bar at the bottom of the page, filled to A/B, where A is the current step number, and B is the calculated number of steps this process includes for this specific Class and Level. | 1. Iterate through the level-up process for the class "Fighter"' and the level "1". 2. Verify that the progress bar is present on every page at the bottom. 3. Verify that the progress bar fills to the correct proportion for each page. 4. Repeat steps 1-3 for the class "Druid" and the level "20". |
Requirement | Verification |
---|---|
User's must be provided with correct, simple Hit Die instructions (Fighter, Step 1: roll a 1d10, then add your character’s constitution modifier) | 1. Iterate through through the level-up process for the class "Fighter", level "1" and stop at Step 1. 2. Verify that that Step 1 is the Increase Hit Points step - namely, that it provides the users with instructions to increase their hit points by asking them to roll a die and add their constitution modifier. 3. Go to the Roll 20 page for Fighter and verify that the die listed and the hit point modifier is correct for the class "Fighter" and the level "1". 4. Repeat steps 1-3 for the class "Druid" and the level "20". |
Users must be see a visual representation of the correct dice type for their character class (Fighter: illustration of a 10-sided dice) | 1. Iterate through the level-up process for the class "Fighter" and the level "1" until Step 1. 2. Verify that the die listed for the user to utilize for their hit points is the correct one for "Fighter" with the aforementioned process. 3. Verify that the picture used to represent the listed die is correct by comparing the die with other dice on (Google Images)[https://www.google.com/search?q=1d10+die&source=lnms&tbm=isch&sa=X&ved=0ahUKEwizvvLkrebTAhUK7mMKHYaWBBEQ_AUIBigB&biw=1536&bih=735]. If results are inconsistent, consult detailed Dungeons & Dragons online resources such as Easy Roller Dice. |
Requirement | Verification |
---|---|
Users must be provided with a Step that instructs them to increase their proficiency to +3 at Level 5, +4 at Level 9, +5 at Level 13, and +6 at Level 17 (cumulatively increasing the added proficiency bonus by 1 for every four levels). | 1. Iterate through the level-up process for the class "Fighter" for the level "1". 2. Verify that there is no Step that instructs the user to increase their proficiency at any point in the step ordering. 3. For levels 5, 9, 13, and 17, verify that the Proficiency Bonus step occurs at the correct place in the step ordering. 4. For levels 5, 9, 13, and 17, verify that the Proficiency Bonus suggested increases by 1 for each case, respectively. 5. Repeat steps 1-4 for the class "Druid". |
Requirement | Verification |
---|---|
Users must be provided with all the features for their Level & Class, and the features for no other Levels and/or Classes. | 1. Select "Fighter" for the class, level "1" for the level and iterate through the level-up process to Step 3. 2. Open the DnD 5e API, query Fighter-features and verify that the displayed text is the same as the JSON text stored in the API. 3. Go to the Roll 20 page for Fighter and verify that the features stored are correct. 4. Repeat steps 1-3 for the class "Druid" and the class "Bard", querying the API with {class-name}-features , and for different levels of "Fighter". |
Users must be provided with Steps that provide instructions on how to add new or adjust old features for their character, as specified by the rules for each specific Class and Level. | 1. Select "Fighter" for the class, level "1" for the level. 2. Begin the level-up process. For each Step, verify with a user with a novice or beginners level of Dungeons and Dragons experience that the instructions on each Step are sufficient for the user to feel confident (as self-described by the user) in understanding how to add the respective features. 3. Verify the instructions listed for each step with the instructions listed in the Roll 20 page for Fighter. 4. Repeat steps 1-3 with a user with an expert level of Dungeons and Dragons experience. 5. Repeat steps 1-4 with the class "Druid" and the level "20". |
Requirement | Verification |
---|---|
Each Feature must have its own Step. | 1. Iterate through the level-up process for the class "Fighter" and the level "1." 2. Verify that all features for the class "Fighter" and the level "1" are present in the step ordering. 3. Verify that that each feature is is designated with the "Step {N}" heading, N representing the number in the order, at the top of each page. 4. Repeat steps 1-3 for the class "Druid" and the level "20", verifying that the magic-related features (Increase Spell Slots, Learn Spells, Cantrips, Incantations) meet the aforementioned conditions. |
Separation will be visually indicated by breaking up the container that holds the feature into multiple pages. | 1. Iterate through the level-up process for the class "Fighter" and the level "1." 2. Verify that all features for the class "Fighter" and the level "1" are present in the step ordering. 2. Verify that that each feature that has a designated Step heading has its own page, and is not contained in any pages for other Steps and does not contain any other Steps. 4. Repeat steps 1-3 for the class "Druid" and the level "20", verifying that the magic-related features (Increase Spell Slots, Learn Spells, Cantrips, Incantations) are present. |
If a Feature includes displaying a list, each choice must be shown as a bullet point to avoid implying to the user that they must indicate their choices on Level's interface | 1. Iterate through the level-up process with the class "Fighter" and the level "1". 2. Verify that for all features that require making choice during the level-up process (i.e, Action Features, Enhance Features, Shape Features, Update Features, Increase Spell Slots, Learn Spells, Cantrips, Incantations) have bulleted lists for their lists of spells and feature choices. 3. Repeat steps 1-2 for the class "Druid" and the level "20" to verify Increase Spell Slots and Learn Spells, Cantrips, Incantations. |
Requirement | Verification |
---|---|
If a character is gaining magic, or spellcasting, the Spell Steps must show their Spell Save Difficulty Class and their Spell Attack Modifier at the top of the page. | 1. Iterate through the level-up process for the class "Bard" and the level "1" until the Increase Spell Slots Step is reached. 2. Verify that the Spell Save Difficulty Class and the Spell Attack Modifier are listed at the top of the page. 3. Verify that the Spell Save Difficulty Class and the Spell Attack Modifier are listed at the page for the Learn Spells, Cantrips, Incantations feature. 4. Repeat steps 1-3 for the "Druid" class and the level "20". |
Users must be informed as to which spell slots they have just gained, and be able to view their total spell slots are for the given class and level. | 1. Iterate through the level-up process for the class "Bard" and the level "1" until the Increase Spell Slots Step is reached. 2. Verify that that the Spell Slots page contains a list of spell slots. 3. Go the the Bard Roll 20 page and verify that the lists spell slots is correct for the class "Bard" and the level "1". 4. Repeat steps 1-3 for the class "Druid" and the level "20". |
The Spell List for the Learn Spells, Cantrips and Incantations Step must list detailed effect, properties, constraints; all relevant and correct information as specified in the Handbook (also verifiable with Roll20) | 1. Iterate through the level-up process for the class "Bard" and the level "1" until the Learn Spells, Cantrips and Incantations feature is reached. 2. Verify that that the Learn Spells, Cantrips, Incantations page contains a list of spells. 3. Go the the Bard Roll 20 page and verify that the list of spells is correct for the class "Bard" and the level "1". 4. Verify that the listed effects, properties and constraints correspond with what is listed in Roll20. 4. Repeat steps 1-3 for the class "Druid" and the level "20". |
Once expanded to the Spell page, users must be able to return to the previous Step page with a back button. | 1. Verify that the back-button has the correct behavior by using the [aforementioned procedure](Next and Back Buttons) for verifying the back-button behavior for all Steps. |
Requirement | Verification |
---|---|
Under the "Spell Level" header, all spells for the chosen level and class must be listed and must be listed in alphabetical order. | 1. Iterate through the level-up process with the class "Druid" and the level "20". 2. Verify that there is a "Spell Level" header at the top of the page. 3. Query the DnD 5e API for druid-spells and verify that the text displayed on the application is the same as the text stored in the API. 4. Go to the Roll 20 page for Druid and verify that all spells present correspond with the chosen class and level. 5. Verify that all spells are listed alphabetically. 4. Repeat steps 1-3 for the class "Bard" for the level "1", except use bard-spells for the API query. |
Spells must be sorted by their spell level in ascending order (with the prior mentioned alphabetical order taking precendent). | 1. Verify that the spells listed are correct for the class Druid and the level 20 based on the aforementioned process. 2. Verify that the spells are listed in ascending order (1, 2, 3, ... 20) after being sorted alphabetically. |
Requirement | Verification |
---|---|
Users must be given a visual indication that level-up is complete, with a message that contains the user's name and class. (“Congratulations! You are now a Level 5 Wizard”) |
1. Iterate through the level-up process for the class "Fighter" and the level "1". 2. Verify that the text displayed on the screen is "Congratulations! You are now a Level 1 Fighter!" |
Users must be able to return to the previous Step page with a back button |
1. Iterate through the level-up process for the class "Fighter" and the level "1". 2. Verify that the screen displayed is the "Update Features" step, which should be the last Step for Fighter. 3. Repeat steps 1-2 for the class "Druid" and the level "20", except verify that the last step is "Learn Spells, Cantrips, Incantations", which should be the last Step for Druid. |
Users must be able to iterate through the Level process again if desired, by clicking on the "Level Up" button which should bring them back to the homepage. |
1. Verify that the "Level Up" button is located below the displayed "Congratulations!" message. 2. Click on the "Level Up" button. 3. Verify that the application changed pages to the original home page with its default state (blank fields for "class" and "level"). |