How do I do this? I tried the way you suggested but then only first 10 are always shown and not the others
Then you didn't do it right. Here again in simple steps:
1. Create your question groups
2. Asign them all to the same Randomization Group (you basically give the same name in "Randomization Group" for all 30 groups).
3. Hide all but the first 10 groups, as described above
What will Limesurvey do?
It will randomize the different question groups in the same "randomization group" among each other. So group 10 might be on position 24, group 30 might be on position 5, etc.
But the respondent will only see those questions groups that fall randomly into the position 1-10, because 11 to 30 are hidden.
If in your case it always shows only question 1-10, you most probably skipped the part with asigning all questions groups to the same randomization group.