If you have a question category with, say, 3 questions "A", "B", and "C", and you set up a quiz with a random question from this category, consecutive attempts won't be very different, as the algorithm that pick questions "randomly" picks first a (random) number of question "A", then another (random) number of question "B" and finally a (random) number of question "C". Then returns to "A".
The net result is that consecutive attempts will be, for instance: AAAAAAAAABBBBCCCCCCAAAABBBBBBCCAA...
Perhaps this could be fine if you have a lot of students and they aren't physically at the same place/classroom, but imagine a classroom with only 10 students: all of them can easily get the same question dataset, making "randomness" useless.
I think random questions should be picked taking, for each attempt, a different random number between 1 and the number of questions in the category, and then assigning the chosen question to the attempt.