Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-74610

Let a quiz have multiple total grades (e.g. for each section)

XMLWordPrintable

    • MOODLE_400_STABLE, MOODLE_403_STABLE
    • MOODLE_404_STABLE
    • Hide

      This is a significant new feature, which has solid test coverage. However, it seems appropriate to write some manual testing steps so that can be the basis for some related MDLQA tests.

      However, I am going to write this in a fairly open way, in the hope of encoraging some quite exploratory testing.

      Background

      1. You need one or more quizzes in a course, which has already had some questions added.
      2. ... where the questions are split over several pages and sections.
      3. Also, ensure some students are enrolled in the course.

      Setup

      1. As teacher start on the 'Questions' page in the question settings.
      2. In the tertiay navigation, choose 'Grade items setup'.
      3. Test the 'Setup a grade for each section' button.
      4. Test the 'Reset setup' button.
      5. Test adding, renaming and removing grade items manually.
      6. Test changing which grade item each question in the quiz is assigned to.

      Student view

      1. As student, attempt the quiz.
      2. After the attempt is submitted, Verify How the additional grades are displayed at the top of the review page.

      Quiz reports

      1. As teacher
      2. In the quiz navigation, go to Results
      3. In the grades report table, verify that the way the separate grade items are displayed as extra columns makes sense.

      Editing the grade setup after the quiz has been attempted.

      1. Verify that the grade setup can be changed after students have attempted the quiz, and that if you do, the quiz reports, and the stduent/teacher attempt review, get updated to reflect that.
      Show
      This is a significant new feature, which has solid test coverage. However, it seems appropriate to write some manual testing steps so that can be the basis for some related MDLQA tests. However, I am going to write this in a fairly open way, in the hope of encoraging some quite exploratory testing. Background You need one or more quizzes in a course, which has already had some questions added. ... where the questions are split over several pages and sections. Also, ensure some students are enrolled in the course. Setup As teacher start on the 'Questions' page in the question settings. In the tertiay navigation, choose 'Grade items setup'. Test the 'Setup a grade for each section' button. Test the 'Reset setup' button. Test adding, renaming and removing grade items manually. Test changing which grade item each question in the quiz is assigned to. Student view As student, attempt the quiz. After the attempt is submitted, Verify How the additional grades are displayed at the top of the review page. Quiz reports As teacher In the quiz navigation, go to Results In the grades report table, verify that the way the separate grade items are displayed as extra columns makes sense. Editing the grade setup after the quiz has been attempted. Verify that the grade setup can be changed after students have attempted the quiz, and that if you do, the quiz reports, and the stduent/teacher attempt review, get updated to reflect that.

      In the past people have asked for this in different ways. For example, calculating the grade for each section of the quiz, or based on the question bank category each question is in, but these are all just variants of the same underlying requirement: Having a student’s attempt at a particular quiz lead to several grades in the gradebook.

      There are other related grading requirements I have seen people ask for here. One goes like this: “To pass this quiz, students need to get an overall grade of 70%, but also, they need to get at least 50% on questions 7, 8 and 9 combined”. I think that the changes we propose to make can solve this. If the quiz puts two grades into the gradebook, one “overall grade” and one “grade for questions 7, 8 and 9” then you can use gradebook calculations to work out the right final result based on those two. Since this can be done in the gradebook, we should not duplicate that type of logic in the Quiz itself.

      Obviously, more detail is required before this can be implemented.

      Note, there are several duplciates, or near-duplicates of this, which I need ot sort out properly at some point:

      • MDL-21977 Quiz Reporting by Standards or Objectives
      • MDL-61548 Implement subscores in Quiz module
      • MDL-53639 Quizzes should be able to report scores/marks/grades for each section/question category/tag

      Proposed DB structure:

      quiz_grade_items (                -- New table.
        id INT AUTOINCREMENT,
        quizid INT NOT NULL  FK -> quiz.id
        sortorder INT NOT NULL
        name CHAR(255) NOT NULL,
      )
      -- Unique index on (quizid, sortorder)
       
       
      quiz_slots (                            -- Adding column to an existing table.
          ...
      +   quizgradeitemid INT  FK -> quiz_grade_items.id -- can be null, the default.
      

      Here are some screen-grabs of what was implemented:

      Initial state of the setup screen:

      ... and after setting some things up.

      In the quiz reports:

      And, when student or teacher reviews an attempt:

        1. 2024-03-06_15h07_42.mp4
          3.43 MB
        2. Attempt review.png
          Attempt review.png
          40 kB
        3. image-2024-03-19-11-43-08-247.png
          image-2024-03-19-11-43-08-247.png
          266 kB
        4. MDL-74610.bmpr
          176 kB
        5. MDL-74610-Editing the grade setup after the quiz has been attempted.png
          MDL-74610-Editing the grade setup after the quiz has been attempted.png
          339 kB
        6. MDL-74610-quiz report.png
          MDL-74610-quiz report.png
          371 kB
        7. MDL-74610-Setup_step4b.png
          MDL-74610-Setup_step4b.png
          136 kB
        8. MDL-74610-Setup_step4-confirmation.png
          MDL-74610-Setup_step4-confirmation.png
          101 kB
        9. MDL-74610-setup.png
          MDL-74610-setup.png
          413 kB
        10. MDL-74610-Setup-step3.png
          MDL-74610-Setup-step3.png
          92 kB
        11. MDL-74610- student view.png
          MDL-74610- student view.png
          290 kB
        12. MDL-74610-Test1_step2.png
          MDL-74610-Test1_step2.png
          82 kB
        13. MDL-74610-Test2-step3.png
          MDL-74610-Test2-step3.png
          280 kB
        14. MDL-74610-Test3-Student.png
          MDL-74610-Test3-Student.png
          62 kB
        15. MDL-74610-Test3-Teacher.png
          MDL-74610-Test3-Teacher.png
          305 kB
        16. Quiz report.png
          Quiz report.png
          15 kB
        17. Setup page - intial state.png
          Setup page - intial state.png
          49 kB
        18. Setup page - intial state - improved.png
          Setup page - intial state - improved.png
          36 kB
        19. Setup page - in use.png
          Setup page - in use.png
          57 kB
        20. Setup page - in use - improved.png
          Setup page - in use - improved.png
          67 kB
        21. UI tweaks.png
          UI tweaks.png
          61 kB

            Votes:
            9 Vote for this issue
            Watchers:
            36 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 12 weeks, 2 days, 5 hours, 50 minutes
                12w 2d 5h 50m

                  Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.