(These testing instructions are largely copied from MDL-26275, with a few changes)
Note that there are two known issues that you might encounter while testing.
MDL-32306. Shift tabbing in the grader report isnt quite correct.
MDL-31036. With quick feedback on you may encounter html tags in student feedback and have to un-override overridden grades twice.
When the testing instructions say to refresh the grader report this is most safely done by clicking "Grader report" in the navigation breadcrumbs. F5 refreshing should be avoided to avoid accidentally repeating non-ajax actions.
Go to a course with at least 10 students and at least five gradeable activities (and/or manual grade items). Set an activity to have a numeric grade and make a note of the maximum grade.
Make sure that your student doesn't already have an overridden grade for the activity. You can un-override a grade by going to the grader report, turning on editing, clicking the edit icon and unchecking the overridden checkbox. You may need to do this twice (MDL-31036).
Students per page safety net test
Count the number of grade items (including category/course totals)
Add or edit max_input_vars in php.ini. php.ini is at /etc/php5/apache2 for me but your location may be different.
Set max_input_vars to be more than the number of grade items per student but less than twice that number. For example, if you have 6 grade items (including totals), you could set max_input_vars to 10.
Restart apache and refresh the grader report. You should still see multiple students - up to (max_input_vars-1). You should only get a debug message similar to the following if you have more than (max_input_vars-1) students in the course:
Reduced maximum students per page from 20 to 10. Consider increasing the PHP setting max_input_vars from 10.
|
You may get other PHP warnings and errors because you've set max_input_vars so low as to make Moodle not work. Turn it back up. 1000 is the default. Restart apache.
Grader report ajax/non-ajax test
You may want to keep the grader report settings ("Grader report" under "My preferences" at the bottom of the dropdown) available in separate tabs for easy access; the report defaults are a site-wide setting.
Turn grade_report_enableajax OFF.
Turn grade_report_showquickfeedback ON.
Go to the grader report. Clicking in empty space in a student grade cell should do nothing.
Turn grader report ajax on and refresh the grader report. Now clicking on a cell should display two boxes. The first is for the student's grade. The second is for feedback. Enter something valid in both fields and press enter.
The grade should change (or appear if there was no previous grade) and the cell background color should change.
Refresh the grader report and check that the grade and feedback were saved.
Turn ajax off then turn editing on on the grader report. All the fields will display.
Click on edit hand/pencil icon in a student grade cell and check that the edit grade page loads after only a single click. You shouldn't have to click it twice.
Go back to the grader report. Enter a new grade and feedback for your student and click "Update". Check that the grade and feedback were updated.
Turn ajax on and refresh the grader report. Check that the "Update" button is hidden (may take a few seconds while the JS loads).
Enter another grade and different feedback and tab to another grade. Refresh the grader report and check that the changes were saved.
Enter another grade and different feedback and press enter without leaving the feedback field. Refresh the grader report and check that the changes were saved.
Go to an empty (no grade) grade cell. Enter a grade and tab away. Refresh the grader report and check that the grade was saved.
Turn off quick feedback and repeat the above.
Editing mode off, ajax off (nothing happens)
Editing mode off, ajax on
Editing mode on, ajax off
Editing mode on, ajax on
Choose another grade item that uses a custom scale. Repeat these again.
Editing mode off, ajax off (nothing happens)
Editing mode off, ajax on
Editing mode on, ajax off
Editing mode on, ajax on