This page is the first out of three pages dedicated to testing the functionality of KYPO CRP sufficiently. It focuses on testing the linear training functionality. It is rather likely, that the KYPO CRP has somewhat changed since this testing manual has been written. As a result, when encountering errors or misleading instructions in this manual, consult them with the appropriate people and consider updating the manual.
Prerequisites
Deployed KYPO instance including 4 users:
- admin - all-mighty user
- designer - instructor (with the role of ROLE_TRAINING_DESIGNER)
- organizer - instructor (with the role of ROLE_TRAINING_ORGANIZER)
- trainee
Note: the names of the users may differ, the important are the roles of the users.
Sandboxes
- Create sandbox definition for linear training:
- URI:
git@gitlab.ics.muni.cz:muni-kypo-crp/prototypes-and-examples/sandbox-definitions/general-testing-definition.git
- Revision:
master
- URI:
- Create a pool of 3 sandboxes. Set the sandbox definition created in the previous step.
- Allocate all sandboxes.
Linear Training
1. Manually create a throwaway linear training definition
*After each Save action, refresh the page and check if the changes are persistent. *
Edit Definition panel
- Fill in all fields, including notes and outcomes:
- Title: Linear Demo Training Definition
- Description: Some description
- Notes: [ You need to be prepared ]
- Outcomes: [ Knowledge ]
- Show stepper bar: No
- Press the Save button, which should allow for setting levels and authors. Stay within the first panel for now.
- Change all the fields (by randomly adding characters), field by field. Also, toggle the Show Stepper Bar button. After each change of the field save the definition.
- Change at least one field without saving and attempt to close the tab, go back one page in the history and close the browser (all these actions should result in some sort of confirmation popup dialog). When this dialog appears, select cancel to stay on the page and save the changes.
- Replicate the previous step, but when the confirmation dialog appears, select leave to leave the page without saving the changes. Then navigate back to the page to confirm that the changes did not persist.
- Add new notes and outcomes, save the definition, remove the previous notes and outcomes and save again. Then, try the Delete all button for both notes and definitions.
- Finally, add one note and one outcome into each category and save the panel.
- Go back to the Linear Training Definitions page and display the details of the training that was just created. They should match the last inserted values and estimated duration should be 0.
Edit Authors panel
- As admin add designer to the list of authors (designers).
- Sign in to the platform as the designer.
- Check if you can edit the training definition.
- As admin remove the designer from the list of authors.
- Check that designer isn't allowed to modify the training definition.
Edit Levels
-
Create four levels: Info level, two Training levels, and an Assessment level.
During the following actions, keep saving the levels and reloading the page from time to time to see if the changes are persistent.
-
Fill the Info level's title and content with random text.
-
First Training level.
- Set the title to Training Level 1 and its estimated duration to 5 minutes.
- Add random content and solution. When doing so, test all the buttons for Markdown formatting of the text.
- Switch to the preview tab to see if the Markdown is interpreted correctly.
- Attempt to input wrong values or invalid characters into the Points for the level and Incorrect Answer Limit fields.
- Attempt to input an answer that is longer than 50 characters. After that, input kypo as the answer.
- Check the Solution Penalized TickBox.
-
Second Training level
- Set the title to Training Level 2 and set its estimated duration to 5 minutes and set the flag to kypo.
- Add random content and solution.
- Add three hints to the level. Fill in the title, penalty (again try to input incorrect values) and their content.
- Try to get the total hint penalty over the current amount of points rewarded for the level.
- Save the hints and reload the page.
- Switch the order of the hints, save, then remove one of them and save again.
- Add two more hints and fill them in randomly. Save them.
-
Assessment level
- Input a random title, instructions and set its duration to 5 minutes.
- Add a Free Form Question.
- Set the toggle button associated with this level from Questionnaire to Test. This should enable you to input points and penalty points for the question.
- Fill in these new fields and try to save the level (should not be possible without the correct answer filled in).
- Add an answer and save the level.
- Switch the level back to Questionnaire and these latest changes should be reverted automatically.
- Switch it back to Test and the previous changes should not reappear.
- Delete the Free Form Question and switch the level back to Questionnaire.
- Add a Multiple Choice Question
- Add up to five choices to the question and save the level (should not be possible if they are empty).
- Fill these choices randomly and save.
- Switch the level to Test, and try saving without selecting the correct answer.
- Select the third choice as a correct answer and save.
- Delete the selected correct answer and try saving (should not be possible).
- Select the new third choice (fourth originally) as the correct answer and try saving (this should be possible).
- Set the level back to Questionnaire and the selected correct choices along with Points and Penalty points fields should be cleared.
- Set it back to Test and the previous changes should not reappear.
- Delete the Multiple Choice Question and switch the level back to Questionnaire.
- Add an Extended Matching Items Questions
- Add two rows and two columns, so that there is a 4x4 table and name the new entries.
- Set the level to Test and select choices at the following coordinates (row, column) as correct: (1,3), (2,2), (3,1) (4,4).
- Save the level.
- Delete the second column and check if the remaining part of the table is intact. You should be unable to save the level.
- Select a new random correct answer for the second row and save.
- Remove random rows and columns and observe changes.
- Set the level back to Questionnaire and the selected correct answers along with Points and Penalty points fields should be cleared.
- Set it back to Test and the previous changes should not reappear.
- Delete the Extended Matching Items Questions and switch the level back to Questionnaire.
- Add five questions of different types (at least one Free Form, one Multiple Choice and one Extended Matching question).
- Fill them up with random data, choices and so on.
- Remove one question from the middle of the list and observe possible incorrect behaviour.
- Switch the order of the questions and observe possible incorrect behaviour. Also, save and see if the changes are permanent.
-
Randomly update some fields of the levels, save, and refresh the page and check if the data is still persistent.
-
Randomly update some fields of the levels, do not save, leave, and check that the data that was added is not present.
-
Switch the order of the levels randomly and check if the data in these levels is still correct. Save and see if the changes are persistent.
-
Repeat the previous step without saving and leave the page. See if the order of the levels remained unchanged.
-
Open the definition again and make sure it is changed. Start browsing the levels you made (display their hints, solutions, questions, markdown and so on randomly - make sure you do not make any changes). Once done, you should not be able to save the training as nothing has changed.
-
Go to the Linear Training Definition agenda and check that the Estimated Duration of the level states 15 minutes.
-
Delete one of the Game levels, save, reload, check that everything else is correct and the level is gone.
-
Go to the Linear Training Definition agenda and check that the Estimated Duration of the level states 10 minutes.
2. Export training definition
Export the created throwaway training definition and check if the json file contains roughly what was left in the definition.
3. Import/clone training definition
Import the exported definition, click edit definition and check all the data. Do the same using the clone action.
4. Preview the training definition
From the Linear Training Definition agenda, try to preview the definition. This should start a mockup of the training, where you can click through the levels. List through the mocked version of the training and check if all the information that was set is in order.
general-testing-definition sandbox
5. Create a linear training definition by importing the linear training definition for the6. Create a linear training instance
Edit Instance panel
- Fill in all fields:
- Title: Test general linear training instance
- Start time: Set about fifteen minutes from now (see step 7).
- End time: Set at least two hours after the current date and start time, so that there is enough time to finish the training.
- Token: 01
- Training definition: Uploaded General Testing Linear Definition
- Save.
- Check that second part of the token (PIN) is the number in range 0000-4999.
- Update the instance, field by field to optional values and save it.
- Assign pool for linear training created in the Sandboxes agenda.
Edit Organizers panel
- As admin add organizer to list of organizers.
- Sign in to the platform as the organizer.
- Check if you can edit the training instance.
- As admin remove the organizer user from the list of organizers.
- Sign in as the organizer and check that you cannot access the training instance.
See the Training Instance details
- Navigate to the Linear Training Instance agenda and display the details of this training instance. All the data that was input should be displayed there.
7. Access the training run before it starts
Copy the token and navigate to the Training Run agenda. Try accessing the run that should not have started yet. As a result, this should not be possible
8. Attempt to tamper with the Uploaded General Testing Linear Definition
Most of the following actions revolving around the Uploaded General Testing Linear Definition should not be possible (unless stated otherwise) as the training instance that was just created depends on it.
- Try to delete the definition as a whole.
- Clone the definition and then delete the clone (this should be possible).
- Enter the edit mode for the definition and try to edit any fields, checkboxes, switch order of levels, hints, change answers to the questions. One by one, try saving after each change. It should not be allowed.
9. Attempt to delete the Training Instance
- This should produce a warning popup, stating that the pool must be unassigned first, offering a force option. Select cancel.
- Unassign the pool and then try to delete. That should work. This step may cause the pool to stay locked. If so, go to the pool agenda and unlock the pool manually for later use. In case the pool got deleted along with the Training Instance, create a new pool as in the beginning of this manual, but do not allocate it just yet, as it will be deleted once more.
- Now check if you can edit the original training definition as it should be possible (just edit the title, as the definition itself will be used later).
- Create new randomly filled training instance, assign the original training definition and do not assign it a pool.
- Try to delete it right away (this should not cause any issues).
- Create a random training instance again and assign it a training definition and a pool this time.
- Try deleting it, and once the popup, informing that there is pool assigned to the definition appears, select force to delete the instance anyways. Again, this may lock or delete the sandbox that was assigned, so it may be necessary to unlock or create it anew, in which case now you can also allocate the pool as it will not be tampered with anymore.
- Finally, recreate the original training instance from step 6 and assign it the Uploaded General Testing Linear definition and the pool consisting of three sandboxes.
10. Access training run
Access training run using three different users (admin, instructor, trainee), follow the instructions provided by the training run, and perform the appropriate actions for each user (you can find them below, and they will be stated again in each level of the training run).
1. Info Level - Initial information
Proceed to the next level.
2. Training Level - Simple level 1
Admin | Instructor | Trainee | |
---|---|---|---|
Take solution |
Proceed to the next level by submitting the flag kypo.
3. Training Level - Simple level 2
Admin | Instructor | Trainee | |
---|---|---|---|
Take solution |
Proceed to the next level by submitting the flag kypo.
4. Training Level - Level with hints 1
Admin | Instructor | Trainee | |
---|---|---|---|
Take hint | 0 | 1 | 1 |
Take solution |
Proceed to the next level by submitting the flag kypo.
5. Training Level - Level with hints 2
Admin | Instructor | Trainee | |
---|---|---|---|
Take hint | 1 | 0 | 1 |
Take solution |
Proceed to the next level by submitting the flag kypo.
6. Training Level - Level with hints 3
Admin | Instructor | Trainee | |
---|---|---|---|
Take hint | 1 | 0 | 2 |
Take solution |
Proceed to the next level by submitting the flag kypo.
7. Training Level - Level with hints 4
Admin | Instructor | Trainee | |
---|---|---|---|
Take hint | 1 | 0 | 2 |
Take solution |
Proceed to the next level by submitting the flag kypo.
8. Training Level - Hard level
Admin | Instructor | Trainee | |
---|---|---|---|
Input incorrect solutions | 1 | 0 | 2 |
Proceed to the next level by submitting the flag kypo.
9. Assessment Level - Questionnaire
Answer the following questions randomly. The 2nd, 4th and 6th questions are marked with required solution. Try leaving some of these questions unanswered. You should not be able to proceed to the next level without answering them first. Vice versa, leave some of the other questions empty and see if you can proceed. Confirm that it is the case and proceed to the next level.
10. Assessment Level - Test 1
Question 1 - Free Form 1
Admin | Instructor | Trainee | |
---|---|---|---|
Answer | kypo | kypo1 | wrong |
Question 2 - Free Form 2
Admin | Instructor | Trainee | |
---|---|---|---|
Answer | wrong | kypo | wrong |
Question 3 - Free Form 3
Admin | Instructor | Trainee | |
---|---|---|---|
Answer | wrong | kypo | kypo |
Question 4 - Free Form 4
Admin | Instructor | Trainee | |
---|---|---|---|
Answer | kypo | wrong | wrong |
Question 5 - Multiple Choice 1
For multiple choice questions, the table states which choices a user has to select.
Admin | Instructor | Trainee | |
---|---|---|---|
Answer | 1,3 | 2,4 | 1,2,3,4 |
Question 6 - Multiple Choice 2
Admin | Instructor | Trainee | |
---|---|---|---|
Answer | 2 | 1 | 1,2 |
Question 7 - Multiple Choice 3
Admin | Instructor | Trainee | |
---|---|---|---|
Answer | 1,2,3 | 2,3 | 1 |
Question 8 - Multiple Choice 4
Admin | Instructor | Trainee | |
---|---|---|---|
Answer | 1 | 1,4,5 | 2,3 |
Question 9 - Multiple Choice 5
Admin | Instructor | Trainee | |
---|---|---|---|
Answer | 1 | 1 | 1 |
11. Assessment Level - Test 2
This level contains Extended Matching Items questions. These are tables where rows are statements and columns are options (Selecting an option for each statement is mandatory).
To specify, which positions will each user select, a sequence of n numbers, relating to the columns(options) a user will select for n-th statement. A 1,3,2 means, that a user will select first option for the first statement, third option(column) for the second statement(row) and second option for the third statement.
Question 1 - Extended Matching Items 1
Admin | Instructor | Trainee | |
---|---|---|---|
Answer | 1,2 | 1,1 | 2,1 |
Question 2 - Extended Matching Items 2
Admin | Instructor | Trainee | |
---|---|---|---|
Answer | 1,1,1 | 2,1,3 | 2,1,2 |
Question 3 - Extended Matching Items 3
Admin | Instructor | Trainee | |
---|---|---|---|
Answer | 1,2 | 4,2 | 1,1 |
Question 4 - Extended Matching Items 4
Admin | Instructor | Trainee | |
---|---|---|---|
Answer | 1,1,2,1,1 | 1,2,2,1,1 | 1,2,2,1,1 |
Question 5 - Extended Matching Items 5
Admin | Instructor | Trainee | |
---|---|---|---|
Answer | 1 | 1 | 1 |
12. Info Level - Last level
Proceed to the next level.
13. Check the results of the participants
Game Levels
Note that Level is absent as it is not a game level and should be awarded 0 points for all players.
Participant | Level 2 | Level 3 | Level 4 | Level 5 | Level 6 | Level 7 | Level 8 | Total |
---|---|---|---|---|---|---|---|---|
Admin | 100 | 100 | 0 | 20 | 40 | 0 | 100 | 360 |
Instructor | 100 | 100 | 90 | 50 | 60 | 80 | 100 | 580 |
Trainee | 0 | 100 | 0 | 20 | 0 | 0 | 0 | 120 |
Test 1
Admin | Instructor | Trainee | |
---|---|---|---|
Total points | -60 | 188 | -5 |
This level is not split into questions in the results table. For this reason, each question is awarded higher amount of points than the previous one. Because of this, an error in one question can be found easily. As for multiple errors, good luck. Below is a table of points per question and what each participant scored, which should help with determining which questions were wrong.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
---|---|---|---|---|---|---|---|---|---|
Correct answer | 1 | 0 | 5 | 0 | 0 | 11 | 0 | 71 | 100 |
Wrong answer | 0 | -3 | -5 | 0 | 0 | 0 | -36 | -71 | -90 |
Admin | 1 | -3 | -5 | 0 | 0 | 0 | -36 | -71 | 100 |
Instructor | 1 | 0 | 5 | 0 | 0 | 11 | 0 | 71 | 100 |
Trainee | 0 | -3 | 5 | 0 | 0 | 0 | -36 | -71 | 100 |
Test 2
Admin | Instructor | Trainee | |
---|---|---|---|
Total points | 0 | 89 | 66 |
This level is again not split into questions in the results table (below is the same table as for Test 1).
1 | 2 | 3 | 4 | 5 | |
---|---|---|---|---|---|
Correct answer | 0 | 1 | 0 | 33 | 55 |
Wrong answer | 0 | 0 | -22 | -33 | -99 |
Admin | 0 | 0 | -22 | -33 | 55 |
Instructor | 0 | 1 | 0 | 33 | 55 |
Trainee | 0 | 0 | -22 | 33 | 55 |
Final Score
Admin | Instructor | Trainee | |
---|---|---|---|
Total points | 300 | 857 | 181 |
Post Game Visualisations
Check that the visualisations correspond to the actions taken in the run of the current participant.
14. Archive training instance and check all the data (logs, events, definition, etc.)
Make sure you can access the logs as they are critical for the following testing of adaptive training