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

question_variant_pseudorandom_no_repeats_strategy is insufficiently random

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.4.6, 2.5.2
    • 2.4.8, 2.5.4
    • Quiz
    • MOODLE_24_STABLE, MOODLE_25_STABLE
    • MOODLE_24_STABLE, MOODLE_25_STABLE
    • Hide
      1. Create a quiz:
        • do not set 'Each attempt builds on last'.
        • Allow unlimited attetmps.
        • add at least two calculated questions, each with a few dataset items, a different number of datasets each. (4 and 3 datasets each might be a good choice.)
      2. Duplicate the quiz.
      3. Start an attempt at each copy of the quiz with the same student user account.
        • VERIFY that you see different variants of each question. (Note there is a 1 in 12 change that the students actually see the same variant of both questions just be chance. If that happens test with another student or two, to check that they see different variants.)
        • NOTE the dataset values you are seeing.
      4. Submit that attempt, and start another.
        • NOTE the dataset values you are seeing.
      5. Repeat until you get back to the dataset value you started with for each question.
        • VERIFY that you saw all the dataset values before you saw a repeat.
      Show
      Create a quiz: do not set 'Each attempt builds on last'. Allow unlimited attetmps. add at least two calculated questions, each with a few dataset items, a different number of datasets each. (4 and 3 datasets each might be a good choice.) Duplicate the quiz. Start an attempt at each copy of the quiz with the same student user account. VERIFY that you see different variants of each question. (Note there is a 1 in 12 change that the students actually see the same variant of both questions just be chance. If that happens test with another student or two, to check that they see different variants.) NOTE the dataset values you are seeing. Submit that attempt, and start another. NOTE the dataset values you are seeing. Repeat until you get back to the dataset value you started with for each question. VERIFY that you saw all the dataset values before you saw a repeat.

    Description

      Steps to reproduce:

      1. Create a quiz using calculated questions.
      2. Duplicate that quiz.
      3. Start an attempt at each quiz using the same student account.

      Actual result: you get the same variant of each quiz in both attempts.

      Expected result: you get a different random variant in each quiz.

      See also https://moodle.org/mod/forum/discuss.php?d=216025

      The problem is with question_variant_pseudorandom_no_repeats_strategy. That only uses the userid, information from the question, and the quiz attempt number as input to the randomisation.

      We should also include some element specific to the quiz (or other thing using the question). Possibily contextid or quizid?

      Attachments

        Activity

          People

            timhunt Tim Hunt
            timhunt Tim Hunt
            Pierre Pichet Pierre Pichet
            Damyon Wiese Damyon Wiese
            Andrew Lyons Andrew Lyons
            Tim Hunt, Ilya Tregubov, Kevin Percy, Mathew May, Mihail Geshoski, Shamim Rezaie
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:
              13/Jan/14